Comment 13 for bug 462466

Revision history for this message
Jan Vlnas (jnv) wrote :

OK, I think I've found a solution using the latest version of Broadcom STA driver (released 2011-10-25) - http://www.broadcom.com/support/802.11/linux_sta.php

Most notable feature in this version is cfg80211 support, which handles country regulations for the driver - http://linuxwireless.org/en/developers/Documentation/cfg80211#Regulatory_support

Download the driver package and follow README - http://www.broadcom.com/docs/linux_sta/README.txt - however, there are a few gotchas:

- On Ubuntu 11.10 (or with kernel >= 3.0.0) to get cfg80211 support you must compile with:
make API=CFG80211
- You'll have to rmmod and blacklist "brcmsmac" (and "brcmfmac", eventually)
- wl.ko won't be automatically compiled with the next kernel update so your wi-fi stops working; that's what DKMS package solves

Now, for channels 12 and 13.
Install "iw" package. iw allows you to change regulatory domain, see http://linuxwireless.org/en/users/Documentation/iw#Updating_your_regulatory_domain
I've placed "iw reg set COUNTRY" into my rc.local; regulatory domain can be also injected through wpa_supplicant's COUNTRY variable, but I've not found any option how to pass it through the NetworkManager.

Note that this was tested on Ubuntu 11.10, with HP Mini 5103 with BCM4313 - your results may vary.

Another option would be to use brcmsmac driver which is a part of kernel since 2.6.39 and use iw reg set for it - however, it caused some strange kernel lags for me, but again, your experience may vary.

So, the binary driver has to be updated (anybody for a PPA?) and there should be some user friendly and/or fully automatic way to change the regulatory domain. Linux Wireless mentions GeoClue integration - http://linuxwireless.org/en/developers/Regulatory#Automatic_country_discovery - but this isn't something what bcmwl should care about.