ACPI Wakeup 4-Buchstaben-Code Bedeutung?

19

Ich muss ein Ereignis deaktivieren , um ein sofortiges Aufwecken nach dem Anhalten auf meinem Desktop-Computer zu vermeiden, und ich habe es durch Ausprobieren gemacht (funktioniert gut, das ist also kein Problem). Aber ich frage mich ... zum Beispiel in meinem Laptop habe ich eine lange Liste in /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
[...]

Ich habe mich umgesehen und finde keinen Ort, an dem eine Liste mit der Bedeutung des 4-Buchstaben-Codes in der ersten Spalte erklärt wird. Ich stelle mir vor, dass die Ereignisse mit einem Gerätenamen danach von diesem Gerät verknüpft / generiert werden, aber ich bin mit den meisten anderen ratlos ... abzüglich wilder Vermutungen.

Woher kann ich wissen, was zum Beispiel ein Ereignis RP06ist? Gibt es irgendwo eine Liste? Oder sind diese Codes herstellerspezifisch?

Rmano
quelle

Antworten:

24

Die Codes stammen aus der DSDT (Differentiated System Description Table) Ihres BIOS. Diese "Tabelle" beschreibt die auf Ihrem Mainboard integrierten Geräte, ihre Abhängigkeiten und Energieverwaltungsfunktionen.

Geräte im DSDT sind in einem Baum angeordnet und jede Pfadkomponente ist auf 4 Zeichen begrenzt. Die Codes in /proc/acpi/wakeupsind die letzten Pfadkomponenten (auch bekannt als die Namen) der Geräte, die der Hersteller für die Geräte verwendet hat.

Sie sind von Natur aus herstellerspezifisch, da der Hersteller jedes Gerät nach Belieben benennen kann. Es gibt jedoch einige Namen, die von vielen Anbietern gemeinsam verwendet werden, entweder weil sie als Beispiele in der ACPI-Spezifikation verwendet werden oder weil es sich um offensichtliche Abkürzungen handelt:

  • PS2K: PS / 2-Tastatur
  • PS2M: PS / 2-Maus
  • PWRB oder PBTN: Einschaltknopf
  • LID: Laptopdeckel
  • RP0x oder EXPx: PCIE-Steckplatz #x (auch bekannt als PCI Express Root Port #x)
  • EHCx oder USBx: USB 2.0 (EHCI) Chip
  • XHC: USB 3.0 (XHCI) Chip
  • PEGx: PCI Express für Grafiksteckplatz Nr. X
  • GLAN: Gigabit-Ethernet
cg909
quelle
2
Gute Antwort! Vielen Dank. Was ist mit IGBE und HDEF? ;-)
Monah Tuk
3
Nun, sie sind von Natur aus herstellerspezifisch, Sie können sich also nicht sicher sein. Aber HDEF bedeutet höchstwahrscheinlich "High Definition", also ist es wahrscheinlich das integrierte Audiogerät und IGBE könnte für "Intel Gigabit Ethernet" oder "Integrated Gigabit Ethernet" stehen, also sollte es der Ethernet LAN-Controller sein.
CG909
Was ist PXSX?
BuZZ-dEE
1
@ BuZZ-dEE PXSXscheint ein generischer Name für Geräte zu sein, die PCI Express verwenden. Zumindest auf meinem Computer gibt es ein PXSX-Gerät, das jedem RP0x-Gerät entspricht. Weitere Informationen erhalten Sie möglicherweise, wenn Sie die DSDT Ihres Computers lesen . Wenn sich auf der rechten Seite eine PCI-ID in der /proc/acpi/wakeupAusgabe befindet, können Sie diese mit der Ausgabe vonlspci
cg909 22.01.18
2

Der Linux - Kernel - Dokumentation auf ACPI - Namespace gibt einige verlockende Hinweise auf das, was diese Abkürzungen auch sein mag, zB „Scope (RP03): die PCI0 Leistungsumfang“ und die Kernel - Quelle für das / proc - Datei sagt es ist dev->pnp.bus_id, aber das bedeutet nicht Hilfe.

Die 958-seitige acpi-Spezifikation 5.0 ist sehr interessant, aber auch für diese Namen gibt es keine Hilfe.

meuh
quelle
2

Sie können die ACPI-Tabelle für Ihren Computer extrahieren und dekompilieren.

Mit dem ASL-Compiler von Intel können Sie die DSDT-Tabelle Ihres Systems in Quellcode umwandeln.

Sie müssen Folgendes installieren acpica-tools:

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

Hier sind die Schritte:

  1. ACPI-Tabellen extrahieren (als root): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. Dekompilieren: iasl -d dsdt.datWir erhalten die Ausgabedateidsdt.dsl
  3. Suchen Sie das in definierte Gerät /proc/acpi/wakeupund vergleichen Sie es mitdsdt.dsl

Verweise

mja
quelle