1.) After upgrading my existing 10.10 installation to 11.04, the system initially was left completely unable to start. I never found out why, but the problem later reappeared (see 3) and was fixed by blacklisting the apparently broken brcm80211 kernel module (alternatively by disabling the wireless device in bios, either one worked). Without knowing that, I had no option but to reinstall.
2.) I did a clean install of 11.04, which at least got the system to boot again. However, NetworkManager now claimed "wireless interface disabled by hardware switch" even though the device was set to be enabled (and after disabling the hardware switch) in bios. Some searching showed that others had fixed this problem by downgrading the also broken bcmwl-kernel-source package from the Natty version "18.104.22.168+bdcom-0ubuntu3" back to the Maverick version "22.214.171.124+bdcom-0ubuntu5", and so I did exactly that, and it worked for a week.
3.) The hardware switch was still disabled, so I enabled it in Bios and tried to use it now that the issue seemed to be fixed. Bad idea. The system froze and was left in the same unbootable state as in 1, even after disabling the hardware switch again. I searched a bit and found a post that had solved the problem by installing broadcom-sta-common and blacklisting the brcm80211 module, and this made my system bootable again. Still no wireless.
4.) Currently, the system recognizes that there is a wireless module, but it can't use it. When I installed the latest bcmwl-kernel-source module, I got the issue from 2.) ("disabled by hardware switch"); when I downgraded back to 5.60, this message disappeared but I still can't connect to anything. "iwlist scan" shows an error of "failed to read scan data: invalid argument".
modprobe -l wl shows that the file updates/dkms/wl.ko is loaded which is binary-identical to the file /var/lib/dkms/bcmwl/126.96.36.199+bdcom/2.6.38-11-generic/x86_64/module/wl.ko.
I also grepped modprobe -l for "wl" to see what else might be enabled, and got back the following. Not sure if any of it is relevant:
Code: Select all