これは今日ランダムに起こり始めました。昨日、ラップトップを開いて掃除しました。また、CMOSバッテリーケーブルを誤って外しました。
ターミナルでalsamixer
を開くと、チャネルを制御しようとすると次のことが起こります。
「PCM」チャンネルを制御することが、音量を変更する唯一の方法です。
マスターチャンネルを選択するときに上/下矢印キーを使用すると、番号は変更されますが、実際には音量は変更されません。さらに奇妙なことに、マスターボリュームを制御すると、代わりにマスターボリュームがミュートされます。また、ヘッドフォンチャンネルをミュートしますが、スピーカーチャンネルはミュートしません。
「M」を押してマスターチャンネルのミュートを解除しても、オーディオは元に戻りません。これを行うには、sxhkdrcのpactl set-sink-mute 0 toggle
にバインドされているFn + F1を押す必要があります(bspwmを使用)。
Fn + F2/F3(pactl set-sink-volume 0 -/+ 5%
にバインド)を使用して増減すると、マスターチャンネルが変更されますが、オーディオは変更されませんが、ミュートもされません。
(un)ヘッドフォンチャンネルをミュートしても、オーディオには何の影響もありません。ヘッドホンチャンネルを増減しても音量は変わりません。
マスターチャンネルをミュートしてもヘッドフォンチャンネルはミュートされますが、マスターチャンネルのミュートを解除してもヘッドホンチャンネルのミュートは解除されません。
スピーカーがまったく動かない。
ファンクションキーを使ってマスターチャンネルを0まで下げると、ヘッドフォンチャンネルも下がります。ヘッドフォンチャンネルが0になると、右チャンネル(wtf?)のみがミュートされます。
すべてがWindowsで動作し(Windowsのオーディオドライバに問題がありましたが、再起動すると修正されました)、USBライブスティック上のUbuntu18.10で動作します。 Arch Linuxを実行しているラップトップ(Lenovo Legion Y520)を使用しています。 alsamixerによると、私はHDA Intel PCH
サウンドカードとRealtek ALC233
チップを使用しています。
編集:pavucontrol
で、ヘッドフォンとスピーカーの2つのオーディオ出力があることがわかりました。スピーカーの横に「利用できません」と表示されます。
編集:dmesg: https://Pastebin.com/YUr4MyDf
ls /proc/asound/card*/codec*
の出力:
/ proc/asound/card0/codec#0
/ proc/asound/card0/codec#2
私はこれでそれを修正しました: https://help.ubuntu.com/community/HdaIntelSoundHowto#Playing_with_probe_mask
Dmesgにまだエラーがあります:snd_hda_intel 0000:00:1f.3: control 2:0:0:PCM Playback Volume:0 is already present
ですが、問題はありません。
Pulse
プラグインコントロールが表示されていますが、これには単一のボリュームコントロールしかありません。使ってみてください F6 サウンドカードのハードウェアコントロールにアクセスします。
ただし、現在、Pulseaudioをメインオーディオシステムとして実行しているため(おそらく、クリーニングのために初めて再起動しました。これは、以前に行った更新の結果ですか?)、alsamixer
をそのままにしておくことをお勧めします。 、代わりにpavucontrol
またはデスクトップのサウンド設定(使用している場合)を使用します。
両方を使用すると、中間アンプの構成が誤って、クリッピングやサウンドの歪みが発生する可能性があります。
すでに遊んでいるので、すべてを良好な状態に復元するには、alsamixer
を1回使用する必要がある場合があります(たとえば、誤ってミュートされたノードのミュートを解除するなど)。
編集
コーデックが正しく認識されている:
[ 3.845593] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
...
[ 3.883968] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC233: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 3.883969] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 3.883970] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 3.883971] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 3.883972] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 3.883973] snd_hda_codec_realtek hdaudioC0D0: Mic=0x19
[ 3.883974] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12
しかしすぐに、何かが失敗します:
[ 16.496761] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x202f2d00
[ 17.500096] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x202f2d00
[ 18.510492] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x202f2d00
そして、物事は面白く見え始めます:
[ 138.168712] azx_single_send_cmd: 14 callbacks suppressed
[ 391.888726] azx_single_send_cmd: 34 callbacks suppressed
[ 403.161786] azx_single_send_cmd: 114 callbacks suppressed
[ 447.315584] azx_single_send_cmd: 46 callbacks suppressed
[ 514.846522] azx_single_send_cmd: 70 callbacks suppressed
だから、推測してください:あなたのラップトップを掃除している間(あなたが私たちに教えていない何かをした場合を除いて)、あなたは静電放電を引き起こしました、そして/またはあなたが誤って外したバッテリーケーブルはそれがすべきではない何かに触れました、そして今何かに関連していますサウンドカード/コーデック通信が正しく機能しません。
これを適切に診断して修正することは困難です。 hda-verb
をいじって、コーデックファイルの内容を調べ、問題をさらに絞り込むことができるかどうかを確認できますが、これを行うには、これらがどのように機能するかを確認する必要があります。これは、Q&Aでリモートでデバッグできるものではありません。
Windowsで動作し、Linuxで動作しない理由がわかりません。おそらく、Windowsはハードウェアを異なる方法で初期化します。