SDB:Intel-HDAで音が出ない問題
症状
サウンドカードがYaSTで正常に設定できたように見えても、音が出ない、ミキサーが使用できい、チャンネルが間違って割り当てられるという問題が発生することがあります。このページはノートPCにヘッドフォンを接続してもスピーカが切り替わらないときにも役立つかもしれません。このケースの場合、スピーカとヘッドフォンのボリュームを個別に変更すると、音が聞こえるはずです。
ヘッドフォンを接続したときに音が出ない問題だけであれば、この下の「ヘッドフォンから音が出ない」を参照してください。
原因
hda-intelサウンドカードは数多くの種類が市場に存在するため、YaSTで自動的かつ正確に設定することができません。
解決策
konsoleなどのターミナルを開き、rootでログインしてください。サウンドカードにどのコーデックが使われるかを調べるには次のようにします。
head -n 1 /proc/asound/card0/codec*
注: もし何らかの理由で/proc/asoundディレクトリが無いときは、ALSAを使用していないか、ALSA configが壊れています。 後で示す/etc/modprobe.d/soundを元に戻せば、少なくともALSAは立ち上がるでしょう。
出力例です:
==> /proc/asound/card0/codec#0 <== Codec: Realtek ALC883 ==> /proc/asound/card0/codec#1 <== Codec: Conexant ID 2c06
この例では、このカードのコーデックはcodec#0のALC883です。
このモジュールで利用可能なオプションはkernel-source.rpmで見つけられます。まだインストールしていなければ、インストールしてください。
/usr/src/KERNEL_VERSION/Documentation/sound/alsa/ALSA-Configuration.txtでコーデックを検索してください。繰り返しになりますが、この例ではACL883です。
ALC883/888 3stack-dig 3-jack with SPDIF I/O 6stack-dig 6-jack digital with SPDIF I/O 3stack-6ch 3-jack 6-channel 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O 6stack-dig-demo 6-jack digital for Intel demo board acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc) medion Medion Laptops medion-md2 Medion MD2 targa-dig Targa/MSI targa-2ch-dig Targs/MSI with 2-channel laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE) lenovo-101e Lenovo 101E lenovo-nb0763 Lenovo NB0763 lenovo-ms7195-dig Lenovo MS7195 6stack-hp HP machines with 6stack (Nettle boards) 3stack-hp HP machines with 3stack (Lucknow, Samba boards) auto auto-config reading BIOS (default)
このオプションのうちいずれかを/etc/modprobe.d/soundに入力する必要があります。このファイルの値はYaSTのサウンド - サウンドカードの高度なオプションで値を変更できます。以下の説明では設定ファイルを直接編集します。
もとのファイルは次のようになっていると思います:
options snd-hda-intel enable=1 index=0 # u1Nb.jN8_s9AC_37:82801H (ICH8 Family) HD Audio Controller alias snd-card-0 snd-hda-intel
変更後は次のようになります:
options snd-hda-intel model=6stack-dig enable=1 index=0 # u1Nb.jN8_s9AC_37:82801H (ICH8 Family) HD Audio Controller alias snd-card-0 snd-hda-intel
設定ファイルのうちmodel=の部分のみを変更してください。 次は「サウンドサーバーの再起動」に進んでください。
警告! 'sound'ファイルのバックアップを/etc/modprobe.d/に作成しないでください。このファイルは読み込まれてしまいます。
ヘッドフォンから音が出ない
もし、snd-hda-intelドライバを必要とするIntelのサウンドカードを使用していて、ヘッドフォンを接続すると音が出ないならば、このセクションに該当します。 YaST2が/etc/modprobe.d/soundを作成し、次のような(またはよく似た)部分があるはずです。
options snd slots=snd-hda-intel # u1Nb.Iok8MET6hsF:82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller alias snd-card-0 snd-hda-intel
このドライバの問題はどのディストリビューションでも発生するので、ある意味「正常」です。optionsの行をファイルを直接変更するか、YaSTのサウンド - サウンドカードの高度なオプションを使って変更します。新しいファイルは次のようになります。(#で始まる行はコメントです)
options snd-hda-intel model=z71v position_fix=1 # u1Nb.Iok8MET6hsF:82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller alias snd-card-0 snd-hda-intel
これで上手くいくはずです。 次の「サウンドサーバの再起動」節に進んでください。
サウンドサーバを再起動してもまだヘッドフォンから音が出なければ、alsamixer(コマンドライン)か、KMixなどのお好みのグラフィックスミキサーを使用して、ヘッドフォンがミュートになっていないか確認してください。
注! SONY VAIO FZ21Mでは、次のオプションを追加する必要があります:
options snd-hda-intel model=vaio enable=1 index=0 position_fix=1
サウンドサーバーを再起動する
再起動する前に、サウンドループバックとハウリングを避けるため、ALSAの設定でMicrophoneチャンネルをミュートにしてください。これを行わないと、高音の連続的なビープ音が発生してしまいます。これができない人はalsamixerを使用してください:
alsamixer
/etc/modprobe.d/soundを保存し、サウンドシステムをrootで再起動します。
rcalsasound restart
使用しているミキサプログラムを再起動する必要があります。どのウインドウマネージャを使用しているかによりますが、一般ユーザとしてkmixまたはgmixを起動してください。ミキサを開いたらすべてのチャンネルのボリュームを中間にし、音が聞こえるかチェックしてください。
もし、これでも上手くいかないのであれば、/etc/modprobe.d/soundで別のオプションを試し、この手順をやり直してください。
<keyword>sound,hda-intel,ICH8,ICH7,ICH6,headphone</keyword>