[alsa-devel] Small Regression in midi for M-Audio Fast Track Ultra.
In 2.6.33/34 when support originally was put in alsa mainline the MIDI ports were functional today they're not for me and I get the following in the kernel log when using this card. (Audio all works acceptably.)
[ 1846.736062] usb 2-1: new high speed USB device using ehci_hcd and address 4 [ 1846.869790] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x7 has invalid maxpacket 8 [ 1846.869802] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x87 has invalid maxpacket 8 [ 1846.870897] usb 2-1: New USB device found, idVendor=0763, idProduct=2080 [ 1846.870905] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1846.870912] usb 2-1: Product: Fast Track Ultra [ 1846.870917] usb 2-1: Manufacturer: M-Audio
This issue may be unrelated to the data below but it's included in case it's useful.
The midi port is interface 3 and has a comment in quirk-table.h like this
/* interface 3 (MIDI) is standard compliant */ { .ifnum = -1 }
Which is as I understand it a noop to the quirk stuff so that it just get's processed normally. Which could also be completely wrong.
I've verified in lsusb -v of the midi interface (3) of the card is below Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 3 MIDI Streaming bInterfaceProtocol 0 iInterface 5 MIDIStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 63 MIDIStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (MIDI_IN_JACK) bJackType 1 Embedded bJackID 1 iJack 0 MIDIStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (MIDI_IN_JACK) bJackType 2 External bJackID 2 iJack 0 MIDIStreaming Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 3 (MIDI_OUT_JACK) Warning: Descriptor too short bJackType 1 Embedded bJackID 3 bNrInputPins 1 baSourceID( 0) 2 BaSourcePin( 0) 1 iJack 8 MIDIStreaming Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 3 (MIDI_OUT_JACK) Warning: Descriptor too short bJackType 2 External bJackID 4 bNrInputPins 1 baSourceID( 0) 1 BaSourcePin( 0) 1 iJack 97 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x07 EP 7 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 8 MIDIStreaming Endpoint Descriptor: bLength 5 bDescriptorType 37 bDescriptorSubtype 1 (GENERAL) bNumEmbMIDIJack 1 baAssocJackID( 0) 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 0 MIDIStreaming Endpoint Descriptor: bLength 5 bDescriptorType 37 bDescriptorSubtype 1 (GENERAL) bNumEmbMIDIJack 1 baAssocJackID( 0) 3
Hi,
Am 16.04.2011 04:29, schrieb Grant Diffey:
In 2.6.33/34 when support originally was put in alsa mainline the MIDI ports were functional today they're not for me and I get the following in the kernel log when using this card. (Audio all works acceptably.)
I can confirm Grant's issue.
They are not related to any code specific to the M-Audio Fast Track Ultra (FTU) series:
Even after removing the FTU patches from current ALSA (git) the MIDI ports of the device will not be recognized.
Switching back to my oldest installed kernel (2.6.32) the FTU will be recognized as a MIDI interface (but as expected the PCM ports will not be recognized.)
Just to make sure, that I'm not missing anything:
* I've used 'amidi - l' to look for MIDI ports * Due to the deprecation of OSS in the kernel my Alsa configure line now includes '--with-oss=no --with-pcm-oss-plugins=no' which shouldn't have an effect but I mention it anyway
Any ideas?
Regards,
Felix
Hi Felix,
On Mon, Apr 18, 2011 at 10:37 AM, Felix Homann linuxaudio@showlabor.de wrote:
Am 16.04.2011 04:29, schrieb Grant Diffey:
In 2.6.33/34 when support originally was put in alsa mainline the MIDI ports were functional today they're not for me and I get the following in the kernel log when using this card. (Audio all works acceptably.)
I can confirm Grant's issue.
They are not related to any code specific to the M-Audio Fast Track Ultra (FTU) series:
Even after removing the FTU patches from current ALSA (git) the MIDI ports of the device will not be recognized.
Switching back to my oldest installed kernel (2.6.32) the FTU will be recognized as a MIDI interface (but as expected the PCM ports will not be recognized.)
Hmm, between these version, there was my huge refactoring of the usb-audio code, so this could indeed be related. However, most of my patches were for the audio part, and not for MIDI.
Just to make sure, that I'm not missing anything:
- I've used 'amidi - l' to look for MIDI ports
- Due to the deprecation of OSS in the kernel my Alsa configure line now
includes '--with-oss=no --with-pcm-oss-plugins=no' which shouldn't have an effect but I mention it anyway
I would rather start off with two source trees of the kernel (one for 2.6.32 and one for any newer version that doesn't work anymore) and then put lots of printk() lines to trace the functions. If you build the driver as modules in both cases, you can easily add more debug output on the fly without rebooting (some sort of "sudo rmmod ...; make SUBDIRS=sound/usb; sudo insmod ..." is what I usually do).
I would like to help more, but it's difficult without access to the hardware. Please let me know if you find out anything.
Daniel
Hi Daniel,
nice to "see" you again :-)
Am 23.04.2011 11:09, schrieb Daniel Mack:
Hmm, between these version, there was my huge refactoring of the usb-audio code, so this could indeed be related. However, most of my patches were for the audio part, and not for MIDI.
It happened on the transition from 2.6.34 to 2.6.35, i.e. exactly whithin the refactoring phase. I've sent a bisect log to the list some posts before. I've attached it to this mail again, in case you didn't see it. The last iteration would not result in a bootable kernel, so I've stopped there. (Actually I didn't stop there, but even guessing good/bad would not yield a bootable kernel in the next step).
Kind regards,
Felix
Grant Diffey wrote:
In 2.6.33/34 when support originally was put in alsa mainline the MIDI ports were functional today they're not [...] The midi port is interface 3 and has a comment in quirk-table.h like this
/* interface 3 (MIDI) is standard compliant */
Apparently, having no entry for an interface prevents the driver from looking at this interface at all.
Try replacing the comment with: { .iface = 3, .type = QUIRK_MIDI_STANDARD_INTERFACE },
Regards, Clemens
Thanks Clemens,
for your quick reply.
Am 18.04.2011 11:16, schrieb Clemens Ladisch:
Try replacing the comment with: { .iface = 3, .type = QUIRK_MIDI_STANDARD_INTERFACE },
I already tried that yesterday. It didn't change anything.
Remember, on my 2.6.32 kernel the MIDI part of that device will be recognized without any quirk for the FTU. If I remove all FTU related patches from current alsa-driver/alsa-kernel (over the Ubuntu 2.6.35-28-generic kernel) the device will not be recognized as a MIDI interface.
Regards,
Felix
Sorry, Clemens,
I must have messed around with too many Alsa versions on my machine, again. Your suggested fix _does_ fix the issue!
Would you mind adding this to the git tree? Or shall I prepare a patch?
Am 18.04.2011 11:16, schrieb Clemens Ladisch:
Try replacing the comment with: { .iface = 3, .type = QUIRK_MIDI_STANDARD_INTERFACE },
In the meantime I started a bisect session on the mainline kernel. The cause of this issue lies in the refactoring done last year. I couldn't identify the exact patch introducing the regression, though, since starting at step 10 the kernels would not boot. See the corresponding git bisect log (the last revision is the first one that would not boot).
Regards,
Felix
So I finally got around to building a new kernel today.
and after rebooting I get:
[ 131.832084] usb 2-1: new high speed USB device using ehci_hcd and address 3 [ 131.969795] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x7 has invalid maxpacket 8 [ 131.969800] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x87 has invalid maxpacket 8 [ 131.970886] usb 2-1: New USB device found, idVendor=0763, idProduct=2080 [ 131.970890] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 131.970892] usb 2-1: Product: Fast Track Ultra [ 131.970894] usb 2-1: Manufacturer: M-Audio [ 132.060121] usbcore: registered new interface driver snd-usb-audio nevyn@cetacea:~$ amidi -l Dir Device Name IO hw:1,0,0 Fast Track Ultra MIDI 1
Which is excellent and solves my problem.
now to find and apply that mixer patch.
Grant.
On Thu, Apr 21, 2011 at 6:25 AM, Felix Homann linuxaudio@showlabor.dewrote:
Sorry, Clemens,
I must have messed around with too many Alsa versions on my machine, again. Your suggested fix _does_ fix the issue!
Would you mind adding this to the git tree? Or shall I prepare a patch?
Am 18.04.2011 11:16, schrieb Clemens Ladisch:
Try replacing the comment with:
{ .iface = 3, .type = QUIRK_MIDI_STANDARD_INTERFACE },
In the meantime I started a bisect session on the mainline kernel. The cause of this issue lies in the refactoring done last year. I couldn't identify the exact patch introducing the regression, though, since starting at step 10 the kernels would not boot. See the corresponding git bisect log (the last revision is the first one that would not boot).
Regards,
Felix
oh here's a git patch if that helps
On Tue, Apr 26, 2011 at 7:17 PM, Grant Diffey gdiffey@gmail.com wrote:
So I finally got around to building a new kernel today.
and after rebooting I get:
[ 131.832084] usb 2-1: new high speed USB device using ehci_hcd and address 3 [ 131.969795] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x7 has invalid maxpacket 8 [ 131.969800] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x87 has invalid maxpacket 8 [ 131.970886] usb 2-1: New USB device found, idVendor=0763, idProduct=2080 [ 131.970890] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 131.970892] usb 2-1: Product: Fast Track Ultra [ 131.970894] usb 2-1: Manufacturer: M-Audio [ 132.060121] usbcore: registered new interface driver snd-usb-audio nevyn@cetacea:~$ amidi -l Dir Device Name IO hw:1,0,0 Fast Track Ultra MIDI 1
Which is excellent and solves my problem.
now to find and apply that mixer patch.
Grant.
On Thu, Apr 21, 2011 at 6:25 AM, Felix Homann linuxaudio@showlabor.dewrote:
Sorry, Clemens,
I must have messed around with too many Alsa versions on my machine, again. Your suggested fix _does_ fix the issue!
Would you mind adding this to the git tree? Or shall I prepare a patch?
Am 18.04.2011 11:16, schrieb Clemens Ladisch:
Try replacing the comment with:
{ .iface = 3, .type = QUIRK_MIDI_STANDARD_INTERFACE },
In the meantime I started a bisect session on the mainline kernel. The cause of this issue lies in the refactoring done last year. I couldn't identify the exact patch introducing the regression, though, since starting at step 10 the kernels would not boot. See the corresponding git bisect log (the last revision is the first one that would not boot).
Regards,
Felix
On Tue, Apr 26, 2011 at 11:42 AM, Grant Diffey gdiffey@gmail.com wrote:
oh here's a git patch if that helps
On Tue, Apr 26, 2011 at 7:17 PM, Grant Diffey gdiffey@gmail.com wrote:
So I finally got around to building a new kernel today.
and after rebooting I get:
[ 131.832084] usb 2-1: new high speed USB device using ehci_hcd and address 3 [ 131.969795] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x7 has invalid maxpacket 8 [ 131.969800] usb 2-1: config 1 interface 3 altsetting 0 bulk endpoint 0x87 has invalid maxpacket 8 [ 131.970886] usb 2-1: New USB device found, idVendor=0763, idProduct=2080 [ 131.970890] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 131.970892] usb 2-1: Product: Fast Track Ultra [ 131.970894] usb 2-1: Manufacturer: M-Audio [ 132.060121] usbcore: registered new interface driver snd-usb-audio nevyn@cetacea:~$ amidi -l Dir Device Name IO hw:1,0,0 Fast Track Ultra MIDI 1
Which is excellent and solves my problem.
Sorry everyone for the long absence - I've been travelling and it took me some weeks to get all my setup up and ready again.
Is there anything on this topic that is yet to be solved, anything I can help with?
Thanks, Daniel
participants (4)
-
Clemens Ladisch
-
Daniel Mack
-
Felix Homann
-
Grant Diffey