Frank Barknecht wrote:
> Hartmut Geissbauer hat gesagt: // Hartmut Geissbauer wrote:
>
> > reading the different entries in usbquirks.h it looks like they are
> > taken from the usb-infos like lsusb provides. Is it very difficult to
> > take the infos from lsusb and translate it to an quirk?

It depends.  If the class-specific descriptors are missing, you have
to guess and try what the sample format actually is.

> [...] I was investigating why the Midi jacks on the Terratec Phase
> 26 aren't supported.
>
> I looked up the specification of usb-midi in
> http://www.usb.org/developers/devclass_docs/midi10.pdf and also looked
> very closely and for a long time at the lsusb output.  This interface
> descriptor then looks very much like it must be the midi interface:
>
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        3
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      3
>       bInterfaceProtocol      0
>       iInterface              3 TerraTec PHASE 26 USB
>   unknown descriptor type: 07 24 01 00 01 41 00
>   unknown descriptor type: 06 24 02 01 10 00
>   unknown descriptor type: 06 24 02 02 11 00
>   unknown descriptor type: 09 24 03 01 12 01 11 01 00
>   unknown descriptor type: 09 24 03 02 13 01 10 01 00
>       Endpoint Descriptor:
>         bLength                 9
>         bDescriptorType         5
>         bEndpointAddress     0x05  EP 5 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               none
>         wMaxPacketSize         64
>         bInterval               0
>         bRefresh                0
>         bSynchAddress           0
>   unknown descriptor type: 05 25 01 01 10
>       Endpoint Descriptor:
>         bLength                 9
>         bDescriptorType         5
>         bEndpointAddress     0x86  EP 6 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               none
>         wMaxPacketSize         64
>         bInterval               0
>         bRefresh                0
>         bSynchAddress           0
>   unknown descriptor type: 05 25 01 01 12
>
> The main reason for my assumption is the value for bInterfaceNumber
> which is "3" or 0x03 as it should be according to the USB spec which
> requires for a "MIDI Adapter Standard MIDIStreaming Interface
> Descriptor" to have this field set as follows:
>
> Offset Field                Size  Value   Description
> ...
> 6      bInterfaceSubclass   1     0x03   MIDISTREAMING.
> ...

The bInterfaceNumber field simply specifies the number (i.e., the
index) of the interface.  Interfaces must be numbered 0, 1, 2, etc.

>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      3
>       bInterfaceProtocol      0

The problem is that bInterfaceClass isn't set to 1 (Audio).

The class-specific descriptors are there (lsusb shows them as
"unknown" because it doesn't try to parse vendor-specific things), so
it should be possible to use the MIDI_STANDARD_INTERFACE quirk (see
below).


Regards,
Clemens

-- 

Index: alsa-kernel/usb/usbquirks.h
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbquirks.h,v
retrieving revision 1.26
diff -u -r1.26 usbquirks.h
--- alsa-kernel/usb/usbquirks.h 20 Jan 2004 15:31:59 -0000      1.26
+++ alsa-kernel/usb/usbquirks.h 11 Feb 2004 09:33:45 -0000
@@ -688,4 +688,14 @@

 },

+{
+       USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013),
+       .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+               .vendor_name = "Terratec",
+               .product_name = "PHASE 26",
+               .ifnum = 3,
+               .type = QUIRK_MIDI_STANDARD_INTERFACE
+       }
+},
+
 #undef USB_DEVICE_VENDOR_SPEC




-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to