* trying to get an eleven rack to work
@ 2012-03-17 23:17 David Alexander
2012-03-19 7:19 ` Grant Diffey
2012-03-20 13:19 ` Clemens Ladisch
0 siblings, 2 replies; 15+ messages in thread
From: David Alexander @ 2012-03-17 23:17 UTC (permalink / raw)
To: alsa-devel
Hi.
I bought and would like to get an eleven rack interface to work. It
is a usb gutiar amp emulator/audio interface. It is a avid/digi
device that normal uses asio vendor specific drivers.
When I plug it under Linux I get the following:
ls -l /proc/asound/card1
total 0
-r--r--r-- 1 root root 0 2012-03-17 18:57 id
-r--r--r-- 1 root root 0 2012-03-17 18:57 midi0
-r--r--r-- 1 root root 0 2012-03-17 18:57 usbbus
-r--r--r-- 1 root root 0 2012-03-17 18:57 usbid
lsusb -v for the device returns:
Bus 001 Device 003: ID 0dba:b011
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x0dba
idProduct 0xb011
bcdDevice 20.01
iManufacturer 1 Digidesign
iProduct 2 Eleven Rack
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 419
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 0
iInterface 3 Eleven Rack DFU
Device Firmware Upgrade Interface Descriptor:
bLength 7
bDescriptorType 33
bmAttributes 1
Will Not Detach
Manifestation Intolerant
Upload Unsupported
Download Supported
wDetachTimeout 2000 milliseconds
wTransferSize 1032 bytes
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 1
bInterfaceCount 4
bFunctionClass 255 Vendor Specific Class
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 2 Eleven Rack
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 32
iInterface 2 Eleven Rack
** UNRECOGNIZED: 09 24 01 00 02 0a ae 00 01
** UNRECOGNIZED: 11 24 02 00 01 01 00 80 06 00 00 00 00 00 00 00 00
** UNRECOGNIZED: 0c 24 03 03 01 06 00 40 80 00 00 00
** UNRECOGNIZED: 11 24 02 02 01 06 00 80 08 00 00 00 00 00 00 00 00
** UNRECOGNIZED: 0c 24 03 01 01 01 00 41 80 00 00 00
** UNRECOGNIZED: 10 24 09 20 ff ff 01 00 06 00 00 00 00 00 01 00
** UNRECOGNIZED: 1a 24 04 40 02 20 02 06 00 00 00 00 00 00 00
00 00 0c 30 c3 0c 30 c3 00 00 00
** UNRECOGNIZED: 16 24 04 41 01 02 08 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
** UNRECOGNIZED: 0a 24 0b 80 03 81 82 83 03 00
** UNRECOGNIZED: 08 24 0a 81 03 03 00 00
** UNRECOGNIZED: 08 24 0a 82 00 05 00 00
** UNRECOGNIZED: 08 24 0a 83 00 05 00 00
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 67
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 4 Rig
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 2
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 3
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 4 Rig
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 4
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 5
iJack 5 External
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 6
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 7
bNrInputPins 1
baSourceID( 0) 6
BaSourcePin( 0) 1
iJack 5 External
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 8
bNrInputPins 1
baSourceID( 0) 5
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
MIDIStreaming Endpoint Descriptor:
bLength 6
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 2
baAssocJackID( 0) 1
baAssocJackID( 1) 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
MIDIStreaming Endpoint Descriptor:
bLength 6
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 2
baAssocJackID( 0) 3
baAssocJackID( 1) 7
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 32
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 32
iInterface 0
** UNRECOGNIZED: 10 24 01 00 00 01 01 00 00 00 06 00 00 00 00 00
** UNRECOGNIZED: 06 24 02 01 04 20
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x01a0 1x 416 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 32
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 32
iInterface 0
** UNRECOGNIZED: 10 24 01 01 00 01 01 00 00 00 08 00 00 00 00 00
** UNRECOGNIZED: 06 24 02 01 04 20
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x01a0 1x 416 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
I am completely new to this, but if someone can point me in the right
direction...I would appreciate it, I have just started trying to
learn about this and my limited understanding is that it would require
some additional coding in the quirks code for the snd-usb-audio
driver. How can I determine what the quirks are? Does there exist
any documentation or how-tos that I can look for on this? Any help or
suggestions are appreciated.
sincerely,
David Alexander
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: trying to get an eleven rack to work 2012-03-17 23:17 trying to get an eleven rack to work David Alexander @ 2012-03-19 7:19 ` Grant Diffey 2012-03-20 13:19 ` Clemens Ladisch 1 sibling, 0 replies; 15+ messages in thread From: Grant Diffey @ 2012-03-19 7:19 UTC (permalink / raw) To: David Alexander, Clemens Ladisch, Daniel Mack; +Cc: alsa-devel On Sun, Mar 18, 2012 at 10:17 AM, David Alexander <lidxv0n@gmail.com> wrote: > Hi. > > I bought and would like to get an eleven rack interface to work. It > is a usb gutiar amp emulator/audio interface. It is a avid/digi > device that normal uses asio vendor specific drivers. > > Appologies to all for 2 copies I forgot alsa-devel. David, So it should show up when plugged in as a midi device but the audio i/o is typical m-audio almost but not quiet compliant. so you do need a quirk based on reading the lsusb output above my guess is: Interface 0 is a DFU firmware upgrade Interface 1 is really custom (perhaps some sort of custom control/management thing tho I would of thought they'd use midi sysex for that) Interface 2 is the midi Interface 3 looks like maybe a usb mixer without a descriptor? but that's a guess. Interface 4 is potentially usb2 audio output Interface 5 is potentially usb2 audio input. So if you were to look at the fast track ultra quirk building something that can get audio in and out should be straightforward. (ignore the mixer using QUIRK_IGNORE_INTERFACE or whatever the right macro name is) that said. there is a devil in the detail here... which is.. Transfer Type Isochronous Synch Type Asynchronous Usage Type Implicit feedback Data on interface 5 indicates this is implicit feedback used for clocking control... of the output on interface 4 This is not supported by the alsa snd-usb driver but work is underway to add support for this usb transfer mode. Regards Grant. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-03-17 23:17 trying to get an eleven rack to work David Alexander 2012-03-19 7:19 ` Grant Diffey @ 2012-03-20 13:19 ` Clemens Ladisch [not found] ` <CAOyn=DE6adyJA25wgy-NraAjkPUP2HC6FQ0m8p84XATXQphcrw@mail.gmail.com> 2012-03-23 5:57 ` Grant Diffey 1 sibling, 2 replies; 15+ messages in thread From: Clemens Ladisch @ 2012-03-20 13:19 UTC (permalink / raw) To: David Alexander; +Cc: alsa-devel David Alexander wrote: > I bought and would like to get an eleven rack interface to work. It > is a usb gutiar amp emulator/audio interface. It is a avid/digi > device that normal uses asio vendor specific drivers. > > Interface Association: > bFunctionClass 255 Vendor Specific Class Indeed. > bInterfaceNumber 1 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 1 > bInterfaceProtocol 32 > ** UNRECOGNIZED: 09 24 01 00 02 0a ae 00 01 ... This looks like it's mostly standard compliant; please try to add this entry to sound/usb/quirks-table.h: { USB_DEVICE(0x, 0x), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .vendor_name = "M-Audio", .product_name = "MidiSport 2x4", .ifnum = QUIRK_ANY_INTERFACE, .type = QUIRK_COMPOSITE, .data = & (const struct snd_usb_audio_quirk[]) { { .ifnum = 1, .type = QUIRK_AUDIO_STANDARD_MIXER }, { .ifnum = 2, .type = QUIRK_MIDI_STANDARD_INTERFACE }, { .ifnum = 3, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = 4, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = -1 } } } } > Transfer Type Isochronous > Synch Type Asynchronous > Usage Type Implicit feedback Data Playback is likely to be not correctly synchronized. Regards, Clemens ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <CAOyn=DE6adyJA25wgy-NraAjkPUP2HC6FQ0m8p84XATXQphcrw@mail.gmail.com>]
* Re: trying to get an eleven rack to work [not found] ` <CAOyn=DE6adyJA25wgy-NraAjkPUP2HC6FQ0m8p84XATXQphcrw@mail.gmail.com> @ 2012-03-22 15:13 ` Clemens Ladisch 0 siblings, 0 replies; 15+ messages in thread From: Clemens Ladisch @ 2012-03-22 15:13 UTC (permalink / raw) To: David Alexander; +Cc: alsa-devel David Alexander wrote: > didn't seem to make any difference Are there any error messages in the system log when you're loading the driver? Regards, Clemens ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-03-20 13:19 ` Clemens Ladisch [not found] ` <CAOyn=DE6adyJA25wgy-NraAjkPUP2HC6FQ0m8p84XATXQphcrw@mail.gmail.com> @ 2012-03-23 5:57 ` Grant Diffey [not found] ` <4F718114.5020602@ladisch.de> 1 sibling, 1 reply; 15+ messages in thread From: Grant Diffey @ 2012-03-23 5:57 UTC (permalink / raw) To: Clemens Ladisch, Daniel Mack; +Cc: alsa-devel, David Alexander [snip] Clemens/Daniel, Does this seem more complete given that DFU and Midi are Class compliant my guess at the interface purposes from David's post are: Interface 0 is a DFU firmware upgrade // looks usb class compliant. Interface 1 is really custom (perhaps some sort of custom control/management thing tho I would of thought they'd use midi sysex for that) Interface 2 is the midi //looks 100% standards compliant (works?) Interface 3 looks like maybe a usb mixer without a descriptor? but that's a guess. Interface 4 is potentially usb2 audio output // looks similar to the maudioi fast track isosyncronous outputs Interface 5 is potentially usb2 audio input. // "" So that all said. can USB_DEVICE_VENDOR_SPEC deal with out of order compliant/quirked interfaces or only sequencial?? Would this look more like it using USB_DEVICE_VENDOR_SPEC? USB_DEVICE_VENDOR_SPEC(0x0dba, 0xb011), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .vendor_name = "Digidesign", .product_name = "Eleven Rack", .ifnum = QUIRK_ANY_INTERFACE, .type = QUIRK_COMPOSITE, .data = & (const struct snd_usb_audio_quirk[]) { { .ifnum = 1, .type = QUIRK_IGNORE_INTERFACE }, { .ifnum = 3, .type = QUIRK_AUDIO_STANDARD_MIXER }, { .ifnum = 4, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = 5, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = -1 } } } } Will a quirk with no usbid work (assuming david didn't edit what clemens posted) ? My gut feeling is that the mixer is missing all the endpoint and route stuff so we'll need to build a model of the mixer by sniffing the usb. Grant. ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <4F718114.5020602@ladisch.de>]
[parent not found: <CAOyn=DFig0m1zFRWyTE6Neimrcy12PPAoNL8BdFVaAUrYEYbGw@mail.gmail.com>]
* Re: trying to get an eleven rack to work [not found] ` <CAOyn=DFig0m1zFRWyTE6Neimrcy12PPAoNL8BdFVaAUrYEYbGw@mail.gmail.com> @ 2012-03-28 16:53 ` David Alexander 2012-03-29 7:08 ` Clemens Ladisch 1 sibling, 0 replies; 15+ messages in thread From: David Alexander @ 2012-03-28 16:53 UTC (permalink / raw) To: alsa-devel@alsa-project.org ---------- Forwarded message ---------- From: "David Alexander" <lidxv0n@gmail.com> Date: Mar 27, 2012 10:45 PM Subject: Re: [alsa-devel] trying to get an eleven rack to work To: "Clemens Ladisch" <clemens@ladisch.de> Grant & Clemens, Sorry for the delay in getting the dev box set up. Here are the errors listed from the syslog with the suggested additions to quirks-table.h implemented: kernel: [ 74.128035] usb 2-4: new high speed USB device number 2 using ehci_hcd mtp-probe: checking bus 2, device 2: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-4" mtp-probe: bus: 2, device: 2 was not an MTP device kernel: [ 74.634592] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 kernel: [ 74.634606] snd-usb-audio: probe of 2-4:1.0 failed with error -5 kernel: [ 74.635228] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 kernel: [ 74.635246] snd-usb-audio: probe of 2-4:1.1 failed with error -5 kernel: [ 74.635717] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 kernel: [ 74.635732] snd-usb-audio: probe of 2-4:1.2 failed with error -5 kernel: [ 74.636515] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 kernel: [ 74.636529] snd-usb-audio: probe of 2-4:1.3 failed with error -5 kernel: [ 74.636973] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 kernel: [ 74.636986] snd-usb-audio: probe of 2-4:1.4 failed with error -5 kernel: [ 74.637027] usbcore: registered new interface driver snd-usb-audio Thank you, David On Tue, Mar 27, 2012 at 4:57 AM, Clemens Ladisch <clemens@ladisch.de> wrote: > Grant Diffey wrote: >> my guess at the interface purposes from David's post are: >> >> Interface 1 is really custom (perhaps some sort of custom control/management thing tho I would of thought they'd use midi sysex for that) > > It's an audio control interface, just marked as vendor-specific. > >> Interface 3 looks like maybe a usb mixer without a descriptor? but that's a guess. > > Interface 3 is audio output. > >> Interface 4 is potentially usb2 audio output // looks similar to the maudioi fast track isosyncronous outputs > > Interface 4 is audio input, it has only an input endpoint. > >> Interface 5 is potentially usb2 audio input. // "" > > There is no interface 5. > >> can USB_DEVICE_VENDOR_SPEC deal with out of order compliant/quirked interfaces or only sequencial?? > > The one has nothing to do with the other. > > > Regards, > Clemens ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work [not found] ` <CAOyn=DFig0m1zFRWyTE6Neimrcy12PPAoNL8BdFVaAUrYEYbGw@mail.gmail.com> 2012-03-28 16:53 ` David Alexander @ 2012-03-29 7:08 ` Clemens Ladisch 2012-03-29 14:02 ` David Alexander 1 sibling, 1 reply; 15+ messages in thread From: Clemens Ladisch @ 2012-03-29 7:08 UTC (permalink / raw) To: David Alexander, Daniel Mack; +Cc: alsa-devel David Alexander wrote: > kernel: [ 74.128035] usb 2-4: new high speed USB device number 2 > kernel: [ 74.634592] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > kernel: [ 74.634606] snd-usb-audio: probe of 2-4:1.0 failed with error -5 0x09 is UAC2's EXTENSION_UNIT, which should not be a reason for failing. Please try the patch below. Regards, Clemens --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -1926,7 +1926,7 @@ static int parse_audio_unit(struct mixer_build *state, int unitid) return parse_audio_processing_unit(state, unitid, p1); default: snd_printk(KERN_ERR "usbaudio: unit %u: unexpected type 0x%02x\n", unitid, p1[2]); - return -EINVAL; + return 0; } } ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-03-29 7:08 ` Clemens Ladisch @ 2012-03-29 14:02 ` David Alexander 2012-03-30 17:27 ` David Alexander 0 siblings, 1 reply; 15+ messages in thread From: David Alexander @ 2012-03-29 14:02 UTC (permalink / raw) To: Clemens Ladisch; +Cc: alsa-devel, Daniel Mack Here is what I am getting after having changed the line in mixer.c: [ 92.284035] usb 2-4: new high speed USB device number 2 using ehci_hcd [ 92.815354] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 92.815382] snd-usb-audio: probe of 2-4:1.0 failed with error -5 [ 92.816352] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 92.816372] snd-usb-audio: probe of 2-4:1.1 failed with error -5 [ 92.816966] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 92.816980] snd-usb-audio: probe of 2-4:1.2 failed with error -5 [ 92.817960] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 92.817972] snd-usb-audio: probe of 2-4:1.3 failed with error -5 [ 92.818587] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 92.818598] snd-usb-audio: probe of 2-4:1.4 failed with error -5 [ 92.818638] usbcore: registered new interface driver snd-usb-audio I noticed that I am not getting an entry under /proc/asound that I had before. Before I got an entry called "Rack" with a sym link to card1: /proc/asound$ ls -l total 0 dr-xr-xr-x 5 root root 0 2012-03-29 09:52 card0 -r--r--r-- 1 root root 0 2012-03-29 10:01 cards -r--r--r-- 1 root root 0 2012-03-29 10:01 devices -r--r--r-- 1 root root 0 2012-03-29 10:01 hwdep lrwxrwxrwx 1 root root 5 2012-03-29 10:01 Intel -> card0 -r--r--r-- 1 root root 0 2012-03-29 10:01 modules -r--r--r-- 1 root root 0 2012-03-29 10:01 pcm dr-xr-xr-x 2 root root 0 2012-03-29 10:01 seq -r--r--r-- 1 root root 0 2012-03-29 10:01 timers -r--r--r-- 1 root root 0 2012-03-29 10:01 version Thank you, David On Thu, Mar 29, 2012 at 3:08 AM, Clemens Ladisch <clemens@ladisch.de> wrote: > David Alexander wrote: >> kernel: [ 74.128035] usb 2-4: new high speed USB device number 2 >> kernel: [ 74.634592] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 >> kernel: [ 74.634606] snd-usb-audio: probe of 2-4:1.0 failed with error -5 > > 0x09 is UAC2's EXTENSION_UNIT, which should not be a reason for failing. > Please try the patch below. > > > Regards, > Clemens > > > --- a/sound/usb/mixer.c > +++ b/sound/usb/mixer.c > @@ -1926,7 +1926,7 @@ static int parse_audio_unit(struct mixer_build *state, int unitid) > return parse_audio_processing_unit(state, unitid, p1); > default: > snd_printk(KERN_ERR "usbaudio: unit %u: unexpected type 0x%02x\n", unitid, p1[2]); > - return -EINVAL; > + return 0; > } > } > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-03-29 14:02 ` David Alexander @ 2012-03-30 17:27 ` David Alexander [not found] ` <CACckToX-kqDyM6sFW_9in64cgO5RQekA-J=EEHSXxgsxEuMk=Q@mail.gmail.com> 0 siblings, 1 reply; 15+ messages in thread From: David Alexander @ 2012-03-30 17:27 UTC (permalink / raw) To: alsa-devel Grant, You had mentioned something about the end point for the mixer. I have found this information from the trace I had performed: >From a dispatch urb_function_get_descriptor_from_device message under the fid_USBPORT_Endpoint_Descriptor: fid_bLength 7 fid_bDescriptortype 5 fid_bEndpointAddress 0 fid_bmAttributes 0 fid_wMaxPacketSize 64 fid_bInterval 0 Is this what you were asking about, and does it help us? thanks, David On Thu, Mar 29, 2012 at 10:02 AM, David Alexander <lidxv0n@gmail.com> wrote: > Here is what I am getting after having changed the line in mixer.c: > > [ 92.284035] usb 2-4: new high speed USB device number 2 using ehci_hcd > [ 92.815354] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 92.815382] snd-usb-audio: probe of 2-4:1.0 failed with error -5 > [ 92.816352] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 92.816372] snd-usb-audio: probe of 2-4:1.1 failed with error -5 > [ 92.816966] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 92.816980] snd-usb-audio: probe of 2-4:1.2 failed with error -5 > [ 92.817960] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 92.817972] snd-usb-audio: probe of 2-4:1.3 failed with error -5 > [ 92.818587] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 92.818598] snd-usb-audio: probe of 2-4:1.4 failed with error -5 > [ 92.818638] usbcore: registered new interface driver snd-usb-audio > > > I noticed that I am not getting an entry under /proc/asound that I had > before. Before I got an entry called "Rack" with a sym link to card1: > > /proc/asound$ ls -l > total 0 > dr-xr-xr-x 5 root root 0 2012-03-29 09:52 card0 > -r--r--r-- 1 root root 0 2012-03-29 10:01 cards > -r--r--r-- 1 root root 0 2012-03-29 10:01 devices > -r--r--r-- 1 root root 0 2012-03-29 10:01 hwdep > lrwxrwxrwx 1 root root 5 2012-03-29 10:01 Intel -> card0 > -r--r--r-- 1 root root 0 2012-03-29 10:01 modules > -r--r--r-- 1 root root 0 2012-03-29 10:01 pcm > dr-xr-xr-x 2 root root 0 2012-03-29 10:01 seq > -r--r--r-- 1 root root 0 2012-03-29 10:01 timers > -r--r--r-- 1 root root 0 2012-03-29 10:01 version > > > Thank you, > David > > On Thu, Mar 29, 2012 at 3:08 AM, Clemens Ladisch <clemens@ladisch.de> wrote: >> David Alexander wrote: >>> kernel: [ 74.128035] usb 2-4: new high speed USB device number 2 >>> kernel: [ 74.634592] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 >>> kernel: [ 74.634606] snd-usb-audio: probe of 2-4:1.0 failed with error -5 >> >> 0x09 is UAC2's EXTENSION_UNIT, which should not be a reason for failing. >> Please try the patch below. >> >> >> Regards, >> Clemens >> >> >> --- a/sound/usb/mixer.c >> +++ b/sound/usb/mixer.c >> @@ -1926,7 +1926,7 @@ static int parse_audio_unit(struct mixer_build *state, int unitid) >> return parse_audio_processing_unit(state, unitid, p1); >> default: >> snd_printk(KERN_ERR "usbaudio: unit %u: unexpected type 0x%02x\n", unitid, p1[2]); >> - return -EINVAL; >> + return 0; >> } >> } >> ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <CACckToX-kqDyM6sFW_9in64cgO5RQekA-J=EEHSXxgsxEuMk=Q@mail.gmail.com>]
* Re: trying to get an eleven rack to work [not found] ` <CACckToX-kqDyM6sFW_9in64cgO5RQekA-J=EEHSXxgsxEuMk=Q@mail.gmail.com> @ 2012-04-02 17:50 ` David Alexander 2012-04-03 15:36 ` David Alexander 0 siblings, 1 reply; 15+ messages in thread From: David Alexander @ 2012-04-02 17:50 UTC (permalink / raw) To: Grant Diffey; +Cc: alsa-devel Grant, I had an entry using the USB_DEVICE which is very similar to the one you suggested. I changed it over to the USB_DEVICE_VENDOR_SPEC you had listed. I am getting: [ 60.952067] usb 2-4: new high speed USB device number 2 using ehci_hcd [ 61.468413] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 61.468433] snd-usb-audio: probe of 2-4:1.1 failed with error -5 [ 61.469257] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 61.469266] snd-usb-audio: probe of 2-4:1.3 failed with error -5 [ 61.469280] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 [ 61.469285] snd-usb-audio: probe of 2-4:1.4 failed with error -5 [ 61.469305] usbcore: registered new interface driver snd-usb-audio and I have entries in /proc/asound as before: ls -l total 0 -r--r--r-- 1 root root 0 2012-04-02 13:47 id -r--r--r-- 1 root root 0 2012-04-02 13:47 midi0 -r--r--r-- 1 root root 0 2012-04-02 13:47 usbbus -r--r--r-- 1 root root 0 2012-04-02 13:47 usbid Those entries had disappeared after making the changed to mixer.c. It didn't seem to be the magic bullet though, as I need some sort of pcm entries to be created? What is the difference between the usb_device and usb_device_vendor_spec? Any other ideas? thanks, David On Fri, Mar 30, 2012 at 5:02 PM, Grant Diffey <gdiffey@gmail.com> wrote: > > On Sat, Mar 31, 2012 at 4:27 AM, David Alexander <lidxv0n@gmail.com> wrote: >> >> Grant, >> >> You had mentioned something about the end point for the mixer. I have >> found this information from the trace I had performed: >> >> From a dispatch urb_function_get_descriptor_from_device message under >> the fid_USBPORT_Endpoint_Descriptor: >> >> fid_bLength 7 >> fid_bDescriptortype 5 >> fid_bEndpointAddress 0 >> fid_bmAttributes 0 >> fid_wMaxPacketSize 64 >> fid_bInterval 0 >> >> Is this what you were asking about, and does it help us? >> >> thanks, >> David >> >> >> > > What does the quirk look like that you have now? because what I wrote was > wrong. > > it seems I can't count to 5 :) > > so based on what Clemens said and me re-reading the interface descriptor > > Interface 0 is dfu upload > Interface 1 is a mixer > > Interface 2 is the midi > Interface 3 is audio output > Interface 4 is audio Input and provides clock data for output > > 0 and 2 were previously recognised so do not need to be quirked. > > so I think this is what the quirk should look like: > > > USB_DEVICE_VENDOR_SPEC(0x0dba, 0xb011), > > .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { > .vendor_name = "Digidesign", > .product_name = "Eleven Rack", > .ifnum = QUIRK_ANY_INTERFACE, > .type = QUIRK_COMPOSITE, > .data = & (const struct snd_usb_audio_quirk[]) { > > { > .ifnum = 1, > .type = QUIRK_AUDIO_STANDARD_MIXER > }, > { > .ifnum = 3, > .type = QUIRK_AUDIO_STANDARD_INTERFACE > > }, > { > .ifnum = 4, > .type = QUIRK_AUDIO_STANDARD_INTERFACE > }, > { > .ifnum = -1 > } > } > } > } > > is that similar to what you have? > > Grant. > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-04-02 17:50 ` David Alexander @ 2012-04-03 15:36 ` David Alexander 2012-04-03 19:20 ` Clemens Ladisch 0 siblings, 1 reply; 15+ messages in thread From: David Alexander @ 2012-04-03 15:36 UTC (permalink / raw) To: Grant Diffey; +Cc: alsa-devel Grant & Clemens, I have come across some code written for another device by the same company for another product (Digidesign MBox 2). It appears that for this other device to function there is a boot sequence that needs to be sent to the device to work. From the comments in the code: /* From USB Snoop, * * SetupPacket = RT RQ VHVL INDX SIZE * RT = 0xRT Request Type * RQ = 0xRQ Request * VHVL = 0xVLVH Value in reverse byte order * INDX = 0xDXIN Index in reverse byte order * SIZE = 0xZESI Size in reverse byte order * * Magic boot code setup packet: c0 85 01 00 00 00 12 00 * RQ RT VLVH DXIN ZESI * becomes 0x85, 0xc0, 0x0001, 0x0000, &RETURNDATA, 0x0012, TIMEOUT * for snd_usb_ctl_msg() */ I have a logfile from a usb snoop on windows and was wondering if you could give me any pointers of what to look for if something like this is also required for the eleven rack device. I see a urb_function_select_configuration, and many urb_function_control_transfer with data that says the data is going from the host to device. Can you offer any suggestions as to anything I should be looking for that might be outside of what is "normal" and requires some sort of data string be sent to the device to get it to operate normally? Thank you, David On Mon, Apr 2, 2012 at 1:50 PM, David Alexander <lidxv0n@gmail.com> wrote: > Grant, > > I had an entry using the USB_DEVICE which is very similar to the one > you suggested. I changed it over to the USB_DEVICE_VENDOR_SPEC you > had listed. > > I am getting: > > [ 60.952067] usb 2-4: new high speed USB device number 2 using ehci_hcd > [ 61.468413] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 61.468433] snd-usb-audio: probe of 2-4:1.1 failed with error -5 > [ 61.469257] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 61.469266] snd-usb-audio: probe of 2-4:1.3 failed with error -5 > [ 61.469280] ALSA mixer.c:1938 usbaudio: unit 32: unexpected type 0x09 > [ 61.469285] snd-usb-audio: probe of 2-4:1.4 failed with error -5 > [ 61.469305] usbcore: registered new interface driver snd-usb-audio > > and I have entries in /proc/asound as before: > > ls -l > total 0 > -r--r--r-- 1 root root 0 2012-04-02 13:47 id > -r--r--r-- 1 root root 0 2012-04-02 13:47 midi0 > -r--r--r-- 1 root root 0 2012-04-02 13:47 usbbus > -r--r--r-- 1 root root 0 2012-04-02 13:47 usbid > > Those entries had disappeared after making the changed to mixer.c. > > It didn't seem to be the magic bullet though, as I need some sort of > pcm entries to be created? What is the difference between the > usb_device and usb_device_vendor_spec? Any other ideas? > > thanks, > David > > On Fri, Mar 30, 2012 at 5:02 PM, Grant Diffey <gdiffey@gmail.com> wrote: >> >> On Sat, Mar 31, 2012 at 4:27 AM, David Alexander <lidxv0n@gmail.com> wrote: >>> >>> Grant, >>> >>> You had mentioned something about the end point for the mixer. I have >>> found this information from the trace I had performed: >>> >>> From a dispatch urb_function_get_descriptor_from_device message under >>> the fid_USBPORT_Endpoint_Descriptor: >>> >>> fid_bLength 7 >>> fid_bDescriptortype 5 >>> fid_bEndpointAddress 0 >>> fid_bmAttributes 0 >>> fid_wMaxPacketSize 64 >>> fid_bInterval 0 >>> >>> Is this what you were asking about, and does it help us? >>> >>> thanks, >>> David >>> >>> >>> >> >> What does the quirk look like that you have now? because what I wrote was >> wrong. >> >> it seems I can't count to 5 :) >> >> so based on what Clemens said and me re-reading the interface descriptor >> >> Interface 0 is dfu upload >> Interface 1 is a mixer >> >> Interface 2 is the midi >> Interface 3 is audio output >> Interface 4 is audio Input and provides clock data for output >> >> 0 and 2 were previously recognised so do not need to be quirked. >> >> so I think this is what the quirk should look like: >> >> >> USB_DEVICE_VENDOR_SPEC(0x0dba, 0xb011), >> >> .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { >> .vendor_name = "Digidesign", >> .product_name = "Eleven Rack", >> .ifnum = QUIRK_ANY_INTERFACE, >> .type = QUIRK_COMPOSITE, >> .data = & (const struct snd_usb_audio_quirk[]) { >> >> { >> .ifnum = 1, >> .type = QUIRK_AUDIO_STANDARD_MIXER >> }, >> { >> .ifnum = 3, >> .type = QUIRK_AUDIO_STANDARD_INTERFACE >> >> }, >> { >> .ifnum = 4, >> .type = QUIRK_AUDIO_STANDARD_INTERFACE >> }, >> { >> .ifnum = -1 >> } >> } >> } >> } >> >> is that similar to what you have? >> >> Grant. >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-04-03 15:36 ` David Alexander @ 2012-04-03 19:20 ` Clemens Ladisch 2012-04-03 19:37 ` David Alexander 0 siblings, 1 reply; 15+ messages in thread From: Clemens Ladisch @ 2012-04-03 19:20 UTC (permalink / raw) To: David Alexander; +Cc: Grant Diffey, alsa-devel, Daniel Mack David Alexander wrote: > I have come across some code written for another device by the same > company for another product (Digidesign MBox 2). The Mbox 2 uses a vendor-specific protocol; your device does not. The Eleven Rack would work with the USB Audio 2.0 support of the Linux driver, except that some parts of the USB Audio 2.0 specification are not implemented. Regards, Clemens ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-04-03 19:20 ` Clemens Ladisch @ 2012-04-03 19:37 ` David Alexander 2012-04-04 4:33 ` Grant Diffey 2012-04-04 13:49 ` Clemens Ladisch 0 siblings, 2 replies; 15+ messages in thread From: David Alexander @ 2012-04-03 19:37 UTC (permalink / raw) To: Clemens Ladisch; +Cc: Grant Diffey, alsa-devel, Daniel Mack Clemens, Thank you for the clarification. Since we've tried the entries in the quirks-table.h and the change to mixer.c, and its still not working...have we went as far as we can until the other parts of the specification are implemented? Is there anything else device related that I can do, or is it a case of waiting until the backend infrastructure is in place? thank you, David On Tue, Apr 3, 2012 at 3:20 PM, Clemens Ladisch <clemens@ladisch.de> wrote: > David Alexander wrote: >> I have come across some code written for another device by the same >> company for another product (Digidesign MBox 2). > > The Mbox 2 uses a vendor-specific protocol; your device does not. > > The Eleven Rack would work with the USB Audio 2.0 support of the Linux > driver, except that some parts of the USB Audio 2.0 specification are > not implemented. > > > Regards, > Clemens ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-04-03 19:37 ` David Alexander @ 2012-04-04 4:33 ` Grant Diffey 2012-04-04 13:49 ` Clemens Ladisch 1 sibling, 0 replies; 15+ messages in thread From: Grant Diffey @ 2012-04-04 4:33 UTC (permalink / raw) To: David Alexander; +Cc: alsa-devel, Clemens Ladisch, Daniel Mack David, Can you please paste the current quirk definition you're using from quirk-table.h ? from what I understand it should work. like get sound in/out playback syncronisation is likely to be bad due to snd-usb-audio not supporting implicit feedback. Grant. On Wed, Apr 4, 2012 at 5:37 AM, David Alexander <lidxv0n@gmail.com> wrote: > Clemens, > > Thank you for the clarification. Since we've tried the entries in > the quirks-table.h and the change to mixer.c, and > its still not working...have we went as far as we can until the other > parts of the specification are implemented? > > Is there anything else device related that I can do, or is it a case > of waiting until the backend infrastructure is in place? > > thank you, > David > > On Tue, Apr 3, 2012 at 3:20 PM, Clemens Ladisch <clemens@ladisch.de> > wrote: > > David Alexander wrote: > >> I have come across some code written for another device by the same > >> company for another product (Digidesign MBox 2). > > > > The Mbox 2 uses a vendor-specific protocol; your device does not. > > > > The Eleven Rack would work with the USB Audio 2.0 support of the Linux > > driver, except that some parts of the USB Audio 2.0 specification are > > not implemented. > > > > > > Regards, > > Clemens > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: trying to get an eleven rack to work 2012-04-03 19:37 ` David Alexander 2012-04-04 4:33 ` Grant Diffey @ 2012-04-04 13:49 ` Clemens Ladisch 1 sibling, 0 replies; 15+ messages in thread From: Clemens Ladisch @ 2012-04-04 13:49 UTC (permalink / raw) To: David Alexander; +Cc: Grant Diffey, alsa-devel, Daniel Mack David Alexander wrote: > is it a case of waiting until the backend infrastructure is in place? Yes. Regards, Clemens ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2012-04-04 13:46 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-17 23:17 trying to get an eleven rack to work David Alexander
2012-03-19 7:19 ` Grant Diffey
2012-03-20 13:19 ` Clemens Ladisch
[not found] ` <CAOyn=DE6adyJA25wgy-NraAjkPUP2HC6FQ0m8p84XATXQphcrw@mail.gmail.com>
2012-03-22 15:13 ` Clemens Ladisch
2012-03-23 5:57 ` Grant Diffey
[not found] ` <4F718114.5020602@ladisch.de>
[not found] ` <CAOyn=DFig0m1zFRWyTE6Neimrcy12PPAoNL8BdFVaAUrYEYbGw@mail.gmail.com>
2012-03-28 16:53 ` David Alexander
2012-03-29 7:08 ` Clemens Ladisch
2012-03-29 14:02 ` David Alexander
2012-03-30 17:27 ` David Alexander
[not found] ` <CACckToX-kqDyM6sFW_9in64cgO5RQekA-J=EEHSXxgsxEuMk=Q@mail.gmail.com>
2012-04-02 17:50 ` David Alexander
2012-04-03 15:36 ` David Alexander
2012-04-03 19:20 ` Clemens Ladisch
2012-04-03 19:37 ` David Alexander
2012-04-04 4:33 ` Grant Diffey
2012-04-04 13:49 ` Clemens Ladisch
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.