Let's finish what I started.. Short summary. My old DELL Inspiron 5150 has a Broadcom Corporation BCM4306 802.11b/g Wireless LAN controller HW installed. It does not really work that well with the Linux drivers that came with Ubuntu.. Sadly but true. I have tried to solve this problem for a long time without much success, but a few days ago I got so fed up with the poor performance of the WLAN so I gave it another go. And, success!
Basically I searched Google a bit and found a solution with the help of Dopefish Lives
and an Ubuntu forum post
. I almost followed Dopefish's instructions to the point, but not quite - so I will take the time to summarize exactly what I did.
The solution is to remove the standard Linux driver for the BCM4306 and instead use the NDIS driver.
- Use the Synaptic Package Manager and install the packages cabextract and ndiswrapper.
- Create the file /etc/modprobe.d/blacklist-bcm.conf with content b43
- Download the driver to a temporary folder
- Extract the driver with cabextract sp33008.exe
- Install the driver with sudo ndiswrapper -i bcmwl5.inf and afterwards confirm with ndiswrapper -l
- Load ndiswrapper with sudo depmod -a followed by sudo modprobe ndiswrapper
- Make sure the interfaces are set up correctly in /etc/network/interfaces
iface lo inetloopback
- Write the modprobe configuration with sudo ndiswrapper -m
- Append ndiswrapper to /etc/modules to make ndiswrapper load automatically at boot
This should be enough. But it was not for me.. I had problems loading those modules and found out that it is due to that Ubuntu loads the modules in the wrong order(?). If it doesn't for you, run lshw -C network and locate your BCM card. Look for driver=ndiswrapper+bcmwl5. It is probably not there..(more probably you find module=ssb)
To fix the load issue, add the following quick and dirty script. It will unload "all" modules, then load the ndiswrapper and then re-load them.
- Edit the ndiswrapper configuration script in /etc/modprobe.d
- Rename the script sudo mv ndiswrapper ndiswrapper.conf (support for scripts without .conf will disappear)
- Edit the file and append the following line
install ndiswrapper modprobe -r b43 b44 b43legacy ssb --ignore-install ndiswrapper $CMDLINE_OPTS
Now I max out my 8Mbit/s internet connection also over WLAN.