It all started after I installed beta version of ubuntu server admin tools, everything was going smooth, wireless worked out of the box, (unlike 10.10 where I had to install some freedom hating broadcom driver) Big Brovar had the awesome kde 4.6.2, seating on top what has been tagged the most significant Linux kernel release for desktop users in a long time kernel v2.6.38 (with the magic patch and all). Life was good.
Then it happened!
Trouble started when I wanted to send some files to my phone from laptop via the bluetooth. (You see I happen to be among the unfortunate set of people who have the same button for enabling wireless and bluetooth.) I tried enabling the laptop’s bluetooth when the whole system came to a standstill. I did a forceful shut-down after which my install never saw the light of the day again. Everytime I tried booting the PC, it always got stuck at the boot process. The scary part was even the the Kubuntu 11.04 Livecd stopped Booting at all! Only Kubuntu 10.10 was able to boot (from Livecd).
Searching for Answers
The most frustrating part of my Nasty Natty experience (pun intended) was trying to determine the root cause. How to explain how an OS installs fine, then crashes and not only does it become unable to boot, even attempts to do a clean install also hits a dead then. Here were a list of my suspicions
Corrupt system Memory (I know from experience that the best way to test if a system has bad memory is to load in a Live cd, this was ruled out by the fact that I was able to load on Kubuntu 10.10 on Live cd without issues)
Then I thought maybe a bad system Bios (I really wanted to pursue this option and upgrade the system BIOS via windows. Thankfully windows won’t install, complained about some partition issues)
I also considered a badly burnt media (but checked its integrity and it was said to be ok)
Kde 4.6 bug? (Xubuntu 11.04 had the same problem) kernel bug? hmmm
Light Bulb Moment…
Came while talking to a friend about the problem on irc and he suggested it was most like kernel problem probably some bad module. This got me thinking, I remembered the last thing I was doing (or wanted to do) when all this started was enabling bluetooth (shares the same button as the wireless)
I then decided to go into the system BIOS and disable the wireless / bluetooth radio. Fired the LiveCD of Xubuntu 11.04 and Voilà Xubuntu booted successfully, no hangs or freeze. But also no wireless.
After I was able to get Xubuntu to successfully boot. I proceeded to install it. (for testing purpose I enabled the wireless radio from Bios and had the issue the freshly install Xubuntu 11.04 freeze at login screen (again) disabled it and everything worked fine (But no wireless)
Here is what I now did to fix the issue on my laptop. I did not have this issue on 10.10 mostly because that version of Kubuntu did not ship with the opensource broadcom drivers. I had to use the binary only driver from broadcom, hence the idea was to revert back to that setup.
first I installed the broadcom-sta-common (It provide a binary only closed source driver for broadcom)
sudo apt-get install broadcom-sta-common
Once installed, I edited the following file /etc/modprobe.d/broadcom-sta-common.conf
NB its always a good thing to backup before making any change to config file.
backup with this command
cp /etc/modprobe.d/broadcom-sta-common.conf /etc/modprobe.d/broadcom-sta-common.conf-orig
In case things gets jammed up and you want to revert, you can easily do so with
cp /etc/modprobe.d/broadcom-sta-common.conf-orig /etc/modprobe.d/broadcom-sta-common.conf
kdesudo kate /etc/modprobe.d/broadcom-sta-common.conf
NB gnome user should use gtksudo gedit in place of kdesudo kate (and if you are like me, you can use ever reliable vim )
Anyway I blacklisted the brcm80211 open source broadcom driver by adding this line to, /etc/modprobe.d/broadcom-sta-common.conf blacklist brcm80211 Before the last line. When done, everything looked like this
# wl module from Broadcom conflicts with ssb
# We must blacklist the following modules:
install wl /sbin/modprobe --ignore-install wl $CMDLINE_OPTS
I saved the file and then edited this file /etc/modules (again backup before editing)
cp /etc/modules /etc/modules-orig
By adding the module for the closed source (freedom hating but stable) broadcom driver so it is loaded at every system boot
I added lw to the end of /etc/modules so the file looks like this
# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
Saved the file, exited, and rebooted this time with the wireless on to test if the issue as been fixed. The laptop rebooted fine, no issue, but still no wireless. Then I started the Kubuntu additional driver tool or kdesudo jockey-kde (from commandline on Kubuntu) or gtksudo jockey (from commandline on Ubuntu) which searched and informed me I needed to activate some proprietary drivers to make the wireless card work properly. I enabled them, It did its magic and voilà the wireless card came on. I was able to enable and disable it without the system kernel panicing.
I rebooted my laptop and there was no problem at all, everything worked just like it did on 10.10.
I explained the same step to some dude on irc having similar problem and my solution worked for him so I decided to share in case anyone is having such problems.