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を起動してください。ミキサを開いたらすべてのチャンネルのボリュームを中間にし、音が聞こえるかチェックしてください。

KMixをマウスの左クリックで起動すると、メインボリュームのスライダが表示されます。すべてのチャンネルを表示するにはミキサーをクリックしてください。
SigmaTel STAC9271D: Masterチャンネルの音量をほぼ最大に設定しないと音が出ません。音量調整にはSpeakerチャンネルを使うと良いでしょう。

もし、これでも上手くいかないのであれば、/etc/modprobe.d/soundで別のオプションを試し、この手順をやり直してください。

<keyword>sound,hda-intel,ICH8,ICH7,ICH6,headphone</keyword>