web-dev-qa-db-ja.com

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ビットのリトルエンディアンの署名、レート44100 Hz、ステレオ

しかし、何も!どこにも音が出ない、スピーカーまたはヘッドフォン。これはALSAの問題であり、PulseAudioの問題ではないことがわかりましたが、PulseAudioデーモンがこのステップ全体で実行されていたので、疑問があります。興味深い補足として、私がこのステップを行っていたとき、gnomeサウンド設定はサウンドバーが何かが再生されているかのように動くことを示していました:D

  1. 私は カーネルWebサイトの記事 HDAオーディオと、マシンを再起動せずにオーディオコーデックを動的に再構成するカーネル機能について見つけました。 alsa-toolsリポジトリの一部であるhdajackretaskユーティリティを見つけて使用し、GUIを提供しました。このユーティリティは、ピンの変更をuser_pin_configsファイルに書き込みます(再起動後に手動で確認しました)。しかし、ピンの再割り当ての正しい組み合わせを理解できませんでした。以下は、再割り当て可能なピンです。
 0x12 
 0x13 
 0x14 
 0x17 
 0x18 
 0x19 
 0x1a 
 0x1d 
 0x1e 
 0x1f 
 0x21 
  1. ここでの私の考えは、グーグルするときに 興味深いパッチファイル を見たように、基本的にALC269モデルを使用することでした。リンクはrasp pi用ですが、ALC269サポートされているカーネルHDAオーディオモデル であることを確認すると、一見の価値があると思いました。これは何も変更しませんでしたが、おそらく誰かがそれから利益を得ることができます。

どんな助けでもここに感謝されます。私はLinuxのスキルをはるかに超えています。

PS:manjaro、linux56。ただし、すべてのディストリビューションでサウンドカードに同じ問題があります。サウンドが機能することを期待して、過去数か月間にほとんどすべてのディストリビューションをインストールしました。

編集1

詳細について、alsa-info.shの-​​ Pastebin を追加しました。

1
Jackson

朗報! 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を実行して「Board Name」を見ると、ラップトップモデルを確認できます。 NP930SBE-K01USおよびNP930MBE-K04USのRealtek ALC298コーデックは、それ自体をそれぞれ「サブシステムID」0x144dc169および0x144dc176で識別します。 snd_hda_intelがこれらのIDのいずれかを検出した場合、修正を実装します。

スピーカーはどうですか?カーネルBugzilla [2]で、内部スピーカーの音が鳴らない問題を報告しました。 LinuxサウンドメンテナーのJaroslav Kyselaは、HDAコーデックに接続されているいくつかのアンプがBIOSによって初期化されておらず、したがってLinuxではアクティブではない可能性があると推測しています。彼は、QEMUを使用してWindowsドライバーのコーデック通信をダンプすることを提案しています。その後、ダンプを解析し、アーリーパッチング[3]を使用するか、別のカーネルパッチを作成して、Linuxで通信を再生できます。 Jaroslavがこの提案をしてから1か月が経ちましたが、ある程度の進歩はありましたが、まだ良いダンプがありません。私を手伝いたいなら、カーネルBugzillaの議論に参加してください。 ^^

[1]参考までに、私たちのパッチは、コミット14425f1f521f(ALSA:hda/realtek:Samsung Notebookの癖を加える)としてLinusのツリーに組み込まれました。 [2] https://bugzilla.kernel.org/show_bug.cgi?id=20742 [3] https://www.kernel.org/doc/html/v4。 17/sound/hd-audio/notes.html#early-patching

2
hpcmmp

したがって、ここでの問題は、RealtekのALC298がI2Sである別のバス要件を持っていることです。 linux56現在、I2Sオーディオコーデックはサポートされておらず、これは新しい標準のようです。 Lenovo、Samsung、Huaweiは、この新しいI2S標準のサウンドカードを使用しているようで、この問題に関して見捨てられた未解決のスレッド/トピックがたくさんあります。

Samsung Notebook Pro 9を使用していた私と他の1人で機能するヘッドフォンを修正するための回避策を見つけました。このソリューションでは、「早期パッチ」と呼ばれるカーネル機能を使用して、デフォルトのピン、動詞、モデル、およびその他のALSA固有のオプションを上書きしています。属性。 Arch Linux Forums に、代替のカスタムカーネルパッチを含む完全な情報があります。

0
Jackson