ACPI réveil Signification du code à 4 lettres?


19

Je dois désactiver un événement pour éviter un réveil immédiat après une suspension dans ma machine de bureau, et je l'ai fait par essais et erreurs (fonctionne bien, donc ce n'est pas un problème). Mais je me demande ... par exemple dans mon ordinateur portable j'ai une longue liste dans /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
[...]

J'ai cherché et je ne trouve pas un endroit où une liste avec la signification du code à 4 lettres dans la première colonne est expliquée. J'imagine que les événements avec un nom d'appareil après eux sont liés / générés par cet appareil, mais je suis perdu avec la plupart des autres ... moins les suppositions sauvages.

Comment puis-je savoir ce qu'est, par exemple, un événement RP06? Y a-t-il quelque part une liste? Ou ces codes sont-ils spécifiques au fournisseur?

Réponses:


24

Les codes proviennent du DSDT (Tableau de Description du Système Différencié) de votre BIOS. Ce "tableau" décrit les périphériques intégrés sur votre carte mère, leurs dépendances et leurs fonctions de gestion de l'alimentation.

Les appareils du DSDT sont organisés dans une arborescence et chaque composant de chemin est limité à 4 caractères. Les codes dans /proc/acpi/wakeupsont les derniers composants de chemin (alias les noms) des appareils que le vendeur a utilisés pour les appareils.

Ils sont intrinsèquement spécifiques au fournisseur, car le fournisseur peut nommer n'importe quel appareil à sa guise. Mais certains noms sont communs à de nombreux fournisseurs, soit parce qu'ils sont utilisés comme exemples dans la spécification ACPI, soit parce qu'ils sont des abréviations évidentes:

  • PS2K: clavier PS / 2
  • PS2M: souris PS / 2
  • PWRB ou PBTN: bouton d'alimentation
  • COUVERCLE: Couvercle pour ordinateur portable
  • RP0x ou EXPx: emplacement PCIE #x (également appelé port racine PCI Express #x)
  • EHCx ou USBx: puce USB 2.0 (EHCI)
  • XHC: puce USB 3.0 (XHCI)
  • PEGx: PCI Express pour l'emplacement graphique #x
  • GLAN: Gigabit Ethernet

2
Très bonne réponse! Merci. Qu'en est-il de l'IGBE et du HDEF? ;-)
Monah Tuk

3
Eh bien, ils sont intrinsèquement spécifiques au fournisseur, vous ne pouvez donc pas être trop sûr. Mais HDEF signifie très probablement "Haute définition", donc il est probable que ce soit le périphérique audio intégré et IGBE pourrait signifier "Intel Gigabit Ethernet" ou "Integrated Gigabit Ethernet", donc ce devrait être le contrôleur LAN Ethernet.
cg909

Et alors PXSX?
BuZZ-dEE

1
@ BuZZ-dEE PXSXsemble être un nom générique pour les périphériques utilisant PCI Express. Au moins sur mon ordinateur, il y a un périphérique PXSX correspondant à chaque périphérique RP0x. Vous pouvez obtenir plus d'informations en lisant le DSDT de votre ordinateur . S'il y a un identifiant PCI sur le côté droit dans la /proc/acpi/wakeupsortie, vous pouvez le corréler à la sortie delspci
cg909


2

Vous pouvez extraire et décompiler la table ACPI pour votre ordinateur.

En utilisant le compilateur ASL d'Intel, vous pouvez transformer la table DSDT de votre système en code source.

Vous devrez installer acpica-tools:

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

Voici les étapes:

  1. Extraire les tables ACPI (en tant que root): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. Décompiler:, iasl -d dsdt.datnous obtenons le fichier de sortiedsdt.dsl
  3. Rechercher un appareil défini dans /proc/acpi/wakeupet le comparer avecdsdt.dsl

Les références

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.