Hello,
I wanted to thank everyone for the info in this thread and particularly for the inclusion of the brcm80211 driver in the 11.3-update repo compat-wireless set.
Unfortunately, my testing over the last week or so confirms what others are saying: it’s really too far out on the bleeding edge and buggy to be of serious use, at least for the 43224 and 43225 (the 4313 is reportedly in a better state). It deadlocks the kernel in a multi-core environment regularly, has throughput issues, lacks power management and the ability to resume properly on suspend, etc. This is true even with the most recent git pulls (with some modifications necessary)
This isn’t a knock against the author - he clearly doesn’t see it as ready for prime time yet.
A simple web page regarding the status of the driver: brcm80211 - Linux Wireless
includes these known issues:
- 43224/5 has a locking issue, stable with maxcpus=1, can crash otherwise after random period.
- Debugability is poor: Debugfs/tracing is needed. Need a way to get access to counters.
- Only minimal mac80211 interface is implemented, Callbacks need to be filled in more.
- Features to be added: AP mode, powersave, IBSS, 40 Mhz channels …
- Code needs to be optimized for linux:
One good piece of info there is that if you set maxcpus=1 the deadlocks (crashes) should stop, but in todays multi-core environments that’s a tough sell.
So…
I hadn’t seen this mentioned on the suse forums, broadcom provides their own drivers for these chips (and others) in one simple kernel agnostic package. In my testing they are working very well - I am now stable, I’m showing 10% less power drain on battery with wifi on, and no issues coming back from a suspend or hibernate. Note that these drivers are proprietary and include a “hybrid” binary blob to get the work done, which people can be philosophically opposed to. But for now, you really have no other working alternative. Perhaps by the time 2.6.27 rolls around (though to be honest the code still looks rather early to me)
You can get the drivers from broadcom here:
Broadcom.com - 802.11 Linux STA driver
readme here:
http://www.broadcom.com/docs/linux_sta/README.txt
Installation is dead simple provided you have the development tools and kernel-devel installed as per the first post, and supporting tools like lib80211.
Given that, you just untar the driver, run make, and cp it to your net/wireless modules directory (instructions all included in the readme). You’ll also need to add a “blacklist brcm80211” line to /etc/modprobe.d/50-blacklist.conf if you’ve previously installed brcm80211.
I notice broadcom mentions that fedora and ubuntu include their blob driver as part of the distro. Does openSUSE have a policy against any binary drivers? I believe I had seen a blob style ATI driver provided in a repo. Perhaps I am just stupid (happens a lot) and you can get the wl.ko broadcom driver in an openSUSE repo somewhere, but I couldn’t seem to find it. It might be worth including if it was possible.
The gist of the story is that at least for the time being I strongly recommend the use of the official broadcom driver
Thanks for all the hard work the maintainers and volunteers do!
