Pesquisar identificador ACPI
Descubra de qual fabricante é um identificador ACPI ou PNP e, se for um dos padrão, qual dispositivo ele é. Cole o identificador conforme exibido pelo Gerenciador de Dispositivos do Windows, pela pasta /sys/bus/acpi/devices do Linux ou pelo _HID de uma tabela DSDT e pressione Pesquisar.
Aceita ACPI\VEN_INT&DEV_33A1, ACPI\PNP0C0A, INTC1055, PNP0C0A:00, 0x0A0CD041 ou apenas o prefixo
Exemplos:

Como funciona

O firmware descreve com tabelas ACPI os dispositivos que o sistema operacional não consegue descobrir sozinho, como a bateria, os botões, os sensores, os controladores I²C ou o TPM. Cada um leva um identificador de hardware (_HID) formado por um prefixo de fabricante e quatro dígitos hexadecimais escolhidos por esse fabricante.

Os prefixos são atribuídos pelo UEFI Forum em dois registros: o de PNP IDs, de três letras, e o de ACPI IDs, de quatro caracteres. Esta ferramenta pesquisa o prefixo nos dois registros e, para os identificadores padrão definidos pela Microsoft e pela especificação ACPI, também informa qual dispositivo é.

Exemplos

ACPI\PNP0A08Microsoft — PCI Express Root BridgeFormato do Gerenciador de Dispositivos do Windows. Os PNP0xxx são identificadores genéricos que qualquer fabricante pode usar.
ACPI\VEN_INT&DEV_33A1Intel Corporation — Intel Power Engine Plug-in (Modern Standby)Forma VEN_/DEV_ que o Windows usa nos IDs de hardware. A Intel usa o prefixo INT desde antes de existir o registro de ACPI IDs.
Name (_HID, EisaId ("PNP0C0A"))PNP0C0A — Control Method Battery — EisaId 0x0A0CD041Linha de uma tabela DSDT desmontada. A ferramenta também aceita o inteiro compactado gerado pelo EisaId.
10EC5640Realtek Semiconductor Co., Ltd.Alguns fabricantes usam como prefixo o vendor ID que a PCI-SIG lhes atribuiu; nesse caso, o fabricante vem do catálogo PCI.

Casos de uso

  • Identificar um dispositivo desconhecido do Gerenciador de Dispositivos cujo ID de hardware começa com ACPI\.
  • Encontrar o driver correto para sensores, botões ou controladores I²C de um notebook a partir do seu _HID.
  • Interpretar os dispositivos declarados em uma tabela DSDT ou SSDT ao depurar o firmware ou escrever um patch ACPI.
  • Saber a qual empresa corresponde o código de fabricante de três letras que um monitor informa em seu EDID.

Perguntas frequentes

Onde encontro o identificador ACPI de um dispositivo?

No Windows, nas propriedades do dispositivo no Gerenciador de Dispositivos, guia Detalhes, propriedade "IDs de hardware". No Linux, cada dispositivo aparece como uma pasta em /sys/bus/acpi/devices com seu identificador no nome, e o arquivo hid dessa pasta o contém. Nas tabelas do firmware, desmontadas com acpidump e iasl, é o objeto _HID de cada dispositivo.

Por que encontra o fabricante, mas não o dispositivo?

Os registros do UEFI Forum atribuem apenas o prefixo. O significado dos quatro dígitos seguintes é decidido por cada fabricante e não existe um catálogo público como o de PCI ou USB. O dispositivo só é conhecido nos identificadores padrão, como os PNP0xxx da Microsoft ou os ACPI00xx da especificação, e em alguns muito difundidos.

Qual é a diferença entre um PNP ID e um ACPI ID?

O PNP ID tem um prefixo de três letras e vem do Plug and Play dos anos noventa; os mesmos códigos identificam o fabricante de um monitor no EDID. O ACPI ID tem um prefixo de quatro letras ou dígitos e é o formato atual. Ambos têm quatro dígitos hexadecimais depois do prefixo.

O que é o EisaId compactado?

Na linguagem ASL, a macro EisaId converte um PNP ID em um inteiro de 32 bits: cada letra ocupa cinco bits e o número do produto, os dois bytes seguintes. Por isso, ao desmontar uma tabela, às vezes aparece um número como 0x0A0CD041 em vez de PNP0C0A. A ferramenta aceita esse número e mostra a forma compactada de qualquer PNP ID.

Com que frequência os dados são atualizados?

A ferramenta usa uma cópia dos registros de ACPI IDs e de PNP IDs publicados pelo UEFI Forum e a renova periodicamente. Junto ao resultado são exibidas a data dessa cópia e a data em que o prefixo foi aprovado.