데스크탑 컴퓨터에서 일시 중단 된 후 즉시 깨우기를 피하기 위해 일부 이벤트 를 비활성화 해야하며 시행 착오로 문제를 만들었습니다 (문제가 아닙니다). 그러나 나는 궁금합니다 … 예를 들어 내 노트북에서 나는 긴 목록을 가지고 있습니다 /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
가 무엇인지 어떻게 알 수 있습니까? 목록이 어디에 있습니까? 아니면 해당 코드가 공급 업체별로 있습니까?
답변
코드는 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 : 기가비트 이더넷
답변
리눅스 커널의 ACPI 네임 스페이스에 대한 문서는 이러한 약어가 무엇인지에 대한 몇 가지 파편 힌트를 제공, 예를 들어, “범위 (RP03) 다음 pci0으로 전력 범위”와 커널 소스 / proc 파일에 대한 그것이를 말한다
dev->pnp.bus_id
, 그러나 그것은하지 않습니다 도움.
958 페이지 acpi spec 5.0 은 매우 흥미롭지 만 이러한 이름에도 도움이되지 않습니다.
답변
컴퓨터의 ACPI 테이블을 추출하고 디 컴파일 할 수 있습니다.
인텔의 ASL 컴파일러를 사용하면 시스템 DSDT 테이블을 소스 코드로 전환 할 수 있습니다.
당신은 설치해야합니다 acpica-tools
:
- 우분투 :
sudo apt-get install acpica-tools
- 아치 리눅스 :
sudo pacman -S --needed acpica
단계는 다음과 같습니다.
- ACPI 테이블 추출 (루트로) :
# cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
- 디 컴파일 :
iasl -d dsdt.dat
, 우리는 출력 파일을 얻는다dsdt.dsl
- 에 정의 된 장치 찾기
/proc/acpi/wakeup
및과 비교dsdt.dsl