On 23/04/2013 00:19, Daniel Mack wrote:
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:
bDescriptorSubtype 1 (EP_GENERAL)
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:
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSamFreqType 2 Discrete
tSamFreq[ 0] 16000
tSamFreq[ 1] 48000
** UNRECOGNIZED: 07 25 01 81 02 00 00
bEndpointAddress 0x03 EP 3 OUT
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
The UNRECOGNIZED bit matches the missing AudioControl endpoint
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.
But it should still complain about "no or invalid class specific
endpoint descriptor", right?
If you have time, please check the attached (totally untested) patch.
Yves - did you ever compile and run your own kernel? Then please also
try this patch.
I've done it a long time ago.
Can't I just apply the patch to snd-usb-audio, rebuild the module (I
assume that I need the kernel headers.. what else?) and use modprobe
to load it (removing the previous version first)?