Debian testing wpa_supplicant 1.03 cannot roam between wifi APs without me killing wpa_supplicant (intel 6300 AGN)

Marc MERLIN marc_hostap at merlins.org
Tue Feb 19 12:44:52 EST 2013


On Tue, Feb 19, 2013 at 04:33:45PM +0100, Holger Schurig wrote:
> Does on "iw scan" (or wpa_cli scan) instead of killing also help?
 
No, it does not.
wpa_supplicant properly notices the closer AP and switches to it. After
that, some packets go through, and then everything stops.

If you go re-read my original message (or I can resend if you wish), the
logs show that roaming happens ok, but just after roaming things break.

Somehow wpa_supplicant then notices that the closeby AP isn't working
(it is, but as far as it's concerned, it's not), and forces a
reconnection to the very far away AP.

In other words, roaming seems to work, but changing APs seems to wedge the 
wifi chip.

> Did you try the bg_scan feature?

I'll admit to not knowing how to use this, but my problem doesn't seem
to be lack of roaming, but that wireless networking breaks soon after
wpa_supplicant roams.

Because everything fixes itself if I kill wpa_supplicant, I would first
tend to think it's at fault.

But then an interesting thing happens:
Once I get wireless wedged by having roamed to the new AP, I switch from
magicnet-a to magicnet manually using nm-applet.
The connection happens, but wireless is still broken:
NetworkManager[19347]: <info> Policy set 'magicnet' (wlan0) as default for IPv4 routing and DNS.
NetworkManager[19347]: <info> Activation (wlan0) successful, device activated.
NetworkManager[19347]: <info> Activation (wlan0) Stage 5 of 5 (IP Configure Commit) complete.
kernel: [52779.305375] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues
kernel: [52781.308225] iwlwifi 0000:03:00.0: fail to flush all tx fifo queues

Then, I tried to roam back to magicnet-a, the connection succeeds, but I still
don't get traffic to go through.

I'm going to assume that these messages are not a problem, even if I don't know their source:
kernel: [52900.247067] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated).  Use CAP_NET_ADMIN and alias netdev-tun instead.

Mmmh, in the past, I was able to just kill wpa_supplicant and it would recover
but now that I'm using 
/sbin/wpa_supplicant -u -onl80211
it seems that I actually have to unload the iwlagn driver and reload it to recover.

I'm almost starting to wonder if somehow intel's wireless driver is actually at
fault, but I'll admit to not knowing the APIs and line between wpa_supplicant
and iwlagn.
Also, if iwlagn was unable to roam between APs, surely it ought to be broken for many others.

Kernel is 3.7.8, but it's been like this for the entire 3.x series and
since I got this lenovo T530 laptop AFAIK.

What do you think?

Thanks,
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/


More information about the HostAP mailing list