ACPI 웨이크 업 4 문자 코드 의미?


19

데스크탑 컴퓨터에서 일시 중단 된 후 즉시 깨우기를 피하기 위해 일부 이벤트비활성화 해야하며 시행 착오로 문제를 만들었습니다 (문제가 아닙니다). 그러나 나는 궁금합니다 ... 예를 들어 내 노트북에서 나는 긴 목록을 가지고 있습니다 /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
[...]

나는 주변을 검색했으며 첫 번째 열에서 4 문자 코드의 의미가있는 목록을 설명하는 장소를 찾을 수 없습니다. 장치 이름이 붙은 이벤트가 해당 장치에 의해 연결 / 생성 된 것으로 생각되지만 나머지는 빼고 거의 추측 할 수 없습니다.

예를 들어 이벤트 RP06가 무엇인지 어떻게 알 수 있습니까? 목록이 어디에 있습니까? 아니면 해당 코드가 공급 업체별로 있습니까?

답변:


24

코드는 BIOS의 DSDT (Differentiated System Description Table)에서 가져옵니다. 이 "표"는 메인 보드의 통합 장치, 종속 장치 및 전원 관리 기능을 설명합니다.

DSDT의 장치는 트리로 배열되며 각 경로 구성 요소는 4 자로 제한됩니다. 코드 /proc/acpi/wakeup는 공급 업체가 장치에 사용한 장치의 마지막 경로 구성 요소 (일명 이름)입니다.

벤더는 원하는대로 장치의 이름을 지정할 수 있으므로 벤더별로 고유합니다. 그러나 ACPI 사양 에서 예로 사용 되거나 명백한 약어이기 때문에 많은 공급 업체간에 공통적 인 이름이 있습니다 .

  • PS2K : PS / 2 키보드
  • PS2M : PS / 2 마우스
  • PWRB 또는 PBTN : 전원 버튼
  • 뚜껑 : 노트북 뚜껑
  • RP0x 또는 EXPx : PCIE 슬롯 #x (일명 PCI Express 루트 포트 #x)
  • EHCx 또는 USBx : USB 2.0 (EHCI) 칩
  • XHC : USB 3.0 (XHCI) 칩
  • PEGx : 그래픽 슬롯 #x 용 PCI Express
  • GLAN : 기가비트 이더넷

2
좋은 답변입니다! 감사. IGBE와 HDEF는 어떻습니까? ;-)
Monah Tuk

3
글쎄, 그들은 본질적으로 공급 업체에 따라 다르므로 너무 확신 할 수 없습니다. 그러나 HDEF는 대부분 "고화질"을 의미하므로 통합 오디오 장치 일 가능성이 높으며 IGBE는 "Intel Gigabit Ethernet"또는 "Integrated Gigabit Ethernet"을 나타낼 수 있으므로 이더넷 LAN 컨트롤러 여야합니다.
cg909

무엇에 대해 PXSX?
BuZZ-dEE

1
@ BuZZ-dEE PXSX는 PCI Express를 사용하는 장치의 일반적인 이름 인 것 같습니다. 적어도 내 컴퓨터에는 각 RP0x 장치에 해당하는 PXSX 장치가 하나 있습니다. 컴퓨터의 DSDT를 읽으면 자세한 정보를 얻을 수 있습니다 . /proc/acpi/wakeup출력 의 오른쪽에 PCI ID가 있으면 다음과 같이 출력과 연관시킬 수 있습니다.lspci
cg909

2

리눅스 커널의 ACPI 네임 스페이스에 대한 문서는 이러한 약어가 무엇인지에 대한 몇 가지 파편 힌트를 제공, 예를 들어, "범위 (RP03) 다음 pci0으로 전력 범위"와 커널 소스 / proc 파일에 대한 그것이를 말한다 dev->pnp.bus_id, 그러나 그것은하지 않습니다 도움.

958 페이지 acpi spec 5.0 은 매우 흥미롭지 만 이러한 이름에도 도움이되지 않습니다.


2

컴퓨터의 ACPI 테이블을 추출하고 디 컴파일 할 수 있습니다.

인텔의 ASL 컴파일러를 사용하면 시스템 DSDT 테이블을 소스 코드로 전환 할 수 있습니다.

당신은 설치해야합니다 acpica-tools:

  • 우분투 : sudo apt-get install acpica-tools
  • 아치 리눅스 : sudo pacman -S --needed acpica

단계는 다음과 같습니다.

  1. ACPI 테이블 추출 (루트로) : # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. 디 컴파일 : iasl -d dsdt.dat, 우리는 출력 파일을 얻는다dsdt.dsl
  3. 에 정의 된 장치 찾기 /proc/acpi/wakeup및과 비교dsdt.dsl

참고 문헌

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.