* 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
* 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
* 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
---------- 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
* 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.