DKMS: version magic $old_kernel mod_unload modversions should be $new_kernel

Upgrading from Ubuntu 16.10 to 17.04, I found that the wireless usb dongle built with DKMS to use the 8812au module no longer works. ‘dmesg’ shows the following error:

[  429.307856] 8812au: version magic '4.8.0-46-generic SMP mod_unload modversions ' should be '4.10.0-19-generic SMP mod_unload '

Checking my current DKMS status, I see two kernal versions for the 8812au:

dave@desktop:~$ dkms status
8812au, 4.2.2, 4.10.0-19-generic, x86_64: installed
8812au, 4.2.2, 4.8.0-46-generic, x86_64: installed

This should work, but it does not…The root cause looks to be that while the driver was upgraded for the new kernel, its code was not updated to reflect the new version number.

The fastest way I found to fix this was to nuke all versions of the 8812au module, and reinstall.

1. Delete all version of 8812au

dave@desktop:/usr/src/8812au-4.2.2$ sudo dkms remove 8812au/4.2.2 --all

2. Reinstall the module with DKMS

dave@desktop:/usr/src/8812au-4.2.2$ sudo dkms install -m 8812au -v 4.2.2

You should not be able to plugin your device and confirm it is now working:

Before:

[  201.755249] usb 3-3.3: SerialNumber: 123456
[  201.758747] 8812au: version magic '4.8.0-46-generic SMP mod_unload modversions ' should be '4.10.0-19-generic SMP mod_unload '

After:

[ 1032.071975] usb 3-3.3: USB disconnect, device number 11
[ 1033.575992] usb 3-3.3: new high-speed USB device number 12 using xhci_hcd
[ 1033.676357] usb 3-3.3: New USB device found, idVendor=0bda, idProduct=8812
[ 1033.676358] usb 3-3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1033.676359] usb 3-3.3: Product: 802.11n NIC
[ 1033.676360] usb 3-3.3: Manufacturer: Realtek
[ 1033.676360] usb 3-3.3: SerialNumber: 123456
[ 1033.761077] usbcore: registered new interface driver rtl8812au

Leave a Reply

Your email address will not be published. Required fields are marked *

*