[solved] Wrong wl module version


(Richard) #1

Hello,

This is my first void installation and is on a freshly wiped machine.

I have installed void apparently ok. Connected ethernet and downloaded the wl module for the internal broadcom card (I know from previous distros on this machine that the wl driver is the correct choice).

After rebooting; wl is not loaded. modprobe wl produces:

modprobe: FATAL: Module wl not found in directory /lib/modules/4.12.13_1

Looking in /lib/modules and /boot shows me that I am running 4.12.13_1 kernel and I have an extensive directory tree with 4.12.13_1 modules. I also have a directory 4.17.4_1 containing only the broadcom wl driver.

So, questions:

  • How did I get into this mess? What did I do wrong in xbps-* to end up with drivers for the wrong kernel?
  • How can I download or rebuild wl for 4.12.13_1?
    or, alternatively
  • How can I upgrade my kernel to 4.17.4_1? It’s been at least 10 years since I had any need to tinker with the kernel and I am fairly rusty.

Many thanks for your help.


#2

Void linux employs broadcom-wl-dkms located in the non-free repository to build the wl kernel module locally for every new kernel that is installed on the users computer.

xbps-install void-repo-nonfree
xbps-install broadcom-wl-dkms

Reference:
https://wiki.voidlinux.eu/Dynamic_Kernel_Module_Support


(Richard) #3

Thank you. I am aware of those commands. They are what I used in order to install wl. What I do not understand is why these commands produced a driver for the wrong kernel?


#4

The problem could be that the kernel headers are missing. Did you update the system after your fresh install?


(Richard) #5

No, no updates.

Since it is physically awkward getting the laptop connected to the router via ethernet, my no. 1 priority was getting wireless up and running. Any updates and other admin were to follow later.

Do I infer that this was the wrong approach? Can I not install wl to a freshly build system?

Thanks again.


#6

I think the best way would be if you managed to connect your laptop via ethernet again and do a xbps-install -Su. That way you should get the latest kernel plus kernel headers and building the broadcom-wl-module via dkms should be no problem.

Alternatively, you’d have to identify possible missing packages, download them on a different PC (if available), copy them e.g. onto a USB flash drive and install them from there.


(Richard) #7

Thanks. I will try tonight.

Do I infer that this will force a kernel upgrade? So wl will likely be working but the 4.12.13_1 kernel is discarded and 4.17.4_1 is required?


#8

I think when you installed broadcom-wl-dkms it pulled in dkms and linux-headers. The meta package linux-headers currently points to linux4.17-headers (which was at version 4.17.4 at that time). Note that just the headers have been installed, not the kernel itself.

Of the 4.12 series the version that’s available in the repo is 4.12.4. The headers for 4.12.3 aren’t available anymore so that’s why the module wasn’t built. But anyway, you would have to install linux4.12-headers manually.

So I think downloading linux4.12 and linux4.12-headers (or 4.17) onto a flash drive and installing them on your laptop should be enough (if connecting via ethernet isn’t an option). Just run xbps-reconfigure -f linux4.12 (or 4.17) afterwards to build the dkms module. When your wifi works you can do a full system update. If you need help how to install the packages manually just say so. :slight_smile:


(Richard) #9

You have been very helpful. Again, many thanks.


(Erin) #10

You may have to update more than once. Keep running it until it returns with nothing to update.


(Richard) #11

Done.

Thanks for all the advice.