Fix for Broadcom4311 + wpa_supplicant + 2.6.22-14.52

[EDIT 2] I think I’ve sorted the problem out. Gutsy’s version of ndiswrapper is a bit outdated (it’s at 1.45 I think, the newest stable release is 1.52. ndiswrapper-1.45 doesn’t play well with 2.6.22-14 and it’s previous patches. Compiling 1.52 from source, re-installing the Windows driver, and blacklisting bcm43xx did the trick for me. I’m now connected at 54 Mb/s (again)! Yay for me. [/EDIT 2]

[EDIT] It seems that that the 3.120.20 wl_apsta.o firmware is restricted to controlling the Broadcom 4311 device at 24 Mb/s only. I haven’t noticed other significant disadvantages of this over ndiswrapper+windows driver except for it having a poorer signal rate. You could always try ndiswrapper before trying this (as it has better wi-fi support), but since I’ve had no luck after that kernel update, I’m going to stick with this as of the moment. [/EDIT]

An update to Gutsy’s 2.6.22-14.52 linux image (generic) seemed to semi-break wpa_supplicant when used with an ndiswrapper-installed firmware for the Broadcom 4311 chipset. Although the wireless link is up, wpa_supplicant’s log shows that the card is losing it’s link (about every 10 seconds, then stays offline for 5 seconds, then goes back up again). The log shows something like so:

Trying to associate with some:mac:address:here (SSID='SSID' freq=SOMEFREQ MHz)
Authentication with 00:00:00:00:00:00 timed out.

Although it’s not entirely broken, it’s still a pain in the ass (especially when downloading things). The solution? Enable bcm43xx-fwcutter (from the restricted-manager, or restricted-manager-kde if it’s Kubuntu), and install your card’s firmware (the generic wl_apsta.o firmware presented by the restricted-manager is usable, though you could use something from your own source). I forgot that Gutsy already has a “mature” bcm43xx support, so I didn’t really need to use ndiswrapper for my wireless card.


About this entry