Wyszukaj identyfikator ACPI
Dowiedz się, od jakiego producenta pochodzi identyfikator ACPI lub PNP, a jeśli jest to identyfikator standardowy, jakie to urządzenie. Wklej identyfikator w postaci wyświetlanej przez Menedżera urządzeń systemu Windows, folder /sys/bus/acpi/devices w Linuksie lub _HID z tabeli DSDT i naciśnij Szukaj.
Akceptuje ACPI\VEN_INT&DEV_33A1, ACPI\PNP0C0A, INTC1055, PNP0C0A:00, 0x0A0CD041 lub sam prefiks
Przykłady:

Jak to działa

Firmware opisuje za pomocą tabel ACPI urządzenia, których system operacyjny nie może wykryć samodzielnie, takie jak bateria, przyciski, czujniki, kontrolery I²C czy TPM. Każde z nich ma identyfikator sprzętowy (_HID) złożony z prefiksu producenta i czterech cyfr szesnastkowych wybieranych przez tego producenta.

Prefiksy przydziela UEFI Forum w dwóch rejestrach: PNP ID, trzyliterowych, i ACPI ID, czteroznakowych. To narzędzie wyszukuje prefiks w obu rejestrach, a w przypadku identyfikatorów standardowych zdefiniowanych przez Microsoft i specyfikację ACPI podaje też, jakie to urządzenie.

Przykłady

ACPI\PNP0A08Microsoft — PCI Express Root BridgeFormat Menedżera urządzeń systemu Windows. PNP0xxx to identyfikatory ogólne, których może używać każdy producent.
ACPI\VEN_INT&DEV_33A1Intel Corporation — Intel Power Engine Plug-in (Modern Standby)Postać VEN_/DEV_, której Windows używa w identyfikatorach sprzętu. Intel używa prefiksu INT od czasów sprzed powstania rejestru ACPI ID.
Name (_HID, EisaId ("PNP0C0A"))PNP0C0A — Control Method Battery — EisaId 0x0A0CD041Wiersz zdezasemblowanej tabeli DSDT. Narzędzie akceptuje też skompresowaną liczbę całkowitą generowaną przez EisaId.
10EC5640Realtek Semiconductor Co., Ltd.Niektórzy producenci używają jako prefiksu vendor ID przydzielonego im przez PCI-SIG; wtedy producent pochodzi z katalogu PCI.

Przypadki użycia

  • Zidentyfikuj nieznane urządzenie w Menedżerze urządzeń, którego identyfikator sprzętu zaczyna się od ACPI\.
  • Znajdź właściwy sterownik do czujników, przycisków lub kontrolerów I²C laptopa na podstawie ich _HID.
  • Zinterpretuj urządzenia zadeklarowane w tabeli DSDT lub SSDT podczas debugowania firmware'u lub pisania łatki ACPI.
  • Sprawdź, jakiej firmie odpowiada trzyliterowy kod producenta, który monitor podaje w swoim EDID.

Najczęstsze pytania

Gdzie znaleźć identyfikator ACPI urządzenia?

W systemie Windows we właściwościach urządzenia w Menedżerze urządzeń, karta Szczegóły, właściwość „Identyfikatory sprzętu”. W systemie Linux każde urządzenie pojawia się jako folder w /sys/bus/acpi/devices z identyfikatorem w nazwie, a zawiera go plik hid w tym folderze. W tabelach firmware'u, zdezasemblowanych za pomocą acpidump i iasl, jest to obiekt _HID każdego urządzenia.

Dlaczego znajduje producenta, ale nie urządzenie?

Rejestry UEFI Forum przydzielają tylko prefiks. O znaczeniu czterech kolejnych cyfr decyduje każdy producent i nie istnieje publiczny katalog taki jak dla PCI czy USB. Urządzenie jest znane tylko w przypadku identyfikatorów standardowych, takich jak PNP0xxx Microsoftu czy ACPI00xx ze specyfikacji, oraz niektórych bardzo rozpowszechnionych.

Czym różni się PNP ID od ACPI ID?

PNP ID ma prefiks z trzech liter i wywodzi się z Plug and Play z lat dziewięćdziesiątych; te same kody identyfikują producenta monitora w EDID. ACPI ID ma prefiks z czterech liter lub cyfr i jest obecnym formatem. Oba mają po prefiksie cztery cyfry szesnastkowe.

Czym jest skompresowany EisaId?

W języku ASL makro EisaId zamienia PNP ID na 32-bitową liczbę całkowitą: każda litera zajmuje pięć bitów, a numer produktu dwa kolejne bajty. Dlatego po dezasemblacji tabeli czasem pojawia się liczba taka jak 0x0A0CD041 zamiast PNP0C0A. Narzędzie akceptuje tę liczbę i pokazuje skompresowaną postać dowolnego PNP ID.

Jak często dane są aktualizowane?

Narzędzie korzysta z kopii rejestrów ACPI ID i PNP ID publikowanych przez UEFI Forum i okresowo ją odświeża. Obok wyniku wyświetlana jest data tej kopii oraz data zatwierdzenia prefiksu.