Netgear AC600 (também conhecido como A6100) wifi dongle, dkms gerenciado, falha no kernel 4.4.0-47

1

Eu usei com sucesso um dongle wifi Netgear AC600 (também conhecido como A6100) por algum tempo no meu sistema 16.04 e também tive sucesso com ele por dkms, para que ele fosse automaticamente reconstruído em atualizações do kernel.

Na última atualização do kernel, para o 4.4.0-47-generic, o módulo foi reconstruído e carregado com sucesso pelo dkms, mas é completamente não-funcional. Ele nem aparece no iwconfig.

Recuar para o kernel 4.4.0-45 restaura a funcionalidade.

Alguém sabe o que aconteceu no novo kernel para quebrar isso? É, talvez, o driver rtl8812AU incluído neste kernel? Se sim, como removo o dkms construído para mim?

Obrigado por qualquer conselho.

Editar: A saída de modinfo 8812au|grep vermagic é

vermagic: 4.4.0-45-generic SMP mod_unload modversions 686

A saída de ls -al /var/lib/dkms/rtl8812au é

ls: cannot access '/var/lib/dkms/rtl8812au': no such file or directory

Editar 2:

A saída de ls /usr/src é

linux-headers-4.4.0-45          linux-headers-4.4.0-47-generic
linux-headers-4.4.0-47-generic  rtl8812AU_8821AU_linux-1.0
linux-headers-4.4.0-47

A saída de ls /var/lib/dkms é

dkms_dbversion rtl8812AU_8821AU_linux

Editar 3:

A saída de dkms status é

rtl8812AU_8821AU_linux, 1.0, 4.4.0-45-generic, i686: installed
rtl8812AU_8821AU_linux, 1.0, 4.4.0-47-generic, i686: installed
    
por Organic Marble 11.11.2016 / 01:21

1 resposta

3

O módulo do kernel dkms 8812au tem um bug, que faz com que seja construído para o kernel errado durante uma atualização de software que inclui atualizações do kernel.

Específicos para o seu caso, faça o seguinte:

Faça o download da nova fonte (no formato zip) do link . Expanda o zip e copie a pasta de origem para /usr/src/rtl8812au-4.3.14 . Edite o arquivo dkms.conf e altere:

MAKE="'make'"

para

MAKE="'make' KVER=${kernelver}"

No terminal (não se incomode em copiar / colar nada depois dos #, eles são apenas comentários para você):

  1. sudo dkms remove rtl8812AU_8821AU_linux/1.0 --all # remove os módulos antigos do kernel
  2. sudo rm -r /usr/src/rtl8812AU_8821AU_linux-1.0 # excluir o código-fonte antigo

  3. sudo dkms add rtl8812au/4.3.14 # adiciona a origem / usr / src à árvore dkms

  4. sudo dkms build rtl8812au/4.3.14 # constrói o driver

  5. sudo dkms install rtl8812au/4.3.14 # instala o driver

  6. dkms status # verifica se a versão correta está instalada no kernel atual

  7. modinfo 8812au|grep vermagic # verifique o valor vermagico correto

por heynnema 11.11.2016 / 02:46