Bug 919735 - suspend to RAM/resume kills brcmsmac wlan
Summary: suspend to RAM/resume kills brcmsmac wlan
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 18
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: John Greene
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-09 20:52 UTC by Jacek Pawlyta
Modified: 2013-06-10 13:57 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-06-10 13:57:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Relevant dmesg output (851 bytes, text/plain)
2013-03-14 19:01 UTC, Eetu Huisman
no flags Details

Description Jacek Pawlyta 2013-03-09 20:52:51 UTC
Description of problem:
suspend to ram /resume cycle kills wlan when brcmsmac driver is used:
Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)

I found this in /var/log/messages:
wlan0: capabilities/regulatory prevented using AP HT/VHT configuration, downgraded

broadcom propertiary driver wl works OK in the same configuration 

Version-Release number of selected component (if applicable):
3.8.2-206.fc18.x86_64

How reproducible:
always

Steps to Reproduce:
1. load brcmsmac module
2. connect to some AP
3. suspend to run
4. resume
  
Actual results:
cannot authenticate to AP

Expected results:
wlan is connected and works


Additional info:
FIX: after resume reload brcmsmac  driver and wlan works again:
sudo modprobe -r brcmsmac 
sudo modprobe brcmsmac

Comment 1 John Greene 2013-03-14 13:08:07 UTC
Can you post the dmesg log for this?  It appears this may it may be that your location may be holding back the card from using it's capabilities because of regulatory requirement.  

THanks..

Comment 2 Eetu Huisman 2013-03-14 19:01:07 UTC
Created attachment 710173 [details]
Relevant dmesg output

I'm not the original poster, but since I'm suffering from the same issue, here's the relevant part from my dmesg output.

What exactly is the regulatory restriction and why did it cause a regression?

Comment 3 wojeko6369 2013-04-19 16:37:29 UTC
I have this problem as well. brcmsmac does not work after resume. To connect to wifi after having resumed my computer I have to use these commands:

modprobe -r brcmsmac
modprobe brcmsmac

My location is British. Is that a problem location? If so could someone explain what the restriction is and remove it?

Comment 4 John Greene 2013-04-26 18:21:22 UTC
Thanks for the post, it's helpful but I'd appreciate seeing more of the dmesg log to answer your questions.  Particularly the section at boot till just prior to the section above.

And can you infclude output of the following also?
lspci --nn

Thanks.

Comment 5 John Greene 2013-05-01 12:28:08 UTC
Ping?

Comment 6 Jacek Pawlyta 2013-05-03 09:48:58 UTC
$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 09)
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 09)
00:1a.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.2 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)
00:1a.7 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
00:1c.2 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 [8086:2944] (rev 03)
00:1c.3 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 [8086:2946] (rev 03)
00:1c.5 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 [8086:294a] (rev 03)
00:1d.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
00:1d.7 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M LPC Interface Controller [8086:2919] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] [8086:2929] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation 82801I (ICH9 Family) SMBus Controller [8086:2930] (rev 03)
00:1f.6 Signal processing controller [1180]: Intel Corporation 82801I (ICH9 Family) Thermal Subsystem [8086:2932] (rev 03)
04:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
07:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713] (rev 02)

Comment 7 Jacek Pawlyta 2013-05-03 10:00:11 UTC
after addition of the line (my location is Polish):

options cfg80211 ieee80211_regdom=PL

to some conf file (i.e. /etc/modprobe.d/wifi.conf )
resume works OK.
Unfortunately now some time after boot system switches to the US location (??) and does not connect to my AP running on channel 13.
The solution of this is to set location manually during KDE start:
iw reg set PL

Comment 8 John Greene 2013-05-03 13:10:05 UTC
thanks for the tip!
It's a great thing to do.


The regulatory domain is determined by AP also, in fact if it is not set right (or is intended for the US only perhaps) your system will defer to the AP setting, even if it's not connected.  It may see the country setting of the AP and change over assuming you just landed in the US, in this case wrongly..  

Is this an AP you can check the configuration of?  Sometime they have a way to set the country, it should be set to Poland.

Is this the ONLY AP the STA can see?  It may queue off other nearby APs also to determine its country.

Can you post you version of CRDA also?  An update may help you.
rpm -q crda

I have crda-1.1.3_2013.02.13-2.fc17.x86_64, might be something newer on f18.

Comment 9 Jacek Pawlyta 2013-05-03 14:13:54 UTC
my crda:
crda-1.1.3_2013.02.13-2.fc18.x86_64

my AP is TP-link TL-1043ND, region in the AP (Wireless/Wireless Settings) is set to Poland

I can see about a dozen of APs around :(

One problem I noticed is that adding:

options cfg80211 ieee80211_regdom=PL

makes cfg80211 to be very noisy, dmesg is flooded with:

59963.142540] cfg80211: Calling CRDA for country: 97
[59966.288319] cfg80211: Calling CRDA to update world regulatory domain
[59967.171080] cfg80211: World regulatory domain updated:
[59967.171085] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[59967.171088] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[59967.171091] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[59967.171094] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[59967.171097] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[59967.171100] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

Comment 10 wojeko6369 2013-05-21 10:46:26 UTC
Apolgies for not replying sooner. I got a little sidetracked. The problem has gone! It seemed to disappear after the kernel update to 3.9

Comment 11 John Greene 2013-05-22 12:31:14 UTC
Great.  Seems a lot of things fixed at 3.9 with this driver.  ok to close this for you?

Comment 12 wojeko6369 2013-05-22 14:21:30 UTC
Yes this can be closed as far as I'm concerned. Thanks for your help.

Comment 13 John Greene 2013-06-10 13:57:17 UTC
Thanks Charles.  Closing CURRENTRELEASE fixed in 3.9 kernel..


Note You need to log in before you can comment on or make changes to this bug.