web-dev-qa-db-fra.com

Netgear AC600 (alias A6100) dongle wifi, géré par dkms, échoue dans le noyau 4.4.0-47

J'ai utilisé avec succès un dongle wifi Netgear AC600 (alias A6100) depuis un certain temps maintenant dans mon système 16.04 et l'ai également réussi à le gérer par dkms, afin qu'il soit automatiquement reconstruit sur les mises à jour du noyau.

Sur la dernière mise à jour du noyau, à 4.4.0-47-générique, le module a été reconstruit et chargé avec succès par dkms, mais il est complètement non fonctionnel. Il n'apparaît même pas dans iwconfig.

Revenir au noyau 4.4.0-45 restaure les fonctionnalités.

Est-ce que quelqu'un sait ce qui s'est passé dans le nouveau noyau pour casser cela? Le pilote rtl8812AU est-il peut-être inclus dans ce noyau? Si oui, comment supprimer le seul dkms créé pour moi?

Merci pour tout conseil.

Edit: La sortie de modinfo 8812au|grep vermagic est

vermagic: 4.4.0-45-generic SMP mod_unload modversions 686

La sortie de ls -al /var/lib/dkms/rtl8812au est

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

Modifier 2:

La sortie de ls /usr/src est

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

La sortie de ls /var/lib/dkms est

dkms_dbversion rtl8812AU_8821AU_linux

Modifier 3:

La sortie de dkms status est

rtl8812AU_8821AU_linux, 1.0, 4.4.0-45-generic, i686: installed
rtl8812AU_8821AU_linux, 1.0, 4.4.0-47-generic, i686: installed
1
Organic Marble

Le module du noyau dkms 8812au contient un bogue, qui le fait être construit pour le mauvais noyau lors d'une mise à jour logicielle qui inclut les mises à jour du noyau.

Spécifique à votre cas, procédez comme suit:

Téléchargez la nouvelle source (au format Zip) à partir de https://github.com/diederikdehaas/rtl8812A . Développez le Zip et copiez le dossier source dans /usr/src/rtl8812au-4.3.14. Modifiez le fichier dkms.conf et changez:

MAKE="'make'"

à

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

Dans le terminal (ne vous embêtez pas à copier/coller quoi que ce soit après les #, ce sont juste des commentaires pour vous):

  1. Sudo dkms remove rtl8812AU_8821AU_linux/1.0 --all # supprimer les anciens modules du noyau
  2. Sudo rm -r /usr/src/rtl8812AU_8821AU_linux-1.0 # supprimer l'ancien code source

  3. Sudo dkms add rtl8812au/4.3.14 # ajouter la source/usr/src à l'arborescence dkms

  4. Sudo dkms build rtl8812au/4.3.14 # construire le pilote

  5. Sudo dkms install rtl8812au/4.3.14 # installe le pilote

  6. dkms status # vérifie que la version correcte est installée sur le noyau actuel

  7. modinfo 8812au|grep vermagic # vérifie la valeur vermagique correcte

2
heynnema