Latest ubuntu failure: wifi
I have a b43-based broadcom BCM4311 802.11b/g WLAN (rev 01) chipset for wifi on my 1.5 years old DELL laptop (almost the same model as the one DELL originally sold Ubuntu with), but the b43 module is very unstable: it drops the connection after a few minutes. So I have to use ndiswrapper. I installed the firmware just fine, and blacklisted ssb, and b43 in order to force ndiswrapper to load.
Unfortunately, even after having blacklisted ssb, it still loads and takes control of the wireless chipset and simply does not let ndiswrapper to do its thing. It loads the “b43-pic-bridge” driver instead of letting ndiswrapper to use its “wl” one.
The reason for ssb loading EVEN if it’s blacklisted, it’s because of the b44 ethernet driver which is loaded automatically, that also needs ssb. You see, this DELL laptop has both a b43 and a b44 chipset in there, and so even if I have b43 and ssb blacklisted, b44 keeps loading ssb back before ndiswrapper is. And so ssb takes control of the wifi chipset (with the b43 driver blacklisted, so it doesn’t load any driver, it just keeps the control tight), and poor ndiswrapper fails.
This is a chicken and the egg problem btw, but I didn’t have these problems with the older Ubuntu, because it didn’t use the b44/b43/ssb modules back then for these chipsets. Now that it does, this needs to be fixed somehow. Either they need to fix the b43 module to be rock solid so I don’t need to use ndiswrapper, or fix the ssb problem to allow ndiswrapper take control over the wifi chipset.
I filed a bug report. The way to go around it is to also blacklist b44, and then manually load it on startup after the ndiswrapper line on the /etc/modules file (so it loads ssb after ndiswrapper has already taken control of the chipset). But obviously this needs fixing.