올바른 ACPI 드라이버를 찾기 위해 시행착오를 겪을 필요가 없습니다.

올바른 ACPI 드라이버를 찾기 위해 시행착오를 겪을 필요가 없습니다.

내 시스템은 최소 커널 구성( 기반 make defconfig)에서 실행되고 있습니다.

이제 시스템의 모든 것이 제대로 작동하려면 어떤 추가 acpi 장치 드라이버를 활성화해야 하는지 알아내려고 노력 중입니다. 일치하는 드라이버를 찾으려면 활성화하고 빌드한 후 재부팅하고 dmesg를 확인하세요. 이는 지루하고 오류가 발생하기 쉬운 프로세스이므로 시스템 정보를 기반으로 올바른 드라이버를 선택할 수 있기를 바랍니다.

lspci -nnPCI 또는 USB 장치의 경우 다음을 활용하고 검색 할 수 있습니다.vendorId:deviceIdikB.

또한 이 데이터베이스에 ACPI 항목이 표시되지만 내 시스템에서 ACPI 장치 정보를 추출하는 방법을 알 수 없습니다.

답변1

ACPI DSDT해결책은 BIOS에서 덤프하고 디컴파일(차등 시스템 설명 테이블)하는 것입니다. 여기에는 사용 중인 시스템과 관련된 ACPI 장치 초기화 코드와 필요한 장치 ID가 포함됩니다.

다음 명령을 사용하여 DSDT를 디컴파일합니다( iasl설치해야 함).

cp /sys/firmware/acpi/tables/DSDT dsdt.dat
iasl -d dsdt.dat

그런 다음 디컴파일된 코드에서 장치 ID를 쿼리합니다.

grep '_HID.*"' dsdt.dsl

출력에는 장치와 해당 장치 ID를 선언하는 모든 줄이 포함됩니다. 마지막 단계는 LKDDb장치에 필요한 커널 acpi 드라이버를 찾는 것입니다.

관련 줄을 빠르게 추출하려면 다음 명령을 사용할 수 있습니다.

wget https://cateee.net/sources/lkddb/lkddb.list
for i in $(grep '_HID.*"' dsdt.dsl | grep -o '"[A-Z0-9]*"'); do grep "$i" lkddb.list; done | sort -u > relevant

또한 CONFIG_*출력의 모든 변수를 나열합니다.

cat relevant | grep -o 'CONFIG[A-Z0-9_]*' | sort -u

이 목록은 참고용일 뿐이며 거짓 긍정이나 부정이 없음을 보장하지 않습니다. 자신이 하고 있는 일을 확실히 알고 싶다면 dsdt.dsl스스로 조사해야 합니다.

관련 정보