Hi Lars,
Would you mind to share your idea or patches on 2.6.26 kernel to improve
roaming? As I am investigating the solution for short handoff/reassociation
time (~50ms) via linux wireless stack. Thanks in advance.
Best regards,
Lam
----- Original Message -----
From: "Lars Ericsson" <Lars_Ericsson@xxxxxxxxx>
To: "'Johannes Berg'" <johannes@xxxxxxxxxxxxxxxx>
Cc: <linux-wireless@xxxxxxxxxxxxxxx>; <hostap@xxxxxxxxx>
Sent: Wednesday, July 22, 2009 5:21 AM
Subject: Slow roaming in mac80211 (2.6.30).
Johannes,
I'm currently using the 2.6.26 kernel and have started evaluating the
2.6.30.
For .26 I have made a few patches to fix minor issues related to
roaming.
The trace below shows a typical roaming:
87.632965 AP 1 drops STA
87.733979 wpa_supplicant trigs a scan
88.629931 mac80211 probes for the old AP
90.670305 SCAN result to wpa_supplicant
90.702325 wpa_supplicant ready with new AP
92.158037 mac80211 executes the wpa_supplicant decisions
92.164776 we are on line again
Total roaming time is 4,5 seconds, where mac80211 had added 2*2
seconds delay.
A first analysis gives that the two delays are the ieee80211_sta_work()
timeout. There are many events trigging ieee80211_sta_work(), but
since only the timer sets IEEE80211_STA_REQ_RUN, nothing will happen.
Questions;
- Why does mac80211 tells the wpa_supplicant that the AP
is gone (87.632965), and then blocks/delays the actions taken by the
wpa_supplicant?
- Why are some wpa_supplicant actions (90.702325)
not event driven?
It looks to me as if we have to decision makers here. For me the
wpa_supplicant is the one that make the decision. Once the mac80211
gives up and feedback that the AP is gone, it should just sit
and wait for next decision from the wpa_supplicant.
I had a few patches for this for .26, but since the code is changed
they do not apply. Before I create new patches I would like to get
your opinion on this.
Regards
/Lars
-----
[ 87.632965] wlan0: deauthenticated (Reason: 1)
[ 87.733979] [B] LaE: SCANRQUEST: SSID=AGV
[ 88.629931] wlan0: direct probe to AP 00:40:96:a0:e7:e7 try 1
[ 88.829932] wlan0: direct probe to AP 00:40:96:a0:e7:e7 try 2
[ 89.029944] wlan0: direct probe to AP 00:40:96:a0:e7:e7 try 3
[ 89.230016] wlan0: direct probe to AP 00:40:96:a0:e7:e7 timed out
[ 90.670305] [B] LaE: SCANRESULT: BSSID=00:40:96:a0:e7:e7, SSID=
, ch= 1, , q= 0, l= 0(-30dBm), n= 0
[ 90.670384] [B] LaE: SCANRESULT: BSSID=00:08:21:31:53:87, SSID=
, ch=11, , q= 0, l= 0(-62dBm), n= 0
[ 90.670455] [B] LaE: SCANRESULT: BSSID=00:08:21:31:53:87, SSID=AGV
, ch=11, , q= 0, l= 0(-60dBm), n= 0
[ 90.670705] ieee80211_ioctl_siwauth: enter
[ 90.670777] ieee80211_ioctl_siwencodeext: enter
[ 90.670807] ieee80211_set_encryption: enter
[ 90.671128] ieee80211_ioctl_siwencodeext: enter
[ 90.671165] ieee80211_set_encryption: enter
[ 90.671219] ieee80211_ioctl_siwencodeext: enter
[ 90.671247] ieee80211_set_encryption: enter
[ 90.671297] ieee80211_ioctl_siwencodeext: enter
[ 90.671325] ieee80211_set_encryption: enter
[ 90.671375] ieee80211_ioctl_siwencodeext: enter
[ 90.671404] ieee80211_set_encryption: enter
[ 90.671623] ieee80211_ioctl_siwencodeext: enter
[ 90.671659] ieee80211_set_encryption: enter
[ 90.672062] ieee80211_ioctl_siwauth: enter
[ 90.672295] ieee80211_ioctl_siwgenie: enter
[ 90.672332] ieee80211_sta_req_auth: queue auth
[ 90.672380] ieee80211_ioctl_siwauth: enter
[ 90.672420] ieee80211_ioctl_siwauth: enter
[ 90.672458] ieee80211_ioctl_siwauth: enter
[ 90.672495] ieee80211_ioctl_siwauth: enter
[ 90.672532] ieee80211_ioctl_siwauth: enter
[ 90.672569] ieee80211_ioctl_siwauth: enter
[ 90.672612] ieee80211_ioctl_siwfreq: enter freq=246200000
[ 90.702175] ieee80211_ioctl_siwessid: enter ssid=AGV
[ 90.702217] ieee80211_sta_req_auth: queue auth
[ 90.702325] ieee80211_ioctl_siwap: enter AP=00:08:21:31:53:87
[ 90.702372] ieee80211_sta_req_auth: queue auth
[ 92.158037] wlan0: authenticate with AP 00:08:21:31:53:87
[ 92.159965] wlan0: authenticated
[ 92.160002] wlan0: associate with AP 00:08:21:31:53:87
[ 92.164733] wlan0: RX ReassocResp from 00:08:21:31:53:87 (capab=0x431
status=0 aid=140)
[ 92.164776] wlan0: associated
[ 92.166984] ieee80211_ioctl_giwap: enter
-----
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless"
in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html