web-dev-qa-db-ja.com

ラップトップを開いた後のalsamixerに関する複数の問題(他のOSでは問題なし)

これは今日ランダムに起こり始めました。昨日、ラップトップを開いて掃除しました。また、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

1
zjeffer

私はこれでそれを修正しました: 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ですが、問題はありません。

0
zjeffer

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はハードウェアを異なる方法で初期化します。

2
dirkt