ACPI acordado com 4 letras significa significado?

19

Eu tenho que desativar algum evento para evitar uma ativação imediata após a suspensão na minha máquina desktop, e fiz isso por tentativa e erro (funciona bem, para que não seja um problema). Mas eu me pergunto ... por exemplo, no meu laptop, tenho uma longa lista em /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
[...]

Pesquisei e não consigo encontrar um lugar onde uma lista com o significado do código de quatro letras na primeira coluna seja explicada. Eu imagino que os eventos com um nome de dispositivo depois deles sejam vinculados / gerados por esse dispositivo, mas estou perplexo com a maioria do resto ... menos suposições.

Como posso saber o que é, por exemplo, evento RP06? Existe alguma lista em algum lugar? Ou esses códigos são específicos do fornecedor?

Rmano
fonte

Respostas:

24

Os códigos vêm da DSDT (Tabela de descrição diferenciada do sistema) do seu BIOS. Esta "tabela" descreve os dispositivos integrados na sua placa principal, suas dependências e funções de gerenciamento de energia.

Os dispositivos no DSDT são organizados em uma árvore e cada componente do caminho é limitado a 4 caracteres. Os códigos /proc/acpi/wakeupsão os últimos componentes do caminho (também conhecidos como nomes) dos dispositivos que o fornecedor usou para os dispositivos.

Eles são inerentemente específicos do fornecedor, pois o fornecedor pode nomear qualquer dispositivo como desejar. Mas existem alguns nomes comuns entre muitos fornecedores, porque eles são usados ​​como exemplos na especificação da ACPI ou porque são abreviações óbvias:

  • PS2K: teclado PS / 2
  • PS2M: mouse PS / 2
  • PWRB ou PBTN: botão liga / desliga
  • TAMPA: Tampa do laptop
  • RP0x ou EXPx: slot PCIE #x (também conhecido como porta-raiz PCI Express #x)
  • EHCx ou USBx: chip USB 2.0 (EHCI)
  • XHC: chip USB 3.0 (XHCI)
  • PEGx: slot PCI Express para Graphics #x
  • GLAN: Gigabit Ethernet
cg909
fonte
2
Ótima resposta! Obrigado. E o IGBE e o HDEF? ;-)
Monah Tuk
3
Bem, eles são inerentemente específicos do fornecedor, então você não pode ter certeza. Mas o HDEF provavelmente significa "Alta definição", portanto é provável que seja o dispositivo de áudio integrado e o IGBE possa significar "Intel Gigabit Ethernet" ou "Integrated Gigabit Ethernet", por isso deve ser o controlador da LAN Ethernet.
cg909
Que tal PXSX?
precisa saber é o seguinte
1
@ BuZZ-dEE PXSXparece ser um nome genérico para dispositivos que usam PCI Express. Pelo menos no meu computador, há um dispositivo PXSX correspondente a cada dispositivo RP0x. Você pode obter mais informações lendo o DSDT do seu computador . Se houver um ID do PCI no lado direito na /proc/acpi/wakeupsaída, você poderá correlacioná-lo à saída delspci
cg909
2

A documentação do kernel do linux no espaço de nomes acpi fornece algumas dicas tentadoras sobre quais podem ser essas abreviações, por exemplo, "Escopo (RP03): o escopo de energia PCI0" e o fonte kernel para o arquivo / proc diz que é um dev->pnp.bus_id, mas isso não acontece Socorro.

A especificação 5.0 da ACPI de 958 páginas é muito interessante, mas também não ajuda nesses nomes.

meuh
fonte
2

Você pode extrair e descompilar a tabela ACPI para o seu computador.

Ao usar o compilador ASL da Intel, você pode transformar a tabela DSDT do sistema em código-fonte.

Você precisará instalar acpica-tools:

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

Aqui estão os passos:

  1. Extrair tabelas ACPI (como raiz): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. Descompilar:, iasl -d dsdt.datobtemos o arquivo de saídadsdt.dsl
  3. Encontre o dispositivo definido em /proc/acpi/wakeupe compare-o comdsdt.dsl

Referências

mja
fonte