Estou tentando encontrar um driver apropriado para um adaptador WiFi USB que é relatado por lsusb
como
0bda:a811 Realtek Semiconductor Corp.
No WikiDevi , é descrito como "Realtek RTL8811AU Wireless 802.11ac 1x1 USB 2.0".
Existem vários repositórios que parecem fornecer drivers para RTL8811AU, por exemplo, este (é baseado neste que afirma suportar rtl8811AU). No entanto, gostaria de verificar se o módulo compilado suporta o dispositivo antes de tentar instalá-lo no kernel (é o sistema de outra pessoa que estou tentando mexer).
Da pesquisa online concluí que deveria bastar que a saída do modinfo
comando para o módulo driver retornasse uma linha do tipo
alias: usb:v0BDApA811d*dc*dsc*dp*ic*isc*ip*in*
que conteria o ID do fornecedor correto ( 0BDA
) e o ID do produto correto ( A811
).
Quão confiável é este método de verificação de compatibilidade de drivers com dispositivos? É assim que o kernel seleciona o driver?
A correspondência exata dos IDs do fornecedor e do dispositivo é necessária? Por exemplo, tentei primeiro instalar o rtl8812au-dkms
pacote com apt-get
(no Ubuntu). No entanto, a saída de modinfo 8812au | grep A811
foi
alias: usb:v7392pA811d*dc*dsc*dp*ic*isc*ip*in*
-- o ID do dispositivo está correto, mas o ID do fornecedor não corresponde. Isso significa que este driver não funcionará com este dispositivo?
Este método é confiável, é assim que o kernel (ou
udev
ekmod
) escolhe um módulo para carregar: quando um novo dispositivo aparece (inclusive no momento da inicialização, quando todos os dispositivos são testados), ele procura um módulo com ummodalias
descritor de dispositivo correspondente.Se
modinfo
listar um alias para um módulo que corresponda ao seu dispositivo, isso significa que o módulo alega oferecer suporte ao dispositivo. No seu caso, o módulo suporta dispositivos correspondentes a 7392:A811 (e talvez outros que não correspondam ao seugrep
), mas não ao seu dispositivo, portanto, parecertl8812au-dkms
que não ajudará muito (pelo menos em seu estado atual) ... O O registro USB do Linux está offline no momento, então não posso verificar mais. Observe que os aliases são um primeiro nível de filtragem e não garantem absolutamente o suporte - os módulos usam suas próprias funções de teste quando inicializam e podem usar outras informações. Consulte esta questão para obter mais detalhes e a documentação do kernel para obter informações sobre tudo o que pode aparecer em um alias.(A semelhança nos identificadores sugere que o driver também pode oferecer suporte ao seu dispositivo, então você pode tentar adicionar os ids ao módulo para ver o que acontece.)