Como saber quais drivers estão faltando no meu sistema?

0

Quando eu instalo o linux no meu laptop, ele geralmente instala todos os drivers fora da caixa, mas, recentemente, ao fazer uma parte pacman -Syu das mensagens exibidas estavam as linhas:

...
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> Running build hook: [keyboard]
...

Isso me fez pensar: como posso, como usuário, descobrir quais partes do meu sistema estão sem drivers? Eu sei que posso usar lspci -v etc. para listar os drivers em uso, mas estou especificamente perguntando sobre esses componentes, como os dois acima, que não têm o firmware / drivers instalados, para que eu possa usar essa informação para ir e pesquise como corrigir os problemas.

    
por sprocket12 27.05.2018 / 23:28

1 resposta

0

O aviso dos módulos pode estar faltando firmware. O que significa que o sistema tem um módulo, mas alguns de seus firmwares não estão instalados, o que é o caso de certos blobs binários ou outros problemas de distribuição.

Observe que o firmware do driver do aic94xx aqui link não tem uma licença de código aberto. A advertência é que você tem módulos instalados para os quais não existe firmware e, portanto, nenhuma maneira adequada de detectar o hardware que é compatível com ele. Quando você recebe esses avisos, indica que os módulos estão instalados, mas o sistema atual pode ou não ter dispositivos que os utilizem.

Como os drivers são, na verdade, partes de módulos, fica um pouco complicado verificar um tipo de driver em uso por esquema de dispositivo. Na verdade, os módulos podem depender uns dos outros e alguns "drivers" existem no próprio kernel.

Dispositivos de barramento técnico notificam o kernel de novos dispositivos e esses dispositivos são carregados com o qual qualquer módulo suporta esse dispositivo. O driver de dispositivo que cria nós de dispositivo em DEVfs com o barramento e números maiores e menores do dispositivo, mas esse sistema tem grandes limitações. Na prática, também se quer carregar automaticamente módulos como eventos e regras. O Udev usa o aliasing dos módulos para os nomes de barramento / dispositivo e, em seguida, carrega os modu- los conforme necessário e cria arquivos de dispositivos.

Usar udevadm info -a /dev/<device file> fornecerá informações para cada dispositivo já carregado. SUBSYSTEMS = sendo partes principais do Linux em uso e DRIVERS = sendo drivers em uso. Todos os nomes nessas esferas são então usados em aliases pelo udev em "/lib/modules/ uname -r /modules.alias".

Como você pode ver, não é tão claro quais dispositivos NÃO são carregados porque, por exemplo, um módulo pode ser carregado que suporta centenas de dispositivos (na forma de aliases), mas foi carregado apenas para um dispositivo.

    
por 28.05.2018 / 00:54