正しいACPIドライバを見つけるために試行錯誤を受ける必要はありません。

正しいACPIドライバを見つけるために試行錯誤を受ける必要はありません。

私のシステムは最小カーネル構成(ベースmake defconfig)で実行されています。

これで、システムのすべてが正しく機能するために追加のacpiデバイスドライバを有効にする必要があるかどうかを理解しようとしています。一致するドライバを見つけるには、有効にしてビルドして再起動してdmesgを確認してください。これは退屈でエラーが発生しやすいプロセスなので、システム情報に基づいて正しいドライバを選択できることを願っています。

lspci -nnPCI または USB デバイスの場合、以下を活用して検索できます。vendorId:deviceIdikB

また、このデータベースにACPIエントリが表示されますが、私のシステムからACPIデバイス情報を抽出する方法はわかりません。

ベストアンサー1

ACPI DSDT解決策は、BIOSからダンプしてデコンパイル(差分システム記述テーブル)することです。これには、使用しているシステムに関連するACPIデバイス初期化コードと必要なデバイスIDが含まれます。

次のコマンドを使用してDSDTをデコンパイルします(インストールする必要iaslがあります)。

cp /sys/firmware/acpi/tables/DSDT dsdt.dat
iasl -d dsdt.dat

次に、デコンパイルされたコードでデバイスIDを照会します。

grep '_HID.*"' dsdt.dsl

出力には、デバイスとそのデバイスIDを宣言するすべての行が含まれます。最後のステップは、LKDDbデバイスに必要なカーネルacpiドライバを見つけることです。

関連行をすばやく抽出するには、次のコマンドを使用できます。

wget https://cateee.net/sources/lkddb/lkddb.list
for i in $(grep '_HID.*"' dsdt.dsl | grep -o '"[A-Z0-9]*"'); do grep "$i" lkddb.list; done | sort -u > relevant

また、CONFIG_*出力のすべての変数をリストします。

cat relevant | grep -o 'CONFIG[A-Z0-9_]*' | sort -u

このリストは参考用であり、偽の肯定または否定がないことを保証するものではありません。自分がしていることを確実に知りたい場合は、dsdt.dsl自分で調べなければなりません。

おすすめ記事