Don't have network connection using a BCM4313 adapter

I just upgraded to Ubuntu 13.10, but since the upgrade I don't have internet access via wifi anymore.

I can:

  • See networks
  • Connect to a network
  • Ping myself (localhost, 192.168.0.103)

I can't:

  • Ping others (including other devices on the same wireless network, including the gateway/router)
  • Resolve hosts
  • Access any other external resource, whether on my own network or on the internet

Using Wireshark, I noticed my computer is continuously sending ARP-requests like "Who has 192.168.0.1 [which is the gateway]? Tell 192.168.0.103". It doesn't get any replies though. When I ping another IP-address for which it knows the mac-address (from cache), it turns out a packet loss of >90% occurs, and even if a packet manages to arrive it takes around 3000ms.

The output of route -n is:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 eth1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Before upgrading, wifi worked fine. Using other devices, wifi still works fine.Resetting the router didn't help. Ethernet still works after upgrading.

Any suggestions?

Update: I'm using the wl driver. Here's the relevant output of some commands:

lspci | grep Wireless
03:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01)

cat /etc/modprobe.d/blacklist.conf
[...]
blacklist mac80211
blacklist brcm80211
blacklist cfg80211
blacklist lib80211_crypt_tkip
blacklist lib80211
blacklist b43

cat /etc/rc.local
sudo modprobe -r lib80211
sudo insmod /lib/modules/3.2.0-30-generic-pae/kernel/net/wireless/lib80211.ko
sudo insmod /lib/modules/3.2.0-30-generic-pae/kernel/net/wireless/lib80211_crypt_wep.ko
sudo insmod /lib/modules/3.2.0-30-generic-pae/kernel/net/wireless/lib80211_crypt_tkip.ko
sudo insmod /lib/modules/3.2.0-30-generic-pae/kernel/net/wireless/lib80211_crypt_ccmp.ko
sudo modprobe wl
exit 0

The last lines are probably how I got wireless working after the previous upgrade (wireless has been a problem after each upgrade).

Update 2: added information about the exact hardware below.

The hardware is an integrated device, so I ran lspci -nn | grep -i network. The output is:

03:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)

Please do:

sudo modprobe -rv wl
sudo apt-get remove --purge bcmwl-kernel-source
sudo modprobe -v brcmsmac

now your wireless should be working.


If anyone else is experiencing a similar problem, and the guide above did not help, try using an earlier Linux kernel like 3.8. That was the only way I got around to this problem.