On Tue, Oct 05, 2010 at 09:11:58PM +0200, Matti Picus wrote:
On 10/05/2010 09:38 AM, Daniel Mack wrote:
Normally, the volume would be controlled by a feature unit. Just post the whole output of 'lsusb -v' to some pastebin website and post the link.
Hmm, there is no feature unit in this dump, so the volume is most probably set with an vendor-specific USB request. Unless the Windows driver does something similar than PulseAudio and handles the volume level control in software (iow, modify each sample before sending it to the hardware) rather than setting any actual hardware volume level.
Any guidance you can give toward getting the volume controls recognized would be greatly appreciate.
The best way is to sniff the USB communication when Windows sets the volume
Is there an example in the alsa source tree of some of this?
Of a sniff dump you mean? I doubt so, but once you manage to get one with any of the software tools around or with a hardware analyzer, the dump itself shouldn't be hard to understand. You just need to understand the packet layout and where they store the actual volume information.
Once you got this information, feel free to share it, so we can figure out a nice way of generating the same kind of messages from inside the kernel driver.
Daniel