Tuesday 29 November 2011

Handling Driver Malfunction in Ubuntu - Fixing broadcom driver malfunction in ubuntu.

In Ubuntu 11.04 many drivers come in already installed with the OS. Sometimes they can malfunction causing your kernel headers to get corrupted and as a result you will neither be able to boot into normal / recovery mode nor will you be able to do any fresh installation using ubuntu live. Now this is quite frustrating situation, however one can get rid of it by following these steps:
  1. Locating the exact driver that could have malfunctioned. Now this is the first and most important step that needs to be done. You can either go through the system log dump or you can try to recall your last actions after which your ubuntu fell into the limbo. In my case it was disabling my wireless adapter, hence i simply searched over the net for the name of drivers that could have been used on ubuntu for broadcom wireless adapter. 
  2. Black list the driver. This can be done by appending “blacklist driver_name” in the “/etc/modprobe.d/blacklist.conf”. 
  3. Restart the system and in grub menu select recovery mode. Once in the recovery mode select “dpkg” option i.e. recover broken packages. This will list kernel headers as a broken package along with other broken packages. Download and re-install these packages. 
  4. Restart the system and boot in to normal Ubuntu 11.04 environment.

Puzzled han ??? thinking Easier said then done. well perhaps a personal example of mine can help you map my issue on yours. As i mentioned earlier, In my case disabling wireless adapter (from the dedicated key) simply froze my OS. So it was quite probable that the driver of my wireless adapter was responsible for all of this. So i searched over the internet to find this very useful link, which helped me decide the driver name of broadcom wireless adapter. 
Following is the step by step recovery when broadcom wireless adapter malfunctioned on my system:
  • The broadcom driver was identified as  brcm80211.
  • Edit the black list: At system startup and at the grub menu select the “previous version” and select the recovery mode. In the recovery mode select the root shell. Once in the root shell edit the black list by using following command “nano /etc/modprobe.d/blacklist.conf” and append blacklist brcm80211 at the end of the file.
  • Restart the system, go in the recovery mode and select the package repair option. restart the system again and this time boot normally.
  • Once you have logged in you will see that enabling or disabling the wireless adapter won't freeze the OS any more as its driver has been black listed.
  • But you are not done now, as you have not only put the malfunctioning driver in the blacklist but also made your system handycap of using any driver for the wireless adapter. Hence Now in order to use the wifi adapter you will have to install proprietary driver for the wifi card. To do this first type the command "sudo apt-get install broadcom-sta-common"
  • Remove "blacklist brcm80211" from the end of "/etc/modprobe.d/blacklist.conf" and append it at the end of "/etc/modprobe.d/broadcom-sta-common.conf"
  • Append "lw" at the end of "/etc/modules". Restart the system.
  • Once the boot is completed, open "additional driver tool" and it will show you that your system can use proprietry drivers for broadcom wifi adapter. Install the drivers and reboot the system. 
  • Now you will be able to use the wifi adapter via proprietary drivers to connect to the available wifi access points :)

No comments:

Post a Comment