_ [comp] ALC889A + ALSA 1.0.16 = CD-IN から音が出ない

Debian Official なパッケージをいろいろインストールしておおよその環境は構築した。ところが xawtv でテレビ見ようとしたら映像は映るけど音声が出ない。GV-BCTV5/PCI から CD-IN にきちんと線つないでるんだけどな…。Mute か音量 0 なのかな、と思って alsamixer で見てみたら、CD がない。Line かな?と思ったけど違うようだ。すべて Unmute して音量最大にしても駄目。 調べてみると、GA-X48-DS5 は Realtek ALC889A codec のようで、snd_hda_intel で自動検出されてるんだけど、探してみると、

などいくつか出てきた。本家で対応状況を探してみると、

  • hda - Fix ALC889A codec support ALC889A is recognized ALC885/ALC882 but it’s actually closer to ALC888/ALC883.

ref. Changes v1.0.16 v1.0.17

というのがあった。alsa-driver 1.0.17 ならいいのかな。kernel 2.6.26 に含まれてる alsa-driver は?というと

% cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.16.

1.0.16 のようだ。alsa-driver 1.0.17 を入れてやればいいかな。alsa-source は?

ii  alsa-source    1.0.17.dfsg-2  ALSA driver sources

ということで m-a a-i alsa-source して 1.0.17 を入れて、モジュールを再読み込み。

% cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.17.
Compiled on Sep  7 2008 for kernel 2.6.26-1-amd64 (SMP).

うーん、auto だと

ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:1b.0 to 64
hda_codec: Unknown model for ALC882, trying auto-probe from BIOS...

になっちゃうな。/usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz より /etc/modprobe.d/sound を変更して

alias snd-card-0 snd-hda-intel
options snd-hda-intel index=0 model=6stack-dig

model=6stack-dig を追加した。これで再読み込みすると、

ACPI: PCI interrupt for device 0000:00:1b.0 disabled
ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:1b.0 to 64

お、いけそう、ということで alsamixer を開くと CD が出てきてた。Unmute して音量を上げて xawtv を起動すると…よし、音声出た。 というか最初からモデル指定してれば音出たかも?