Bug 100961 - iwlwifi: 7260: can't find the AP when BSSID changes (same SSID) - MWG100240469
Summary: iwlwifi: 7260: can't find the AP when BSSID changes (same SSID) - MWG100240469
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: drivers_network-wireless@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-05 12:24 UTC by Stefan Soeffing
Modified: 2015-08-26 19:48 UTC (History)
3 users (show)

See Also:
Kernel Version: 4.1.1
Subsystem:
Regression: No
Bisected commit-id:


Attachments
syslog (19.20 KB, application/octet-stream)
2015-08-01 20:41 UTC, Stefan Soeffing
Details

Description Stefan Soeffing 2015-07-05 12:24:43 UTC
While doing some testing for bug 97291 I've been switching a lot between two different APs. Both are configured to provide the same SSID, so I never run them at the same time. It happens frequently, that after switching the AP, the card doesn't find the network any more. The same issue occurs even on one AP when reconfiguring the AP to a new channel.

Scanning lists other networks in the vicinity, but no my own one. Reloading the iwlwifi module fixes this. No problem on other devices, though, so I gues it's not a problem of the AP itself.

This is with the firmware from bug 97291 and kernel 4.0.0 (still present on 4.1.0rc6)
Comment 1 Stefan Soeffing 2015-07-05 12:49:22 UTC
My kernel was a bit out of date, but I just confirmed it's still the same with kernel 4.1.1 and firmware 25.30.13.0.

I forgot to mention: This is for Intel wireless 7260.
Comment 2 Emmanuel Grumbach 2015-07-05 14:42:23 UTC
This scenario is a bit on the edge. This is most likely a supplicant issue, but I an not sure there is any issue even. Please attach the logs from the supplicant with -dd. Or at least kernel logs to start with something....
Comment 3 Stefan Soeffing 2015-07-05 19:56:42 UTC
Emmanuel, thanks for the hint. This seems not to be a driver issue. Manually initiating a scan by 'iwlist scan' as root works. The network is found normally and the network is connected to.

I assume this is not the desired behavior, though, I'd expect scanning to happen automatically - would this be done by the supplicant or some higher-level program, such as the NetworkManager?
Comment 4 Emmanuel Grumbach 2015-07-05 20:21:11 UTC
The supplicant is in charge of scanning. But the scanning might be offloaded to the device. Your little games might have confused the firmware. I will instructions on how to disable this offload tomorrow.
Comment 5 Emmanuel Grumbach 2015-07-12 07:26:44 UTC
Sorry for the delay.

Can you please try this:

diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index dda9f7b..061856e 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -532,7 +532,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
        else
                hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
 
-       if (IWL_UCODE_API(mvm->fw->ucode_ver) >= 10) {
+       if (IWL_UCODE_API(mvm->fw->ucode_ver) >= 10 && false) {
                hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
                hw->wiphy->max_sched_scan_ssids = PROBE_OPTION_MAX;
                hw->wiphy->max_match_sets = IWL_SCAN_MAX_PROFILES;



This will disable scan offload.
Comment 6 Stefan Soeffing 2015-07-14 16:05:45 UTC
At the moment I'm running Ubuntu packaged kernels. It will take some time until I get this done.

One note, though: this happens not only on BSSID changes, but also on the same BSSID when changing the channel on the AP.
Comment 7 Emmanuel Grumbach 2015-07-14 16:22:58 UTC
you can use our backport driver if you want.
This will make it easier for you to modify the code without recompiling your kernel.
https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/backport-iwlwifi.git/
Comment 8 chaya.rachel.ivgi 2015-07-29 14:07:24 UTC
Hi Stefan,

I didn't managed to reproduce the issue.
Can you pls attach logs of supplicant and kernel?
Comment 9 chaya.rachel.ivgi 2015-07-30 08:21:35 UTC
Hi Stefan,

in description written: 
"Scanning lists other networks in the vicinity, but no my own one" 
what do you mean by "Scanning list"? the list of network manager / wpa_supplicant/ ...
Comment 10 Stefan Soeffing 2015-08-01 20:39:58 UTC
Hi,

I meanthe network manager list. It shows other networks but not my own one. Same for 'iwlist scan' (as user). 

As root, 'iwlist scan' triggers a scan and my network is found, everything ok in this case. But if I leave it alone, my network never appears (at least, not within an hour, that was the longest time it tried).
Comment 11 Stefan Soeffing 2015-08-01 20:41:56 UTC
Created attachment 184091 [details]
syslog

Syslog excerpt, wpa_supplicant is redirected to syslog.

Test case: change configuration of router, thereby causing a disconnect.

After some waiting time, issueing the 'sudo iwlist scan' successfully brings back the network.
Comment 12 Luca Coelho 2015-08-12 18:07:03 UTC
Stefan, can you please increase the verbosity of the wpa_supplicant logs?

This command should work:

wpa_cli log_level excessive

That will provide more information about the wpa_supplicant scan requests and such.

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