Can't connect to any wireless connection after updating

I have a dual boot (windows 7 and ubuntu 12.04) setup and, for (apparently) no reason, I can't connect to any wireless connection on my ubuntu box at all. (on Windows it works.)

I think it stopped working on the first reboot after it has been upgraded (regular updating via cli apt-get).

I can still see the connections on the top toolbar but, upon trying to connect to them, I get asked the password and then it tries to connect for about 30 seconds and then times out.

After looking for answers on the web I thought that posting the output of sudo lshw -C network would help the people who try to help me:

*-network
description: Wireless interface
product: BCM4313 802.11b/g/n Wireless LAN Controller
vendor: Broadcom Corporation
physical id:0
bus info: pci@0000:02:00.0
logical name: eth1
version:01
serial: c0:f8:da:08:c5:e6
width:64bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless 
configuration: broadcast=yes driver=wl0 driverversion=6.20.155.1(r326264) latency=0 multicast=yes wireless=IEEE 802.11abg
resources: irq:16 memory:fe500000-fe503fff

There is another entry for the Ethernet. But I didn't think it's very relevant to the problem at hand.

I have no internet access so I can't install stuff from the repos.(I'm writing this from a spare netbook I have)

My kernel version is 3.2.0-36-generic-pae

In my modprobe.d/blacklist.conf file, I have these lines:

# replaced by b43 and ssb
blacklist bcm43xx

Thought it might be relevant.

what i have tried so far

  • delete /etc/resolv.conf - didn't work
  • add the following entries to blacklist.conf (in addition to the ne that was there already)and reboot: - didn't work either

    blacklist b43legacy
    blacklist b43
    blacklist bcma
    blacklist ndiswrapper
    blacklist wl0
    
  • the steps described on this answer - didn't work wither

I think you have to revert to 5.100.82.112 version of the bcmwl-kernel-source package (worked for me with the same device), since the 6.20.155.1 version of it doesn't work with bcm4313 hybrid bluetooth/wireless device.

It was taken from 6.20.55.19 from here, see also this bug report.

This 6.20.55.19 package was made for special wireless devices sold with Dell laptop (bcm43142 aka bcm4365 or Dell 1704) with Ubuntu installed on it.

According to Broadcom Linux page support:

The last official supported wireless device driver corresponding
to the bcm4313 device is the 5.100.82.112.

You probably have to fix this version in the Ubuntu package management system by adding the lines below to a new created /etc/apt/preferences.d/bcmwl-kernel-source file (sudo maybe necessary):

Package: bcmwl-kernel-source
Pin: version 5.100.82.112+bdcom*
Pin-Priority: 1001

Maybe, the two versions of these packages have to be available in the repositories since they are not made for the same devices, but with a special attention to there respective version number or name in order to avoid one to replace the other uselessly.


OK SO THIS IS WHAT ACTUALLY WORKED!

install new driver: brcmsmac

  • download the firmware for the new driver from the kernel website

  • copy the mentioned files to /lib/firmware/brcm

  • unload the old drivers and load the new one (brcmsmac)

    • For e.g.: sudo modprobe -r wl (to unload) and sudo modprobe brcmsmac (to load)

      NOTE: If wl does not work, your wireless driver name is probably not wl. Check the name among the drivers of your computer with the following command:

      lsmod
      
  • happy. =)

mostly based upon an excellent guide over at Linux wireless page

more info on this theme on the official Ubuntu docs on wireless stuff


I had the same problem with my BCM4313 802.11b/g/n Wireless LAN Controller after the latest kernel upgrade. In my opinion the problem is the incompatibility between the controller's current firmware and the new kernel. The solution I have adopted is to run:

sudo modprobe -r wl
sudo apt-get install linux-firmware-nonfree
sudo apt-get remove --purge bcmwl-kernel-source
sudo modprobe b43
sudo rm /etc/modprobe.d/broadcom-sta-common.conf