Broadcomm and WPA
About 18 months ago on a periodic trip to gawk at PC World (a superstore for PC stuff here in the UK) I purchased a Belkin PC Card 54g adapter with a Broadcomm 4306 chipset. Of course I took a flyer on the chipset, it was relatively cheap and I figured I would have some fun trying to get it to work with Linux. Yes, the same madness that grips me every time in PC World. The cheaper peripherals that do not have standardized interfaces (unlike, say, USB Audio devices like headsets, which always just work) always have a very new chip from a company that regards the interface to it as part of what makes their IP such a special flower and Must Never Be Told. Webcams seem to be the chief culprit at the moment.
Periodically I took it down from its box of dead things and tried to get it working with a new version of Fedora. Well I read that the BCM43xx driver was integrated to 2.6.17 and that is where Fedora are at (Fedora do a good job of tracking the latest kernels, there is a chart in a Linux magazine here in the UK this month showing Fedora has much later kernels than distros except SuSE). Since I was going to upgrade the laptop Rohan uses here to FC5, I did this and at the same time without too much hope tried the old Broadcom bookstop.
To my pleasure I was able to get it working here after extracting some firmware and sorting out wpa_supplicant, which I gained some experience in from getting this Samsung laptop working. I sat there loading webpages and looking at its power and data lights, which I was never before able to light. Good old Linux!
Hum later that evening the behaviour became intermittent. I ran wpa_supplicant with a debug switch and I see it is having problems maintaining sync with the crypto. Bringing the (eth1) interface down and up got it working for a while but then it would stutter into silence again. I modprobe -r'd the bcm43xx driver and pulled out the card, it was hot but not so hot. I know that wpa_supplicant is working fine on FC5 because this laptop's wifi is super stable (ipw3495-based). So the problem is either in the bcm43xx driver, or is a physical (heat?) problem with the adapter, I guess it makes sense it can show up in WPA breakage if it is a low level problem.
Edit: couple of days later, I changed the /etc/epa_supplicant/wpa_supplicant.conf contents and that seemed to resolve the problem, we will have to see if the improvement is permanent. Here is the contents:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="myssid"
scan_ssid=1
key_mgmt=WPA-PSK
proto=WPA
pairwise=CCMP TKIP
group=CCMP TKIP
psk=xxxxxxxx...xxxx
priority=3
}