802.11r issues, and some resolutions

Marcin Marzec etagh at wp.pl
Sat Jan 16 19:39:14 EST 2010


Hi,

here are some 802.11r issues that I found:

1) There are some packets that shoud be send to the DS interface (PMK-R1 
push, pull, etc) but they are going to wlan interface. Because in 802.11r AP 
shoud be a bridge, this is my resolution for this:

--- ./a/src/ap/wpa_auth_glue.c 2010-01-08 21:16:53.474786606 +0100
+++ ./b/src/ap/wpa_auth_glue.c 2010-01-08 20:36:05.000000000 +0100
@@ -426,7 +426,7 @@

 #ifdef CONFIG_IEEE80211R
  if (!hostapd_drv_none(hapd)) {
-  hapd->l2 = l2_packet_init(hapd->conf->iface, NULL, ETH_P_RRB,
+  hapd->l2 = l2_packet_init(hapd->conf->bridge, NULL, ETH_P_RRB,
        hostapd_rrb_receive, hapd, 0);
   if (hapd->l2 == NULL &&
       (hapd->driver == NULL ||


and it works fine, but bridge must be created before starting hostapd.
But probably there will be more issues with this because of bridge issues 
with new 2.6.33 kernel.

2) L2 packets, which are going to DS are encrypted, and tehre are key for 
this in configuration files. Packets send from AP1 to AP2 are encrypted with 
AP2 key. AP2 recives packet and decrypt it using AP1 key which is diffrent. 
So it should be that AP2 decrypt packet with his AP2 key. Also r0kh and r1kh 
keys are mixed.

As a workaround i set all keys the same i config file.


3) Typo error in src/common/defs.h

--- a/src/common/defs.h 2010-01-03 21:20:27.000000000 +0100
+++ b/src/common/defs.h 2010-01-17 01:11:30.689846688 +0100
@@ -77,7 +77,7 @@
 #define WPA_AUTH_ALG_OPEN BIT(0)
 #define WPA_AUTH_ALG_SHARED BIT(1)
 #define WPA_AUTH_ALG_LEAP BIT(2)
-#define WPA_AUTH_ALG_FT BIT(2)
+#define WPA_AUTH_ALG_FT BIT(3)


 enum wpa_alg {



Even after fixing those problems 802.11r still don't work.
When using 2.6.31 kernel I got problem like this (on wpa_supplicant):
[...]
FT: Installing PTK to the driver.
wpa_driver_nl80211_set_key: ifindex=4 alg=3 addr=0xbfe746e0 key_idx=0 
set_tx=1 seq_len=6 key_len=16
   addr=00:1d:0f:b4:a9:15
nl80211: set_key failed; err=-2 No such file or directory)
FT: Failed to set PTK to the driver
[...]


When using 2.6.32 kernell I got problem like this(on wpa_supplicant):

[...]
EAPOL: External notification - portControl=Auto
nl80211: Authenticate (ifindex=2)
  * bssid=00:1d:0f:b4:a9:15
  * freq=2457
  * SSID - hexdump_ascii(len=11):
     6d 2d 77 70 61 32 2d 70 73 6b 72                  m-wpa2-pskr
  * IEs - hexdump(len=146): 30 26 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 
00 0f ac 04 00 00 01 00 07 42 e5 aa 6e fe 6f 70 dd a7 c5 85 bc 24 e4 51 36 
03 a1 b2 00 37 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 d7 07 c9 5b c7 50 82 64 f2 61 82 03 cf f4 ae 73 81 16 91 
8e 28 75 d0 07 a8 e2 21 11 78 df a3 d3 03 0f 61 70 31 2e 65 78 61 6d 70 6c 
65 2e 63 6f 6d
  * Auth Type 2
nl80211: MLME command failed: ret=-114 (Operation already in progress)
nl80211: Retry authentication after forced deauthentication
wpa_driver_nl80211_deauthenticate
nl80211: Authenticate (ifindex=2)
[...]
[...]
FT: Installing PTK to the driver.
wpa_driver_nl80211_set_key: ifindex=2 alg=3 addr=0xbfc92ca0 key_idx=0 
set_tx=1 seq_len=6 key_len=16
   addr=00:1d:0f:b4:a9:15
nl80211: set_key default failed; err=-67 Link has been severed)
FT: Failed to set PTK to the driver
[...]


So I think this is because of mac80211 MLME for station mode. Is there a 
kernel patch to make MLME in mac80211 for station mode to userspace ?
Maybe after this 802.11r finally should work.


Best regards,
Marcin Marzec





More information about the HostAP mailing list