ACPI 식별자 검색
ACPI 또는 PNP 식별자가 어느 제조업체의 것인지, 표준 식별자라면 어떤 장치인지 확인하세요. Windows 장치 관리자, Linux의 /sys/bus/acpi/devices 폴더 또는 DSDT 테이블의 _HID에 표시된 그대로 식별자를 붙여넣고 검색을 누르세요.
ACPI\VEN_INT&DEV_33A1, ACPI\PNP0C0A, INTC1055, PNP0C0A:00, 0x0A0CD041 또는 접두사만 허용
예:

작동 방식

펌웨어는 배터리, 버튼, 센서, I²C 컨트롤러, TPM처럼 운영 체제가 스스로 검색할 수 없는 장치를 ACPI 테이블로 기술합니다. 각 장치에는 제조업체 접두사와 해당 제조업체가 정한 16진수 네 자리로 구성된 하드웨어 식별자(_HID)가 있습니다.

접두사는 UEFI Forum이 두 개의 레지스트리에서 할당합니다. 세 글자로 된 PNP ID 레지스트리와 네 글자로 된 ACPI ID 레지스트리입니다. 이 도구는 두 레지스트리에서 접두사를 검색하고, Microsoft와 ACPI 사양이 정의한 표준 식별자의 경우 어떤 장치인지도 알려 줍니다.

예시

ACPI\PNP0A08Microsoft — PCI Express Root BridgeWindows 장치 관리자의 형식입니다. PNP0xxx는 모든 제조업체가 사용할 수 있는 범용 식별자입니다.
ACPI\VEN_INT&DEV_33A1Intel Corporation — Intel Power Engine Plug-in (Modern Standby)Windows가 하드웨어 ID에 사용하는 VEN_/DEV_ 형식입니다. Intel은 ACPI ID 레지스트리가 생기기 전부터 INT 접두사를 사용해 왔습니다.
Name (_HID, EisaId ("PNP0C0A"))PNP0C0A — Control Method Battery — EisaId 0x0A0CD041디스어셈블한 DSDT 테이블의 한 줄입니다. 이 도구는 EisaId가 생성하는 압축된 정수도 허용합니다.
10EC5640Realtek Semiconductor Co., Ltd.일부 제조업체는 PCI-SIG가 할당한 공급업체 ID를 접두사로 사용합니다. 이 경우 제조업체는 PCI 카탈로그에서 가져옵니다.

활용 사례

  • 하드웨어 ID가 ACPI\로 시작하는 장치 관리자의 알 수 없는 장치를 식별합니다.
  • _HID를 바탕으로 노트북의 센서, 버튼 또는 I²C 컨트롤러에 맞는 드라이버를 찾습니다.
  • 펌웨어를 디버깅하거나 ACPI 패치를 작성할 때 DSDT 또는 SSDT 테이블에 선언된 장치를 해석합니다.
  • 모니터가 EDID에서 보고하는 세 글자 제조업체 코드가 어느 회사의 것인지 알아봅니다.

자주 묻는 질문

장치의 ACPI 식별자는 어디서 찾을 수 있나요?

Windows에서는 장치 관리자에서 장치 속성을 열고 자세히 탭의 "하드웨어 ID" 속성에서 확인할 수 있습니다. Linux에서는 각 장치가 /sys/bus/acpi/devices 아래에 이름에 식별자가 포함된 폴더로 나타나며, 해당 폴더의 hid 파일에도 식별자가 들어 있습니다. acpidump와 iasl로 디스어셈블한 펌웨어 테이블에서는 각 장치의 _HID 개체입니다.

제조업체는 찾는데 장치는 찾지 못하는 이유는 무엇인가요?

UEFI Forum 레지스트리는 접두사만 할당합니다. 뒤따르는 네 자리의 의미는 각 제조업체가 정하며, PCI나 USB 같은 공개 카탈로그는 없습니다. 장치를 알 수 있는 것은 Microsoft의 PNP0xxx나 사양의 ACPI00xx 같은 표준 식별자와 널리 쓰이는 일부 식별자뿐입니다.

PNP ID와 ACPI ID의 차이는 무엇인가요?

PNP ID는 세 글자 접두사를 가지며 1990년대 플러그 앤 플레이에서 유래했습니다. 같은 코드가 EDID에서 모니터 제조업체를 식별합니다. ACPI ID는 영문자 또는 숫자 네 자리로 된 접두사를 가지며 현재 사용되는 형식입니다. 둘 다 접두사 뒤에 16진수 네 자리가 붙습니다.

압축된 EisaId란 무엇인가요?

ASL 언어에서 EisaId 매크로는 PNP ID를 32비트 정수로 변환합니다. 각 문자는 5비트를 차지하고 제품 번호는 그다음 2바이트를 차지합니다. 그래서 테이블을 디스어셈블하면 PNP0C0A 대신 0x0A0CD041 같은 숫자가 나타나기도 합니다. 이 도구는 그런 숫자를 허용하며, 모든 PNP ID의 압축 형식도 보여 줍니다.

데이터는 얼마나 자주 업데이트되나요?

이 도구는 UEFI Forum이 게시하는 ACPI ID 및 PNP ID 레지스트리의 사본을 사용하며 주기적으로 갱신합니다. 결과와 함께 해당 사본의 날짜와 접두사가 승인된 날짜가 표시됩니다.