Thanks.
Do you mean that if "07 25 01 81 02 00 00" (Unrecognized) was moved after the "Endpoint Descriptor", then the driver should recognize it as some AudioControl Endpoint Descriptor (as described in Table 4-21: Class-Specific AS Isochronous Audio Data Endpoint Descripton in http://www.usb.org/developers/devclass_docs/audio10.pdf)? I have no idea if this is an easy modification (it does not sound complex to me, but I never wrote firmware for USB audio devices!)

- Yves

On 22/04/2013 21:23, Torstein Hegge wrote:
On Mon, Apr 22, 2013 at 20:44:40 +0200, Daniel Mack wrote:
Also, the lsusb dumps don't contain a audio specific header descriptor,
which normally looks like this:

         AudioControl Endpoint Descriptor:
           bLength                 7
           bDescriptorType        37
           bDescriptorSubtype      1 (EP_GENERAL)
           bmAttributes         0x01
             Sampling Frequency
           bLockDelayUnits         0 Undefined
           wLockDelay              0 Undefined

And without the "Sampling Frequency" bit in bmAttributes, the driver
will bail out early (clock.c):
I think it has the class specific endpoint descriptor, but it is in
front of the standard endpoint descriptor. From the 'lsusb -v':

        AudioStreaming Interface Descriptor:
          bLength                14
          bDescriptorType        36
          bDescriptorSubtype      2 (FORMAT_TYPE)
          bFormatType             1 (FORMAT_TYPE_I)
          bNrChannels             2
          bSubframeSize           2
          bBitResolution         16
          bSamFreqType            2 Discrete
          tSamFreq[ 0]        16000
          tSamFreq[ 1]        48000
        ** UNRECOGNIZED:  07 25 01 81 02 00 00
        Endpoint Descriptor:
          bLength                 9
          bDescriptorType         5
          bEndpointAddress     0x03  EP 3 OUT
          bmAttributes            1
            Transfer Type            Isochronous
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x00c0  1x 192 bytes
          bInterval               1
          bRefresh                0
          bSynchAddress           0

The UNRECOGNIZED bit matches the missing AudioControl endpoint
descriptor.

Even if this is against the specification, devices that does this is out
there. I have seen the same thing on a Sennheiser BTD-500, but that only
supports one frequency, so I didn't hit this problem.


Torstein

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to