參考 這裡
這邊有verb-tabe的介紹
kernel內也有祥細文件: kernel/Documentation/sound/alsa/HD-Audio.txt
ALC883跟ALC888相同,都是HD Audio Codec,所以是snd-hda-intel。
/usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz內可以看到Module snd-hda-intel的相關敘述。
>> Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10, PCH, SCH),
>> Each codec may have a model table for different configurations.
>> If your machine isn't listed there, the default (usually minimal)
>> configuration is set up. You can pass "model=
>> specify a certain model in such a case. There are different
>> models depending on the codec chip. The list of available models
>> is found in HD-Audio-Models.txt
所以接下來去參考kernel source下的Document/sound/alsa/HD-Audio.txt以及 HD-Audio_models.txt.
>> 3stack-6ch 3-jack 6-channel
裡面有相當多的model可以指定,但是並沒有太多時間去測試那些model的差異,選擇一個普通的3-jack 6-channel即可。
在/etc/modprobe.d/alsa-base.conf下指定他的model = 3stack-6ch即可
options snd-hda-intel model=3stack-6ch
重新開機! 聲音Get!
The HD-audio codec has usually "pin" widgets, and BIOS sets the default configuration of each pin, which indicates the location, the connection type, the jack color, etc.
在板子硬體設計完成時,會將線路交給廠商看。廠商會提供verb-table給bios工程師包進bios內,而verb-table會對codec下一連串命令,由於每個板子codec的ping widgets不盡相同,所以verb-table也不會相同。
The most common problem regarding the HD-audio driver is the unsupported codec features or the mismatched device configuration. Most of codec-specific code has several preset models, either to override the BIOS setup or to provide more comprehensive features.
因此,可能是bios有問題,這邊才需要修改alsa-base.conf來手動指定model。
http://www.alsa-project.org/alsa-info.sh
好用的shell script,會去audio相關檔案抓資料。
/sys/class/sound/hwCxDx有audio driver資料.
沒有留言:
張貼留言