ACPIウェイクアップ4文字コードの意味?


19

デスクトップマシンでサスペンドした直後のウェイクアップを避けるために、何らかのイベント無効にする必要がありますが、試行錯誤で作成しました(問題なく動作します)。しかし、私は疑問に思う...例えば私のラップトップでは、私は長いリストを持っています/proc/acpi/wakeup

[...]
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *enabled   pci:0000:03:00.0
RP06      S4    *disabled
[...]

私は周りを検索しましたが、最初の列にある4文字のコードの意味を持つリストが説明されている場所を見つけることができません。デバイス名の付いたイベントは、そのデバイスによってリンク/生成されると想像しますが、残りのほとんどの部分は...途方もない推測を除いて途方に暮れています。

たとえば、イベントRP06とは何ですか?リストはどこにありますか?または、そのコードはベンダー固有ですか?

回答:


24

コードは、BIOSのDSDT(Differentiated System Description Table)から取得されます。この「テーブル」には、メインボード上の統合デバイス、それらの依存関係、および電源管理機能が記載されています。

DSDTのデバイスはツリーに配置され、各パスコンポーネントは4文字に制限されています。のコードは/proc/acpi/wakeup、ベンダーがデバイスに使用したデバイスの最後のパスコンポーネント(別名)です。

ベンダーは任意のデバイスに好きな名前を付けることができるため、本質的にベンダー固有です。しかし、ACPI仕様で例として使用されているか、または明白な略語であるため、多くのベンダーに共通する名前がいくつかあります。

  • PS2K:PS / 2キーボード
  • PS2M:PS / 2マウス
  • PWRBまたはPBTN:電源ボタン
  • LID:ラップトップのふた
  • RP0xまたはEXPx:PCIEスロット#x(別名PCI Expressルートポート#x)
  • EHCxまたはUSBx:USB 2.0(EHCI)チップ
  • XHC:USB 3.0(XHCI)チップ
  • PEGx:グラフィックススロット#xのPCI Express
  • GLAN:ギガビットイーサネット

2
素晴らしい答えです!ありがとう。IGBEとHDEFはどうですか?;-)
モナトゥク

3
まあ、それらは本質的にベンダー固有であるため、あまり確信が持てません。ただし、HDEFはおそらく「高解像度」を意味するため、統合オーディオデバイスである可能性が高く、IGBEは「Intel Gigabit Ethernet」または「Integrated Gigabit Ethernet」の略であるため、イーサネットLANコントローラーである必要があります。
cg909

どうPXSX
BuZZ-dEE

1
@ BuZZ-dEE PXSXは、PCI Expressを使用するデバイスの一般的な名前のようです。少なくとも私のコンピューターには、各RP0xデバイスに対応するPXSXデバイスが1つあります。お使いのコンピューターのDSDTを読むと、より多くの情報を得ることができます。PCI IDは右側に存在する場合/proc/acpi/wakeup、出力、あなたはの出力にそれを関連付けることができますlspci
cg909

2

acpi名前空間に関する Linuxカーネルのドキュメントには、これらの略語が何か興味深いヒントがあります。たとえば、「Scope(RP03):the PCI0 power scope」で、/ procファイルのカーネルソースはそれがであると言っています dev->pnp.bus_idが、そうではありません助けて。

958ページのacpi仕様5.0は非常に興味深いものですが、これらの名前についても助けにはなりません。


2

コンピューターのACPIテーブルを抽出して逆コンパイルできます。

IntelのASLコンパイラを使用すると、システムのDSDTテーブルをソースコードに変換できます。

インストールする必要がありますacpica-tools

  • Ubuntu: sudo apt-get install acpica-tools
  • Arch Linux: sudo pacman -S --needed acpica

手順は次のとおりです。

  1. ACPIテーブルを抽出します(ルートとして): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. 逆コンパイル:iasl -d dsdt.dat、出力ファイルを取得しますdsdt.dsl
  3. で定義されたデバイスを検索し/proc/acpi/wakeup、それと比較しますdsdt.dsl

参照資料

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.