Ubuntu – Can’t get BCM4331 wireless working right


I have Ubuntu 12.10 on my Macbook Pro, which has BCM4331 for wifi. It's been working fairly well, except I've been having a problem that the connection will randomly stop working. Ubuntu still says I'm connected, but if I try pinging an address I get 100% dropped packets. I have to disconnect and reconnect to get it working again.

other question I decided to see if I could solve this, and found this answer, which is for the BCM4313, but I thought might also work for 4331. I removed the b43-fwcutter package, which was installed on my system, and am trying to get it to use the brcmsmac driver, but it's not working. After removing the b43-fwcutter package, I haven't been able to connect to the internet at all. I did "sudo modprobe brcmsmac" and it's showing it enabled in lsmod:

colin@MacBookPro:~$ lsmod | grep brc
brcmsmac              531905  0 
mac80211              540032  2 brcmsmac,b43
bcma                   35657  2 brcmsmac,b43
brcmutil               14756  1 brcmsmac
cfg80211              206797  3 brcmsmac,b43,mac80211
cordic                 12575  1 brcmsmac

However, lspci shows bcma being used:

03:00.0 Network controller: Broadcom Corporation BCM4331 802.11a/b/g/n (rev 02)
    Subsystem: Broadcom Corporation BCM4331 802.11a/b/g/n
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at b0600000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: bcma-pci-bridge
    Kernel modules: bcma

The thing is, I have "blacklist bcma" in my /etc/modprobe.d/blacklist.conf, so I don't know why it's still using it. That lspci output is exactly what was shown when I had my wireless working, but now that I've removed the b43-fwcutter package, it isn't functional. I found another question which does recommend b43-fwcutter, and that one is specifically for a Mac product with BCM4331, rather than BCM4313.

So is b43-fwcutter the best option, and I just have to live with these disconnects, or are there other things I can try?

Best Answer

I had the same problem. It was so annoying.

Finally, I resolved my issue by installing Ubuntu 13.04 (daily build, 20. March). Now, I am writing this answer on Ubuntu 13.04. The wireless issue is solved completely. Other hardware is working perfectly fine.

By the way, the wireless driver is installed by default and works out of the box. The driver is "wl" and not b43.