Re: ice1724 - TerraTec PHASE 22 no MIDI ports get created

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks a lot for your response, Pavel. You saved me from installingWindows to verify that my card isn't broken :-)
Still, I don't understand:1) Why is in phase.c ICE_EEP2_SYSCONF set to 0x00? What do differentvalues do here, and how do you know which is the correct value?2) When I looked up juli.c for 0x20, there is only:#define AK4114_ADDR             0x20            /* S/PDIF receiver */How come that 0x20 means MIDI?3) How come that juli.c has 0x2b and prodigy192.c has 0x6a inICE_EEP2_SYSCONF? Does that differ because of the "amount" of stuff onthat board, or some other reason? Again, how did you find out which isthe correct value to set here?4) Does the fact that 0x2b and 0x6a are larger than 0x20 makes MIDIget created? Or is it something else entirely?
I apologize if my questions are not apropriate, but I have juststarted exploring the depths of low-level coding and I still have verybasic understanding of stuff that is going around. Thanks for anyhelp.
2008/8/25 Pavel Hofman <pavel.hofman@xxxxxxxxx>:> Vedran Miletić wrote:>>>> Hi guys,>>>> There was "MIDI on ice1724" thread not-so-recently, and it had a patch>> attached. Changelog says that the patch was added to ALSA in 1.0.17.>>>> So I took out my dusty TerraTec PHASE 22 out of the closet (and>> removed the dust, of course :-) ), but I can't get MIDI to work there.>> Regardless of ALSA version (1.0.15 - 1.0.17, even 1.0.18rc1), I get no>> MIDI ports at all:>> vedran@kalopsia:~$ amidi -l>> Dir Device    Name>> vedran@kalopsia:~$>>>> Why don't MIDI ports get created? I tried looking at the source, but I>> couldn't figure out how this "creation of midi ports" happens (or>> doesn't happen, as in this case).>>>> See ice1724.c:snd_vt1724_probe line 2546:>> if (! c->no_mpu401) {>        if (ice->eeprom.data[ICE_EEP2_SYSCONF] & VT1724_CFG_MPU401) {>                        struct snd_rawmidi *rmidi;>>                        err = snd_rawmidi_new(card, "MIDI", 0, 0, 1, &rmidi);> ..................>>> The Phase cards in phase.c have no no_mpu401 defined BUT they do not have> the VT1724_CFG_MPU401 bit defined in their ICE_EEP2_SYSCONF eeprom byte. As> a result, the code creating midi device gets skipped.>> Take a look at juli.c and prodigy192c code (juli_eeprom[],> prodigy71_eeprom[]). They have the VT1724_CFG_MPU401 bit (0x20) set. You> should fix that by:>> --- a/pci/ice1712/phase.c> +++ b/pci/ice1712/phase.c> @@ -161,7 +161,8 @@ static int __devinit phase22_add_controls(struct> snd_ice1712>  }>>  static unsigned char phase22_eeprom[] __devinitdata = {> -       [ICE_EEP2_SYSCONF]     = 0x00,  /* 1xADC, 1xDACs */> +       [ICE_EEP2_SYSCONF]     = 0x00 | VT1724_CFG_MPU401,      /* 1xADC,> +                                                          1xDACs, mpu401 */>        [ICE_EEP2_ACLINK]      = 0x80,  /* I2S */>        [ICE_EEP2_I2S]         = 0xf8,  /* vol, 96k, 24bit */>        [ICE_EEP2_SPDIF]       = 0xc3,  /* out-en, out-int, spdif-in */>>>>> The same applies for phase28 if it offers midi.>> Regards,>> Pavel.>


-- Vedran Miletić_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux