サポートされていないサウンドカードをALSAで使用するにはどうすればよいですか?

サポートされていないサウンドカードをALSAで使用するにはどうすればよいですか?

Lenovo Legion 7i ノートブックのスピーカーから音が出ず、alsamixerでスピーカーを使用していると言われています。Realtek ALC287

私はメインカーネルとメインラインカーネル(5.7.xと5.8.x)の両方を使用し、5.6.x、5.7.x、5.8を使用してUbuntu 16.04、18.04、20.04を含むさまざまなLinuxディストリビューションとカーネルの組み合わせを試しました。 x Manjaro カーネル。

それぞれの場合、alsamixerで自動ミュートを無効にし、すべての音量レベルを最大に設定しました。すべての場合、スピーカーから音が出ない(スピーカーテストの実行、音楽の再生など)。私はいヘッドフォンとHDMIを介してサウンドを取得できます(HDMIは他のサウンドカードを介して機能すると思いますが)。

また、pavucontrol(サウンドが再生中であることを示す赤いオレンジ色のバー)を見ると、いくつかのサウンドアクティビティが発生していますが、スピーカーから実際のサウンドが出ないことがわかります。

私のalsa-info.sh結果(2015年6月5日Manjaroの結果)はこちらです(これを無視してください。最新の結果は以下にあります)。

http://alsa-project.org/db/?f=ba86fe76a9d9cf1cced56600edf82eb206a36a72

他のディストリビューション/カーネルの組み合わせでスクリプト(または他のツール)を再度実行できることを嬉しく思います。何が役立つか教えてください。

提出しました同じ情報を含むエラーレポートしかし、残念ながら、同じ問題を持つ他の人からだけ答えが出てきた。

私の声が正しく機能するにはどうすればよいですか?私はソフトウェア開発の経験がありますが、ドライバやカーネル空間には経験がありません。今この瞬間何でも喜んで学び、試みなさい。

修正する

alsa-info.shは最新のカーネルを使用します。

http://alsa-project.org/db/?f=4272343a3590cc08f192f98113dedfc0418afe52

ベストアンサー1

部分的な答え:

提供された情報には、この特定のコーデックが認識されないことを示すコーデック関連セクションがあります。

Codec: Realtek Generic
...
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa3813
Revision Id: 0x100002

私のシステムでは、最初の行は次のようになります。

Codec: Realtek ALC892

さまざまなコーデックを処理するためのパッチコードは、/sound/pci/hda/patch_realtek.c少なくとも現在使用している比較的古いカーネルについては にあります。

したがって、サウンドが機能するようにするには、コーデックの問題をデバッグしてからパッチを作成し、コードに含めてハードウェアを使用している他の誰もが動作できるようにする必要があります。

コーデック情報はcat /proc/asound/card*/codec\#*。 Intel HDAコーデックの仕組みを学び、デバッグしてください。

Pulseaudioを無効にすることをお勧めします。パッケージhda-verbからのインポートalsa-tools(少なくともDebianではそれを呼び出す方法)も役に立ちます。

データシートを検索すると、古いコーデックがどのように機能するかを確認できます。

おすすめ記事