5

I have an ubuntu 12.04 LTS on Lenove Thinkpad Edge having Broadcom 4313 wireless. There are a lot of posts on getting 4313 wireless to work. For me, the only driver that works is brcmsmac.

After booting I have to type the following commands to get the wireless to work

sudo modprobe -r b43 wl brcmsmac
sudo modprobe brcmsmac 

If I enable b43, it is not detecting the wireless. wl keeps on trying to connect and is unable to connect. brcmsmac works in my computer. In many posts, I have seen that with 4313 chipset brcmsmac is the most dependable. I am ok with that.

1) At present the default driver loaded is wl. How can I change this to brcmsmac? I have blacklisted wl b43 etc in the blacklist... but somehow this is not working?

2)brcmsmac although works, is very slow. How do I get this to work fine

Any advice on how to proceed

Thanks again

demure
  • 2,322

2 Answers2

3

I suggest you remove the wl driver altogether:

sudo apt-get remove --purge bcmwl-kernel-source

Reboot and now tell us if brcmsmac is loaded:

lsmod | grep brcm

And tell us if it is working as expected.

chili555
  • 61,330
3

To answer your first question:

1) Purge the bcmwl-kernel-source and broadcom-sta-dkms packages from the system with apt-get remove --purge.

This causes the file /etc/modprobe.d/blacklist-bcm43.conf to be deleted, which is the file that the wl driver in these packages use to prevent the brcmsmac driver, and other conflicting drivers, from loading.

(As a sidenote, the bcmwl-kernel-source and broadcom-sta-dkms packages contain the same wl driver, just different versions. broadcom-sta-dkms has version 5.1 of the wl driver, while bcmwl-kernel-source has version 6.0.)

To answer your second question:

2) I have the same experience. The brcmsmac driver is considerably slower transfer-speed wise, and transfer speeds are erratic compared to wl.

Possibly related, the brcmsmac driver will also drop off the wireless network entirely quite often, with a "illegal channel, tx suppressed" message in syslog; a disconnect and subsequent reconnect via the Network Manager icon is required to make it work again.

(One theory could be that the erratic and slow transfer speeds arise because the driver drops TCP ACKs for transmission, and the dropping off of a network occurs when the driver drops ALL packets that should have been transmitted. I know more about TCP than WiFi though, an expert in wireless may have a different guess.)

I don't have a solution to this one, other than using the proprietary 'wl' or the reverse-engineered 'b43' driver. b43 may have problems with newer kernels, and the new version of wl shipped in bcmwl-kernel-source is also widely reported as being unstable, so the best option right now seems to be the version 5.1 wl driver shipped in the broadcom-sta-dkms package.