Comment 5 for bug 1160471

Revision history for this message
Urop (urop) wrote :

I made sure my system was purged of all STA stuff

sudo apt-get purge bcmwl-kernel-source broadcom-sta-common broadcom-sta-source

and then tried to install again with the latest kernel (3.8.0-21-generic x86_64) via

sudo apt-get install bcmwl-kernel-source

My system didn't go into kernel panic on boot this time, but it still crashed on login. After purging the STA drivers, I decided to try the brcmsmac ones. They don't work properly. This signal strength is stuck at a very low level when I'm sat a meter from the router. So I purged them too.

So, I tried to compile from source. I downloaded the STA source (64bit) from http://www.broadcom.com/support/802.11/linux_sta.php

I tried following the compilation instructions in the readme provided, but I encountered a few problems which I was able to resolve. First one: I got "fatal error: asm/system.h: No such file or directory". I was able to correct this by changing

#include <asm/system.h>

to

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
#include <asm/system.h>
#endif

in src/wl/sys/wl_linux.c (following https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/993506/comments/6)

Second one: error: unknown field ‘ndo_set_multicast_list’ specified in initialiser. I was able to correct this by changing

.ndo_set_multicast_list = wl_set_multicast_list,

to

.ndo_set_rx_mode = wl_set_multicast_list,

in src/wl/sys/wl_linux.c (following http://www.linuxquestions.org/questions/slackware-14/compiling-broadcom-driver-947294/#post4689850). The compilation was then successful. I am still getting "WARNING: modpost: missing MODULE_LICENSE() in /home/laputopu/Downloads/hybrid-portsrc_x86_64-v5_100_82_112/wl.o", but it doesn't seem to matter. Finally, I had to do

sudo modprobe lib80211_crypt_tkip

before doing

sudo insmod wl.ko

and finally I have wireless back. I've attached a patch for the changes to wl_linux.c. I hope that helps someone else.