Bug 6293

Summary: B43 wireless driver does not work after resume with broadcom 4331 chipset
Product: Mageia Reporter: Andy Liebman <AndrewL733>
Component: RPM PackagesAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: Normal CC: mageia, stormi-mageia, tmb
Version: 2   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: kernel-desktop-3.3.6-2.mga2-1-1.mga2 CVE:
Status comment:
Attachments: Log of unloading b43 driver. Note the lack of evidence of unloading the driver!

Description Andy Liebman 2012-06-02 15:13:15 CEST
I am running Mageia 2 on a Macbook Pro 8,2.  This has the following broadcom wireless chipset: 

03:00.0 Network controller: Broadcom Corporation BCM4331 802.11a/b/g/n (rev 02)

Full support for this chipset was added to the b43 driver in the 3.3 kernel.  It requires installing b43-fwcutter and extracting the newest firmware.  I did extract the latest firmware and the b43 driver works fine and loads the ucode29_mimo.fw firmware.  The b43 driver works fine. 

However, after suspend to RAM and wakeup, the wireless fails to reconnect. 

One workaround I have found is that if I unload the b43 module resume, Mageia 2 then reloads it again immediately (weird, don't understand why that's the case?) and now I can connect to my wireless access points and get an IP address.  So, the workaround is: 

Wake up from sleep
Run "modprobe -r b43"
Then netapplet reconnects to my wireless

The same thing happens with all Wireless APs I have used, so I don't think the problem is related to any specific AP. 

As a more convenient workaround so that b43 reloads after sleep, I created the following file /etc/pm/sleep.d/99sleep-script

#!/bin/sh
case "$1" in
     suspend|freeze)
     ;;
     
     resume|thaw)
          /sbin/modprobe -r b43
     ;;
     
     *)
     ;;
esac

and now b43 reloads automatically after sleep.  

I can also just create a file /etc/pm/config.d/modules with the following content: 

      SUSPEND_MODULES="b43"

and that works too without the 99sleep-script. But, two things are wrong here: 

1.  I should not HAVE to reload b43 after waking from sleep?
2.  Why does "/sbin/modprobe -r b43"  BOTH unload the b43 driver and then reload it?  I would think unloading it should unload it and not load it again automatically.
Comment 1 Andy Liebman 2012-06-02 15:15:55 CEST
Created attachment 2415 [details]
Log of unloading b43 driver.  Note the lack of evidence of unloading the driver!
Manuel Hiebel 2012-06-25 05:40:34 CEST

CC: (none) => mageia, tmb
Severity: normal => major

Comment 2 Thomas Backlund 2012-07-13 11:00:22 CEST
Can you try kernel-3.3.8-1.mga2 from updates_testing.

It has a fix for this.

Status: NEW => ASSIGNED

Comment 3 claire robinson 2012-08-01 18:05:21 CEST
Andy could you please test with the new kernel and leave a comment either here or on bug 6914.

Thanks!
Comment 4 Samuel Verschelde 2013-09-02 15:21:35 CEST
Let's hope the update fixed the bug, as we didn't hear back from the reporter.

Resolution: (none) => FIXED
Status: ASSIGNED => RESOLVED
CC: (none) => stormi