Significato codice a 4 lettere di sveglia ACPI?


19

Devo disabilitare alcuni eventi per evitare un risveglio immediato dopo la sospensione nella mia macchina desktop e l'ho fatto per tentativi ed errori (funziona bene, quindi non è un problema). Ma mi chiedo ... ad esempio nel mio laptop ho una lunga lista 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
[...]

Ho cercato in giro e non riesco a trovare un posto in cui viene spiegato un elenco con il significato del codice di 4 lettere nella prima colonna. Immagino che gli eventi con un nome di dispositivo dopo di essi siano collegati / generati da quel dispositivo, ma sono in perdita con la maggior parte del resto ... meno ipotesi selvagge.

Come posso sapere cos'è, ad esempio, l'evento RP06? C'è un elenco da qualche parte? O quei codici sono specifici del fornitore?

Risposte:


24

I codici provengono dal DSDT (tabella di descrizione del sistema differenziata) del BIOS. Questa "tabella" descrive i dispositivi integrati sulla scheda madre, le loro dipendenze e le funzioni di gestione dell'alimentazione.

I dispositivi nel DSDT sono disposti in un albero e ogni componente del percorso è limitato a 4 caratteri. I codici in /proc/acpi/wakeupsono gli ultimi componenti del percorso (ovvero i nomi) dei dispositivi utilizzati dal fornitore per i dispositivi.

Sono intrinsecamente specifici del fornitore, in quanto il fornitore può nominare qualsiasi dispositivo a suo piacimento. Ma ci sono alcuni nomi comuni tra molti fornitori, sia perché sono usati come esempi nelle specifiche ACPI sia perché sono abbreviazioni ovvie:

  • PS2K: tastiera PS / 2
  • PS2M: mouse PS / 2
  • PWRB o PBTN: pulsante di accensione
  • COPERCHIO: coperchio del laptop
  • RP0x o EXPx: slot PCIE #x (aka PCI Express Root Port #x)
  • EHCx o USBx: chip USB 2.0 (EHCI)
  • XHC: chip USB 3.0 (XHCI)
  • PEGx: PCI Express per slot di grafica #x
  • GLAN: Gigabit Ethernet

2
Bella risposta! Grazie. Che dire di IGBE e HDEF? ;-)
Monah Tuk

3
Bene, sono intrinsecamente specifici del fornitore, quindi non si può essere troppo sicuri. Ma HDEF molto probabilmente significa "Alta definizione", quindi è probabile che sia il dispositivo audio integrato e IGBE potrebbe indicare "Intel Gigabit Ethernet" o "Integrated Gigabit Ethernet", quindi dovrebbe essere il controller Ethernet LAN.
cg909,

Che dire PXSX?
BuZZ-dEE,

1
@ BuZZ-dEE PXSXsembra essere un nome generico per i dispositivi che utilizzano PCI Express. Almeno sul mio computer c'è un dispositivo PXSX corrispondente a ciascun dispositivo RP0x. Puoi ottenere maggiori informazioni leggendo il DSDT del tuo computer . Se /proc/acpi/wakeupnell'output è presente un ID PCI sul lato destro, è possibile correlarlo all'output dilspci
cg909


2

È possibile estrarre e decompilare la tabella ACPI per il computer.

Utilizzando il compilatore ASL di Intel, è possibile trasformare la tabella DSDT dei sistemi in codice sorgente.

Dovrai installare acpica-tools:

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

Ecco i passaggi:

  1. Estrai tabelle ACPI (come root): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. Decompila: iasl -d dsdt.datotteniamo il file di outputdsdt.dsl
  3. Trova il dispositivo definito /proc/acpi/wakeupe confrontalo condsdt.dsl

Riferimenti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.