brcm80211 problem with BCM43225

From: Ilya Kogan <hidden>
Date: 2011-01-10 03:06:49

Hello,

Firstly, sorry about the huge e-mail but I figured more information 
would help. I purchased an Acer Aspire 1551 
(http://support.acer.com/acerpanam/notebook/2010/Acer/Aspire/Aspire1551/Aspire1551sp2.shtml) 
that contains a Broadcom BCM43225 and have been having a world of issues 
trying to get it to work. I'm trying to do this with Ubuntu 10.10 64-bit 
which includes Kernel 2.6.35-24. Thus far I have tried the following 
drivers with various failure modes:

1. Broadcom STA, their closed-source driver. This was from Ubuntu's 
"Additional Drivers" tool.
2. “Broadcom 802.11n Wireless LAN Driver”, which I assume was brcm80211 
but can't quite recall, also from "Additional Drivers".
3. brcm80211 from 
“linux-backports-modules-compat-wireless-2.6.36-2.6.35-24-generic”.
4. brcm80211 from http://ubuntuforums.org/showthread.php?t=1617380. This 
involves getting a copy of linux-next, hacking up the Makefile so that 
it can build the driver without the the rest of the kernel, and manually 
copying brcm80211.ko and the firmware into the right place.
5. brcm80211 from the latest compat-wireless tarball.
6. brcm80211 from the latest compat-wireless git.

The Broadcom STA driver detected the card as BCM4357 and every command I 
tried with iwconfig gave me “Invalid Argument”. The rest of the drivers 
detected the card correctly, but some strange things happened. First, 
here's the relevant entries from the kernel log during module init:

[ 572.439045] Compat-wireless backport release: compat-wireless-2011-01-06
[ 572.439052] Backport based on linux-next.git next-20110107
[ 572.465233] cfg80211: Calling CRDA to update world regulatory domain
[ 572.478124] cfg80211: World regulatory domain updated:
[ 572.478129] cfg80211: (start_freq - end_freq @ bandwidth), 
(max_antenna_gain, max_eirp)
[ 572.478135] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
[ 572.478139] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 
mBi, 2000 mBm)
[ 572.478143] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 
mBi, 2000 mBm)
[ 572.478147] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
[ 572.478151] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
[ 572.501499] brcm80211 0000:06:00.0: PCI INT A -> GSI 17 (level, low) 
-> IRQ 17
[ 572.501511] brcm80211 0000:06:00.0: setting latency timer to 64
[ 572.508965] Found chip type AI (0x13a1a8d9)
[ 572.519912] wlc_bmac_attach:: deviceid 0x4357 nbands 1 board 0xe021 
macaddr: c4:46:19:6c:a9:c0
[ 572.520270] cfg80211: Updating information on frequency 2412 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520275] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520279] cfg80211: Updating information on frequency 2417 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520283] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520286] cfg80211: Updating information on frequency 2422 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520290] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520294] cfg80211: Updating information on frequency 2427 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520300] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520306] cfg80211: Updating information on frequency 2432 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520312] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520318] cfg80211: Updating information on frequency 2437 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520325] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520331] cfg80211: Updating information on frequency 2442 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520337] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520343] cfg80211: Updating information on frequency 2447 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520350] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520356] cfg80211: Updating information on frequency 2452 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520363] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520369] cfg80211: Updating information on frequency 2457 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520376] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520382] cfg80211: Updating information on frequency 2462 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520388] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520395] cfg80211: Updating information on frequency 2467 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520402] cfg80211: 2457000 KHz - 2482000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520407] cfg80211: Updating information on frequency 2472 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520414] cfg80211: 2457000 KHz - 2482000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520420] cfg80211: Updating information on frequency 2484 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.520427] cfg80211: 2474000 KHz - 2494000 KHz @ KHz), (300 mBi, 2000 
mBm)
[ 572.520785] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 572.524533] wl_set_hint: Sending country code US to MAC80211
[ 572.524542] wl0: Broadcom BCM43xx 802.11 MAC80211 Driver (1.82.8.0) 
(Compiled at 15:18:31 on Jan 9 2011)
[ 572.524566] cfg80211: Calling CRDA for country: US
[ 572.530110] cfg80211: Updating information on frequency 2412 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530117] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530122] cfg80211: Updating information on frequency 2417 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530126] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530130] cfg80211: Updating information on frequency 2422 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530134] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530137] cfg80211: Updating information on frequency 2427 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530141] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530144] cfg80211: Updating information on frequency 2432 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530148] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530152] cfg80211: Updating information on frequency 2437 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530156] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530159] cfg80211: Updating information on frequency 2442 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530163] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530166] cfg80211: Updating information on frequency 2447 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530170] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530174] cfg80211: Updating information on frequency 2452 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530177] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530181] cfg80211: Updating information on frequency 2457 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530185] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530188] cfg80211: Updating information on frequency 2462 MHz for a 
20 MHz width channel with regulatory rule:
[ 572.530192] cfg80211: 2402000 KHz - 2472000 KHz @ KHz), (300 mBi, 2700 
mBm)
[ 572.530195] cfg80211: Disabling freq 2467 MHz
[ 572.530198] cfg80211: Disabling freq 2472 MHz
[ 572.530200] cfg80211: Disabling freq 2484 MHz
[ 572.530204] cfg80211: Regulatory domain changed to country: US
[ 572.530207] cfg80211: (start_freq - end_freq @ bandwidth), 
(max_antenna_gain, max_eirp)
[ 572.530211] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 
mBi, 2700 mBm)
[ 572.530215] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 
mBi, 1700 mBm)
[ 572.530219] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
[ 572.530223] cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
[ 572.530226] cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
[ 572.530230] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 
mBi, 3000 mBm)

The first brcm80211 that I tried was the one from (4). This one actually 
lit up the LED claiming that wireless was on and managed to show me a 
list of wireless networks through iwlist scan. NetworkManager, however, 
continue to claim that wireless was disabled. Figuring this was an NM 
problem, I rebooted. As soon as the kernel finished booting, the 
wireless LED turned off and has not turned back on since. At one point, 
I forced the interface to be up via “ifconfig wlan0 up” and then did 
“iwlist wlan0 scan” with hilarious results. Sometimes the system would 
explode with white and black bars, sometimes I would get a white screen, 
and sometimes I would get scan results that were totally wonky (see 
scan.log). One of those versions would log the following when Itried to 
toggle the wireless switch:

Jan 8 22:48:44 Lulzer kernel: [ 259.727970] wl0: MAC Detected a change 
on the RF Disable Input 0x10000
Jan 8 22:48:44 Lulzer kernel: [ 260.327466] wl0: MAC Detected a change 
on the RF Disable Input 0x0
Jan 8 22:48:53 Lulzer kernel: [ 268.753399] wl0: MAC Detected a change 
on the RF Disable Input 0x10000

Below are the relevant details as command output, also, a hwinfo dump 
and kernel log are attached. “iw event -t” yields no output during 
insertion or removal of the module. I'm willing to be a guinea pig to 
help debug this and possibly hack on it a bit myself once I figure out 
how these things work. Also, please let me know if I'm not actually 
running with the recommend debug options, I modified config.mk to set 
the ones mentioned on the website.

Thanks very much,
Ilya Kogan

ikogan@Lulzer:~$ lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge 
Alternate
00:01.0 PCI bridge: Acer Incorporated [ALI] Device 9602
00:04.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge 
(PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge 
(PCIE port 1)
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA 
Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 
Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI 
Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 
Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI 
Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 41)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller 
(rev 40)
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 
40)
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller 
(rev 40)
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev 40)
00:16.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 
Controller
00:16.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI 
Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor 
HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor 
Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor 
DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor 
Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor 
Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc M880G [Mobility 
Radeon HD 4200]
01:05.1 Audio device: ATI Technologies Inc RS880 Audio Device [Radeon HD 
4200]
03:00.0 Ethernet controller: Atheros Communications AR8151 v1.0 Gigabit 
Ethernet (rev c0)
06:00.0 Network controller: Broadcom Corporation BCM43225 802.11b/g/n 
(rev 01)

ikogan@Lulzer:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 6
model name : AMD Athlon(tm) II Neo K325 Dual-Core Processor
stepping : 3
cpu MHz : 800.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt 
pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc 
extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic 
cr8_legacy abm sse4a 3dnowprefetch osvw ibs skinit wdt nodeid_msr npt 
lbrv svm_lock nrip_save
bogomips : 2593.60
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 1
vendor_id : AuthenticAMD
cpu family : 16
model : 6
model name : AMD Athlon(tm) II Neo K325 Dual-Core Processor
stepping : 3
cpu MHz : 800.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt 
pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc 
extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic 
cr8_legacy abm sse4a 3dnowprefetch osvw ibs skinit wdt nodeid_msr npt 
lbrv svm_lock nrip_save
bogomips : 2593.49
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

ikogan@Lulzer:~$ uname -a
Linux Lulzer 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 02:41:37 UTC 
2010 x86_64 GNU/Linux

ikogan@Lulzer:~$ lsmod
Module Size Used by
binfmt_misc 7984 1
vboxnetadp 5395 0
vboxnetflt 19131 0
vboxdrv 1818472 2 vboxnetadp,vboxnetflt
parport_pc 30086 0
ppdev 6804 0
snd_hda_codec_atihdmi 3079 1
snd_hda_codec_realtek 299844 1
arc4 1497 2
snd_hda_intel 26019 2
snd_hda_codec 100919 3 
snd_hda_codec_atihdmi,snd_hda_codec_realtek,snd_hda_intel
brcm80211 732072 0
snd_hwdep 6660 1 snd_hda_codec
snd_pcm 89104 2 snd_hda_intel,snd_hda_codec
uvcvideo 62379 0
videodev 49359 1 uvcvideo
snd_seq_midi 5932 0
v4l1_compat 15519 2 uvcvideo,videodev
mac80211 289506 1 brcm80211
v4l2_compat_ioctl32 12614 1 videodev
snd_rawmidi 22207 1 snd_seq_midi
snd_seq_midi_event 7291 1 snd_seq_midi
fglrx 2523725 32
snd_seq 57512 2 snd_seq_midi,snd_seq_midi_event
cfg80211 173372 2 brcm80211,mac80211
snd_timer 23850 2 snd_pcm,snd_seq
acer_wmi 15969 0
snd_seq_device 6912 3 snd_seq_midi,snd_rawmidi,snd_seq
compat 7653 2 mac80211,cfg80211
snd 64181 13 
snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device 

led_class 3393 2 acer_wmi,compat
psmouse 62080 0
serio_raw 4910 0
soundcore 1240 1 snd
video 22176 0
edac_core 46822 0
snd_page_alloc 8588 2 snd_hda_intel,snd_pcm
output 2527 1 video
i2c_piix4 10047 0
edac_mce_amd 9387 0
k10temp 3535 0
shpchp 34910 0
lp 10201 0
parport 37032 3 parport_pc,ppdev,lp
usb_storage 50372 0
ahci 22210 2
libahci 26052 1 ahci
pata_atiixp 4405 0
atl1c 34955 0

ikogan@Lulzer:~$ sudo iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

vboxnet0 no wireless extensions.

wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off

ikogan@Lulzer:~$ sudo iwlist scan
lo Interface doesn't support scanning.

eth0 Interface doesn't support scanning.

vboxnet0 Interface doesn't support scanning.

wlan0 Interface doesn't support scanning : Network is down

ikogan@Lulzer:~$ sudo iw wlan0 info
Interface wlan0
ifindex 5
type managed

ikogan@Lulzer:/lib/firmware/brcm$ ls -la
total 376
drwxr-xr-x 2 root root 4096 2011-01-09 21:53 .
drwxr-xr-x 51 root root 4096 2011-01-08 23:57 ..
-rw-r--r-- 1 root root 269595 2011-01-09 21:53 
bcm4329-fullmac-4-218-248-5.bin
-rw-r--r-- 1 root root 1604 2011-01-09 21:53 bcm4329-fullmac-4-218-248-5.txt
lrwxrwxrwx 1 root root 31 2011-01-09 21:53 bcm4329-fullmac-4.bin -> 
bcm4329-fullmac-4-218-248-5.bin
lrwxrwxrwx 1 root root 31 2011-01-09 21:53 bcm4329-fullmac-4.txt -> 
bcm4329-fullmac-4-218-248-5.txt
-rw-r--r-- 1 root root 97376 2011-01-08 11:58 bcm43xx-0-610-809-0.fw
lrwxrwxrwx 1 root root 22 2011-01-08 11:58 bcm43xx-0.fw -> 
bcm43xx-0-610-809-0.fw
-rw-r--r-- 1 root root 180 2011-01-08 11:58 bcm43xx_hdr-0-610-809-0.fw
lrwxrwxrwx 1 root root 26 2011-01-08 11:59 bcm43xx_hdr-0.fw -> 
bcm43xx_hdr-0-610-809-0.fw

Thanks again,
-- Ilya Kogan


Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help