The Rawhide kernel changes almost everyday, and rarely (if ever) is a kmod-wl package available for the latest kernel. A natural solution is akmods, but, for me, most of the time, the akmods command fails with the following message:

FATAL: modpost: GPL-incompatible module wl.ko uses GPL-only symbol '__init_work'

This means that the module is licensed as proprietary, but it tries to use a function that is GPL only. Philosophical issues aside, all we need is a clever bit of magic to make it work. First, we need the source package. We could download it from the Broadcom website, but then we would need to manually patch it as well. The easiest way is to install the akmod-wl package, which will automatically fetch the latest version of the driver and associated patches to make it work. Once you install it, the driver package would be found at /usr/src/akmods/wl-kmod.latest. Extract it somewhere. There will be two packages inside it - one for i386 and one for x86_64. Extract the package for your architecture and apply the patches included in the archive like so:

for i in * ; do patch -p1 < $i ; done

Install it like so:

make && sudo make install

You might have to depmod it as well:

sudo depmod

That's it! The module will probably be loaded automatically when you boot. You can do so manually like this:

modprobe wl

Leave a Reply