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