Hello Franta, > 2) The channels 1-2, 2-3 and 3-5, both recording and playback, can be configured/mapped (by an USB URB command) to various sources. I wrote some userspace C code for testing purposes that uses libusb-1.0/libusb.h, so I can switch the channels. How this feature should be provided to the user? Should the USB commands be issued from the kernel driver or from userspace? Is there any existing similar example? I have implemented these controls in mixer_quirks.c back when I fought with these mixers. As I have not tested them against the current master and your changes yet, I'll just drop a gist with the old patches from last September if you want to have a look (patch 0003 is the one with the mixer controls): https://gist.github.com/flesniak/074ab23bbc833663b782f44174eae6a4 I will try to test that single patch together with your patches and submit them if it works. I remember faintly that alsamixer did not show the TLV dB range correctly, probably I was using DECLARE_TLV_DB_RANGE incorrectly. Cheers Fabian