alsa支持两种codec命令格式:12位和4位,参数长度分别为8位和16位
hda-verb提供了从用户空间向codec下命令的后门,主要利用alsa中的hwdep接口。
对于12位的命令格式来说,较为简单,根据hda-verb的说明,以命令0xf07,nid=0x19为例,
sudo ./hda-verb /dev/snd/hwC0D2 0x19 0xf07 0x00
对于4位的命令格式,则要将该命令左移8位,然后或上参数的高八位,以0xb命令,nid=0x19,param=0x8000为例:
sudo ./hda-verb /dev/snd/hwC0D2 0x19 0xb80 0x00
其中0xb80 由0xb左移8位,或上0x8000的高八位得到,0x00为0x8000的低8位。
即当命令为4位格式时,参数的俄高八位一定作为命令的低八位出现,命令参数形式上仍然为12位,但只有高四位作为命令来解析
阅读(871) | 评论(0) | 转发(0) |