O módulo asus-laptop não pode ser carregado (nenhum desses dispositivos) no laptop Asus FX503

0

Estou rastreando o driver asus-laptop do 4.17.1 porque as teclas de controle da luz de fundo do meu teclado não estão funcionando. E, eu encontrei o driver não pode ser carregado, sempre relatou "Nenhum tal dispositivo". Então eu descobri que é porque o método add () (asus_acpi_add) do driver acpi nunca foi inserido. Pelo menos, algumas versões anteriores do kernel, como a 4.4.14, também têm o mesmo problema e eu ainda não encontrei uma versão de trabalho.

Alguém tem uma pista? Obrigado. -woody

    
por Woody Wu 09.07.2018 / 04:45

1 resposta

1

Quando o módulo for carregado, a função asus_acpi_add deverá ser chamada pelo subsistema ACPI se o firmware indicar que o sistema inclui um dispositivo com um ID PNP de ATK0100 ou ATK0101 . Isso é organizado pela chamada de inicialização do módulo acpi_bus_register_driver com o endereço de static struct acpi_driver asus_acpi_driver como um parâmetro. Essa estrutura inclui como seu elemento .ids uma tabela de IDs PNP / ACPI reconhecida por esse driver.

Então, a primeira coisa a verificar seria se o seu sistema possui IDs de dispositivo ATK0100 ou ATK0101.

Por favor, execute:

cat /sys/bus/pnp/devices/*/id

O resultado deve ser uma lista de IDs de PNP, um por linha. Se a lista não incluir ATK0100 nor ATK0101 , então há uma boa razão pela qual o módulo não está sendo carregado: o firmware da ACPI não reivindica ter a interface que este módulo usaria.

Na sua outra pergunta sobre o estouro de pilha, você menciona que o módulo asus_wmi foi detectado automaticamente em seu computador portátil. A interface WMI que este módulo acessa parece ter muitas funcionalidades diversas, incluindo o controle da luz de fundo do teclado. Os recursos suportados pelo hardware são aparentemente indicados pelo valor SFUN; no entanto, o significado de apenas alguns bits do valor SFUN é conhecido pelos desenvolvedores asus_wmi .

Como resultado, o arquivo de código-fonte asus-nb-wmi.c tem uma lista de modelos de notebooks da Asus e configurações específicas para o driver da chave de controle para cada modelo. Parece que o FX503 ainda não está listado lá; Se você puder compilar seus próprios kernels, você pode tentar adicionar seu modelo de notebook à lista e testar os valores peculiares de outros modelos de notebooks da Asus com funcionalidade semelhante; com sorte e persistência, você pode encontrar configurações viáveis dessa maneira se a implementação de hardware / firmware não for muito diferente.

Se você conseguir fazer isso, relate seus resultados para o autor do driver asus_wmi : dessa forma, seu trabalho também beneficiará outras pessoas que tenham o mesmo modelo que o seu. Você também terá seu nome adicionado à longa lista de colaboradores do kernel Linux.

Você também pode querer enviar um e-mail para o desenvolvedor desse driver para pedir conselhos: ele / ela provavelmente pode sugerir coisas mais específicas para tentar, se você estiver disposto a fazer o esforço.

    
por 09.07.2018 / 10:11