A solução é despejar e descompilar a ACPI DSDT
(Tabela de descrição do sistema diferenciado) do BIOS. Isso inclui código para inicialização de dispositivo ACPI específico para o sistema usado e, portanto, também inclui os IDs de dispositivo necessários.
Decompile o DSDT com os seguintes comandos ( iasl
deve ser instalado)
cp /sys/firmware/acpi/tables/DSDT dsdt.dat
iasl -d dsdt.dat
Em seguida, consulte o código descompilado para identificar o dispositivo
grep '_HID.*"' dsdt.dsl
A saída incluirá todas as linhas em que um dispositivo é declarado e os respectivos IDs de dispositivo. Finalmente, use LKDDb
para encontrar os drivers acpi necessários para os dispositivos.
Para uma extração rápida das linhas relevantes, você pode usar isto:
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
Além disso, liste todas as variáveis CONFIG_*
da saída:
cat relevant | grep -o 'CONFIG[A-Z0-9_]*' | sort -u
Note que esta lista é apenas uma orientação e não garante estar livre de falsos positivos ou falsos negativos. Se você quiser ter certeza sobre o que está fazendo, investigue o dsdt.dsl
.