ALSA、PulseAudio、およびIntel HDA PCHの音が聞こえない

ALSA、PulseAudio、およびIntel HDA PCHの音が聞こえない

オンボードサウンドカードはRealtek ALC298 1つだけで、高度なサウンド設定は不要です。 YouTubeの動画鑑賞、映画鑑賞などのための効果的なサウンドシステムだけです。これまで多くのオンライン記事をフォローしてきました。私が試したすべてをまとめると、次のようになります。

  1. チャンネルがミュートされていることを確認してください。を使用alsamixerして確認しましたが、pavucontrol両方ともミュートされたチャンネルは表示されません。手順3(以下を参照)でこの手順を繰り返しましたが、時々新しいチャンネルが表示されましたが、最終的に音は出ませんでした。

  2. ALSAかPulseAudioかを確認してください。だから私は以下を使用しましたaplay -l

****再生ハードウェアデバイス一覧****
カード 0: PCH [HDA Intel PCH], デバイス 0: ALC298 エミュレーション [ALC298 エミュレーション]
  サブデバイス: 1/1
  サブデバイス#0:サブデバイス#0
カード 0: PCH [HDA Intel PCH], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス#0:サブデバイス#0
カード 0: PCH [HDA Intel PCH], デバイス 7: HDMI 1 [HDMI 1]
  サブデバイス: 1/1
  サブデバイス#0:サブデバイス#0
カード 0: PCH [HDA Intel PCH], デバイス 8: HDMI 2 [HDMI 2]
  サブデバイス: 1/1
  サブデバイス#0:サブデバイス#0
カード 0: PCH [HDA Intel PCH], デバイス 9: HDMI 3 [HDMI 3]
  サブデバイス: 1/1
  サブデバイス#0:サブデバイス#0
カード 0: PCH [HDA Intel PCH], デバイス 10: HDMI 4 [HDMI 4]
  サブデバイス: 1/1
  サブデバイス#0:サブデバイス#0

そこでPCM形式のwavファイルを使用すると、aplay -D plughw:0,0 test.wav次のようになります。

WAVE 'test.wav'再生:署名付き32ビットLittle Endian、スピード44100Hz、ステレオ

しかし、何もない!音もなく、スピーカーやヘッドフォンもありません。私はこれがPulseAudioの問題ではなくALSAの問題だと思いますが、全段階でPulseAudioデーモンが実行されるので疑います。興味深いのは、この手順を実行したときにGNOMEサウンド設定にサウンドバーが何か再生しているかのように動いていることを示しています。 :D

  1. 私が一つ見つけたカーネルウェブサイトの記事HDAオーディオとコンピュータを再起動せずにオーディオコーデックを動的に再構成するカーネル機能について説明します。私はhdajackretaskリポジトリの一部であるこのユーティリティを見つけて使用でき、alsa-toolsGUIを提供しました。ユーティリティはピンの修正をuser_pin_configsファイルに書き込みます(注意して再起動後に手動で確認してください)。しかし、ピン再割り当ての正しい組み合わせはわかりません。再割り当て可能なピンは次のとおりです。
0x12
0x13
0x14
0x17
0x18
0x19
0x1a
0x1日
0x1e
0x1f
0x21
  1. 私の考えは基本的にALC269私が見たモデルを使用することです。興味深いパッチファイルグーグルするとき。リンクはRasp Piへのものですが、そのため試してみる価値があると思いましたALC269サポートされるカーネルHDAオーディオモデル。これは何も変えませんが、誰かがそれから利益を得ることができます。

助けてくれてありがとう。私のLinux技術は私の能力をはるかに超えています。

PS:manjaro、linux56、すべてのディストリビューションには同じサウンドカードの問題がありますが。私はサウンドが動作することを願って、過去数ヶ月間、ほぼすべてのディストリビューションをインストールしました。

編集1

を追加しましたペーストビン詳細alsa-info.shについては。

答え1

良いニュース! ronincoderという非常に賢いArchユーザーがヘッドフォンジャックの修正を見つけました。 ronincoderと協力してカーネルパッチ[1]を作成し、私たちのパッチは5.7カーネルバージョンに入りました! 5.4 LTSカーネルでも使用されます。 5.7.2と5.4.46を実行しましたが、ヘッドフォンジャックのオーディオは大きくて鮮明でした。 :)

あなたに効果がありますか? Samsung Notebook 9 Pro NP930SBE-K01USまたはNP930MBE-K04US(ronincoderは前者、私の製品は後者)を使用している場合は、そうすることができます。 alsa_info.shを実行して「マザーボード名」を見ると、ラップトップモデルを確認できます。 NP930SBE-K01USおよびNP930MBE-K04USのRealtek ALC298コーデックは、それぞれ「サブシステムID」0x144dc169および0x144dc176として自分自身を識別します。 snd_hda_intel がこれらの ID を検出すると、修正を実装します。

スピーカーはどうですか?カーネルバグジラ[2]の内部スピーカーで音が出ない問題を報告しました。 LinuxサウンドマネージャJaroslav Kyselaは、HDAコーデックに接続されているいくつかのアンプがある可能性があると推測しますが、これらのアンプはBIOSによって初期化されないため、Linuxではアクティブになりません。彼は、QEMUを使用してWindowsドライバ用のコーデック通信をダンプすることをお勧めします。その後、Early Patching [3]を使用するか、別のカーネルパッチを作成して、Linuxでダンプを解析して通信を再生できます。ヤロスラフがこれを提案してから1ヶ月が経ち、いくつかの進歩を遂げましたが、まだ良いダンプはありません。私を助けたい場合は、カーネルバグジラディスカッションに参加してください。 ^^

[1] ちなみに、パッチが Linus ツリーにコミット 14425f1f521f として追加されました (ALSA: hda/realtek: Add quirk for Samsung Notebook)。 [2]https://bugzilla.kernel.org/show_bug.cgi?id=207423 [サム]https://www.kernel.org/doc/html/v4.17/sound/hd-audio/notes.html#early-patching

答え2

設定ファイルを編集して置き換えることで、ElementaryOS(Ubuntu 20.04ベース)sudo vim /etc/modprobe.d/alsa-base.confのMacBook Pro 2012で音が出ない問題を修正しました。

options snd-hda-intel model=generic

渡す

# options snd-hda-intel model=generic
options snd-hda-intel probe_mask=1

詳細な説明:

注:なぜ音が出ない問題が発生したのか、インストール後すぐに機能したため、以前に何が変更されたのかわかりません。

ただし、pacmd list-cards端末でクエリを実行すると、出力は(修正前)から次に変わります。

ports:
    analog-input-mic: Mikrofon (priority 8700, latency offset 0 usec, available: unknown)
        properties:
            device.icon_name = "audio-input-microphone"
    analog-output-speaker: Lautsprecher (priority 10000, latency offset 0 usec, available: unknown)
        properties:
            device.icon_name = "audio-speakers"
    analog-output-headphones: Kopfhörer (priority 9900, latency offset 0 usec, available: no)
        properties:
            device.icon_name = "audio-headphones"
    iec958-stereo-output: Digitalausgang (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
        properties:

(修理後):

ports:
    [Out] Speaker: Speaker (priority 100, latency offset 0 usec, available: unknown)
        properties:
            
    [Out] Headphones: Headphones (priority 200, latency offset 0 usec, available: no)
        properties:
            
    [In] Mic2: Headphones Stereo Microphone (priority 200, latency offset 0 usec, available: unknown)
        properties:

(ここでは構文の違いに注意してください。)

また、出力がsudo vim aplay -l(修正前)から次に変更されました。

Karte 0: PCH [HDA Intel PCH], Gerät 0: Generic Analog [Generic Analog]
  Sub-Geräte: 0/1
  Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 1: Generic Digital [Generic Digital]           
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0

(修理後):

Karte 0: PCH [HDA Intel PCH], Gerät 0: CS4206 Analog [CS4206 Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 1: CS4206 Digital [CS4206 Digital]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0

答え3

ここでの問題は、RealtekのALC298のバス要件、つまりI2Sが異なることです。 linux56以降、I2Sオーディオコーデックはサポートされていません。これは新しい標準のようです。 Lenovo、Samsung、Huaweiは、この新しいI2S規格に準拠したサウンドカードを使用しているようで、この問題に関連して未解決のスレッド/トピックがたくさん見つかりました。

私と他の人がSamsung Notebook Pro 9を使用しながらヘッドフォンの問題を解決する解決策を見つけました。このソリューションは、「初期パッチ」と呼ばれるカーネル機能を使用して、デフォルトのピン、動詞、モデル、およびその他のALSA関連の設定プロパティを選択的にオーバーライドします。代替カスタムカーネルパッチを含む完全な情報は、以下にあります。Arch Linuxフォーラム

答え4

以下の手順を試してください。私のシステムで同様の問題を解決できるからです。

  1. "aplay"コマンドを実行しましたが、何も聞こえません。 「sudo aplay」コマンドを実行するにはどうですか? ALSAが動作している場合は、音を聞くことができます。

  2. パルスオーディオがあなたのシステムで実行されているようです。ただし、alsa-libとsnd-hda-intelドライバの間にはいくつかの互換性の問題がある可能性があります。

    $pacmd リストカード

「ポート」で結果を確認してください。スピーカーに関連するコンテンツが表示されない場合、pulseaudioはサウンドカードを認識しません。

  1. "/usr/share/alsa/ucm2/HDA-Intel/HDA-Intel.conf"ファイルを編集します。 「Define.Use」の後に空の文字列が表示されたら、文字列に「3」と入力します。その後、保存します。

  2. コンピュータを再起動します。それでも音が聞こえない場合は、サウンドカードが「ダミー出力」であることを確認してください。その場合は、「/etc/modprobe.d/alsa-base.conf」の末尾に「options snd-hda-intel model=generic」を追加してください。

問題は、主に「HDA-Intel.conf」によって発生します。開発者がなぜ文字列「Define.Use」を空白にしたのかはわかりません。

関連情報