Bug 864906

Summary: crazy wifi roaming with rtl8192ce
Product: [Fedora] Fedora Reporter: perutka.ondrej
Component: NetworkManagerAssignee: Dan Williams <dcbw>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: danw, dcbw, jklimes, johnny.westerlund
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-31 23:39:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
lspci -v
none
Debug wpa_supplicant and the messages logs none

Description perutka.ondrej 2012-10-10 11:25:44 UTC
Created attachment 624792 [details]
lspci -v

Description of problem:
It is almost impossible to get a stable WiFi connection in area with multiple APs of the same network. The connection is roaming from one AP to another every few seconds. It causes massive packet loss and the whole connection is unusable.

The only partial workaround I've found is to enter BSSID of the strongest AP into the network settings. But when I need to change my physical position I also need to change the BSSID. Even when I fix the connection to one BSSID, the connection is roaming between the BSSID and "none" (check the log). 

Version-Release number of selected component (if applicable):
NetworkManager-1:0.9.4.0-9.git20120521.fc17
kernel-3.5.5-2.fc17.x86_64

How reproducible:
Always reproducible.

Steps to Reproduce:
1. Go inside an area with multiple APs of the same SSID.
2. Try to connect to the network.
3. Enjoy the fun.
  
Actual results:
Very unstable connection.

Expected results:
Stable connection.

Additional info:

###"cat /var/log/messages | grep roamed":
Oct 10 12:48:33 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AE:53:CE (NTK-Simple) to 00:22:57:D9:E4:8E (NTK-Simple)
Oct 10 12:48:57 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E4:8E (NTK-Simple) to 00:22:57:5F:1F:0E (NTK-Simple)
Oct 10 12:49:15 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:5F:1F:0E (NTK-Simple) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 12:49:27 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to 00:1C:C5:7A:04:CE (NTK-Simple)
Oct 10 12:49:39 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:7A:04:CE (NTK-Simple) to 00:24:73:AF:07:4E (NTK-Simple)
Oct 10 12:49:57 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AF:07:4E (NTK-Simple) to 00:1C:C5:7A:04:CE (NTK-Simple)
Oct 10 12:50:15 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:7A:04:CE (NTK-Simple) to 00:22:57:D9:E4:8E (NTK-Simple)
Oct 10 12:50:21 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E4:8E (NTK-Simple) to (none) ((none))
Oct 10 12:50:27 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 12:50:33 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to 00:1C:C5:79:79:CE (NTK-Simple)
Oct 10 12:50:40 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:79:79:CE (NTK-Simple) to (none) ((none))
Oct 10 12:50:45 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:24:73:AF:07:4E (NTK-Simple)
Oct 10 12:50:51 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AF:07:4E (NTK-Simple) to 00:24:73:AE:53:CE (NTK-Simple)
Oct 10 12:51:03 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AE:53:CE (NTK-Simple) to 00:1C:C5:79:53:0E (NTK-Simple)
Oct 10 12:51:15 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:79:53:0E (NTK-Simple) to 00:24:73:AE:E9:4E (NTK-Simple)
Oct 10 12:51:27 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AE:E9:4E (NTK-Simple) to 00:1C:C5:79:AE:0E (NTK-Simple)
Oct 10 12:51:51 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:79:AE:0E (NTK-Simple) to 00:24:73:AF:0A:CE (NTK-Simple)
Oct 10 12:52:03 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AF:0A:CE (NTK-Simple) to 00:1C:C5:79:53:0E (NTK-Simple)
Oct 10 12:52:09 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:79:53:0E (NTK-Simple) to 00:22:57:D9:E4:8E (NTK-Simple)
Oct 10 12:52:33 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E4:8E (NTK-Simple) to 00:1C:C5:7A:04:CE (NTK-Simple)
Oct 10 12:53:03 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:1C:C5:7A:04:CE (NTK-Simple) to 00:24:73:AF:07:4E (NTK-Simple)
Oct 10 12:53:21 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:24:73:AF:07:4E (NTK-Simple) to 00:1C:C5:79:53:0E (NTK-Simple)
------------------

### "cat /var/log/messages | grep roamed" with BSSID fixed to :
Oct 10 13:07:17 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:07:23 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:13:29 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:13:35 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:14:12 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:14:17 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:14:54 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:15:06 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:15:19 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:15:24 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:16:01 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:16:06 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:16:48 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:16:54 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:17:31 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:17:36 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)
Oct 10 13:18:12 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID 00:22:57:D9:E5:CE (NTK-Simple) to (none) ((none))
Oct 10 13:18:18 operutka NetworkManager[703]: <info> (wlan0): roamed from BSSID (none) ((none)) to 00:22:57:D9:E5:CE (NTK-Simple)

Comment 1 perutka.ondrej 2012-10-10 12:48:34 UTC
The problem may also be somehow related to a specific AP and/or its configuration because there is no problem with the same network in another building (same SSID, same security, different AP HW, different admin).

But it's important to note that my Android phone or Windows on the same laptop has no problems in the area where Fedora has.

Comment 2 Jirka Klimes 2012-10-16 08:34:26 UTC
It seems there are issues with rtl8192ce driver on week signal. It may report signal strength changes frequently which force NM to roam.
Try checking signal strength, e.g with iwconfig.

Have you tried other kernels? Do you have the same issue with some other WiFi card?
You may be interested in bug 847875.

Comment 3 perutka.ondrej 2012-10-16 11:54:34 UTC
Signal strength is not bad (somewhere between -60 and -70 dB). There are several APs in the area each with different signal strength (from -60 to -90 dB).

I've detected the problem with all 3.5 and 3.6 kernel releases (I have not tested any 3.4 release). Unfortunately I have no other WiFi card to test it with.

I think the bug 847875 may be related to this one.

I've also noticed the problem is related to 3Com routers (according to their MAC addresses), they look like the 3Com 3850 or 3950 models. There are no problems with Cisco routers in other building.

Comment 4 johnny.westerlund 2012-11-22 07:46:39 UTC
I'm seeing the same problem, although it is not roaming every few seconds. But it does drop the link for me making it unusable. 

Here the AP's are all of Cisco brand. I have a realtek card also.
lspci -v

03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
	Subsystem: Realtek Semiconductor Co., Ltd. Device e020
	Flags: bus master, fast devsel, latency 0, IRQ 17
	I/O ports at 3000 [size=256]
	Memory at f2000000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Virtual Channel
	Capabilities: [160] Device Serial Number 88-55-22-fe-ff-4c-e0-00
	Kernel driver in use: rtl8192se

Comment 5 johnny.westerlund 2013-03-28 14:09:08 UTC
For me this issue has been resolved. I beleive there's been an update to NetworkManager to adress this issue.

Comment 6 Dan Williams 2013-04-03 13:41:58 UTC
It could also be kernel driver updates, since the driver reports the signal strength, and the signal strength is used to determine whether a roaming decision is made.

There's been an update to wpa_supplicant as well, in F18 updates-testing, that should reduce the frequency of roaming between APs of the same SSID.  If the signal level varies wildly, the old wpa_supplicant would trigger a roaming request.

If you're on F18, please try:

https://admin.fedoraproject.org/updates/FEDORA-2013-4681/wpa_supplicant-1.1-1.fc18


To make matters worse, a lot of enterprise access points sometimes do "client steering" where they will attempt to balance the number of clients each AP serves by terminating the clients' connection and making it reassociate to a different AP.  So there are a bunch of possibilities here, but I'd suspect the driver first, wpa_supplicant second, and the APs third.

Comment 7 johnny.westerlund 2013-05-16 05:39:29 UTC
I seem to have been a bit premature in my stating this issue to be resolved.
Today at the site where i have been experiencing this issue i hit it again. It starts to just roam between accesspoints failing to authenticate to any of them and then the connection dies. At this point i need to modprobe unload/load the wifi driver to be able to authenticate again.

Unfortunately i cant with my fedora kernel put the wifi driver in debug mode since it is not enabled in either stock/debug kernels (AFAIK) this should be resolved in fedora 19.

Comment 8 johnny.westerlund 2013-05-16 06:26:18 UTC
Created attachment 748607 [details]
Debug wpa_supplicant and the messages logs

Comment 9 Fedora End Of Life 2013-07-03 22:03:16 UTC
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 10 Fedora End Of Life 2013-07-31 23:39:36 UTC
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.