Есть китайский внешний USB ЦАП для наушников ( http://ymap.dyndns.org/aaaaaaaa-280.jpg ) - USB + jack + опт. выход + 3 кнопки. На USB гонится 44100/16bit, из jack валится звук. Девайс пойман драйвером snd_usb_audio, alsamixer для него рисует один регулятор громкости, всё работает.
Если посмотреть в Wireshark, то видно, что при нажатии и отпускании этих кнопок что-то валится от девайса. Дамп нажатия и отпускания кнопки «vol -»: http://ymap.dyndns.org/usb_dac_dump_button_vol_minus_press_release.bin
В идеале хочется завести эти сигналы на ALSA так, чтобы ALSA отправляла в девайс новую громкость в соответствии с нажатыми кнопочками. Девайс сам её по кнопочкам не меняет, только сигналы посылает. А громкость меняет, если в alsamixer регулятор покрутить. Такие пироги.