Hi!

I looked into the files you posted and it looks like folks at
Philips are not really able to write a proper firmware for a USB device.

Look here in the output of lsusb :

      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0202 Desktop Microphone
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)

So clearly there are 2 channels! left and right. but later:

      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            1


since bSourceID here is equal to bTerminalId before these two
are directly connected. But here:
bLength=9 and bControlSize=1. Looking into formula in:
http://www.usb.org/developers/data/devclass/audio10.pdf,
bottom of page 43 it you get:

9 (bLength) =7+(ch+1)*1 (bControlSize=n)

which solved gives ch=1 which is clearly inconsistent
with previous data.

Looks like Philips folks do not care that they have
in fact 2 channels in microphone and they simply merge
them into one. Moreover they do not do even this one,
they simply put just a single master channel and nothing else.

AFAIK the current code should work fine.

In the worst case line in audio.c :
ch->flags = (state->nrchannels > 1) ? (MIXFLG_STEREOIN | MIXFLG_STEREOOUT) : 0;
may be replaced by:
ch->flags=0;

The 2nd tricky place is unmutting but it also should work fine.

Just use dsp and mixer with proper minor. If nothing changed
in your setup use mixer with minor 16 and dsp with minor 35,
which, if you did what  wrote in one of my earlier letters
would be /dev/mixer1 and /dev/dsp3

BR,

Jacek



_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to