Hello,
I'm using a fairly recent, and fairly hacked upon hostapd, with a modified 4.20 kernel.
I set up two AP interfaces on two radios on two machines (8 hostapd total),
and clustered them as an 802.11r cluster.
I started two station interfaces on a separate system and have them roam between
the vap every 10 or so seconds. After around 10 roams total, I start getting
roam failures due to 'code-17' response.
I debugged the AP system, and the kernel is rejecting the station-add, due to this
logic below. In the failure case, statype is 0, which is ap-client.
int cfg80211_check_station_change(struct wiphy *wiphy,
struct station_parameters *params,
enum cfg80211_station_type statype)
{
if (params->listen_interval != -1 &&
statype != CFG80211_STA_AP_CLIENT_UNASSOC) {
pr_err("check-station-change, listen-interval: %d statype not unassoc: %d\n",
params->listen_interval, statype);
return -EINVAL;
}
The hostap logs look like this:
1559924108.560488: vap0000: Event RX_MGMT (18) received
1559924108.560490: mgmt::reassoc_req
1559924108.560509: reassociation request: STA=04:f0:21:f2:ea:c3 capab_info=0x1011 listen_interval=5 current_ap=04:f0:21:a3:c1:2a seq_ctrl=0x6f70
1559924108.560513: Validating WMM IE: OUI 00:50:f2 OUI type 2 OUI sub-type 0 version 1 QoS info 0x0
1559924108.560519: RSN IE: STA PMKID - hexdump(len=16): a4 dd c6 da 27 19 75 b0 33 2c 35 ad 6c 79 ff d5
1559924108.560523: FT: Reassoc Req IEs - hexdump(len=271): 00 0a 62 65 6e 2d 6a 77 2d 31 31 72 01 08 0c 12 18 24 30 48 60 6c 21 02 00 17 30 2a 01 00 00 0f ac 04
01 00 00 0f ac 04 01 00 00 0f ac 03 80 00 01 00 a4 dd c6 da 27 19 75 b0 33 2c 35 ad 6c 79 ff d5 00 0f ac 06 46 05 70 00 00 00 00 36 03 43 21 01 37 68 00 03 33
9a 9b 18 3d 74 ad 24 af 2f 01 d5 1d 0f ef 32 2f e0 8c d8 d4 27 9e d3 7b 72 c9 d9 8c 59 f2 d8 e7 fd 1a c7 c4 22 de 42 53 67 1b 3d d6 87 1d dd 46 fa 0e be 0f ab
49 92 89 f3 c9 c2 0f d9 bb c3 39 40 4f 67 99 d1 a5 49 e2 ae 2f 1d ed ac 0c 27 01 06 04 f0 21 a7 f6 2a 03 0c 30 34 66 30 32 31 61 33 63 31 32 61 2d 1a ef 19 1b
ff ff ff 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 7f 08 04 00 0a 02 01 00 00 40 bf 0c b2 01 80 33 ea ff 00 00 ea ff 00 00 3b 14 73 51 53 54
73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 dd 07 00 50 f2 02 00 01 00
1559924108.560582: FT: RSNE - hexdump(len=42): 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 00 0f ac 03 80 00 01 00 a4 dd c6 da 27 19 75 b0 33 2c 35 ad 6c 79 ff d5
00 0f ac 06
1559924108.560588: FT: MDE - hexdump(len=3): 43 21 01
1559924108.560590: FT: FTE - hexdump(len=104): 00 03 33 9a 9b 18 3d 74 ad 24 af 2f 01 d5 1d 0f ef 32 2f e0 8c d8 d4 27 9e d3 7b 72 c9 d9 8c 59 f2 d8 e7 fd 1a c7
c4 22 de 42 53 67 1b 3d d6 87 1d dd 46 fa 0e be 0f ab 49 92 89 f3 c9 c2 0f d9 bb c3 39 40 4f 67 99 d1 a5 49 e2 ae 2f 1d ed ac 0c 27 01 06 04 f0 21 a7 f6 2a 03
0c 30 34 66 30 32 31 61 33 63 31 32 61
1559924108.560598: FT: FTE-MIC Control - hexdump(len=2): 00 03
1559924108.560600: FT: FTE-MIC - hexdump(len=16): 33 9a 9b 18 3d 74 ad 24 af 2f 01 d5 1d 0f ef 32
1559924108.560602: FT: FTE-ANonce - hexdump(len=32): 2f e0 8c d8 d4 27 9e d3 7b 72 c9 d9 8c 59 f2 d8 e7 fd 1a c7 c4 22 de 42 53 67 1b 3d d6 87 1d dd
1559924108.560606: FT: FTE-SNonce - hexdump(len=32): 46 fa 0e be 0f ab 49 92 89 f3 c9 c2 0f d9 bb c3 39 40 4f 67 99 d1 a5 49 e2 ae 2f 1d ed ac 0c 27
1559924108.560609: FT: Parse FTE subelements - hexdump(len=22): 01 06 04 f0 21 a7 f6 2a 03 0c 30 34 66 30 32 31 61 33 63 31 32 61
1559924108.560621: old AID 1
1559924108.560623: HT: STA 04:f0:21:f2:ea:c3 HT Capabilities Info: 0x19ef
1559924108.560625: update_sta_ht STA 04:f0:21:f2:ea:c3 - no greenfield, num of non-gf stations 2
1559924108.560627: hostapd_ht_operation_update current operation mode=0x15
1559924108.560642: hostapd_ht_operation_update new operation mode=0x15 changes=0
1559924108.560645: 1559924108.560645: vap0000: STA 04:f0:21:f2:ea:c3 IEEE 802.11: association OK (aid 1)
1559924108.560647: Allowing reassociation after timed out SA Query procedure
1559924108.560649: Add associated STA 04:f0:21:f2:ea:c3 (added_unassoc=0 auth_alg=2 ft_over_ds=0 reassoc=1 authorized=1 ft_tk=1 fils_tk=0)
1559924108.560666: nl80211: Set STA 04:f0:21:f2:ea:c3
1559924108.560670: * supported rates - hexdump(len=8): 0c 12 18 24 30 48 60 6c
1559924108.560673: * capability=0x1011
1559924108.560676: * ht_capabilities - hexdump(len=26): 6e 00 1b ff ff ff 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00
1559924108.560682: * vht_capabilities - hexdump(len=12): b2 01 80 33 ea ff 00 00 ea ff 00 00
1559924108.560687: * aid=1
1559924108.560689: * listen_interval=5
1559924108.560691: * flags set=0xba mask=0xba
1559924108.560693: * qosinfo=0x0
1559924108.573246: nl80211: NL80211_CMD_SET_STATION result: -22 (Invalid argument)
1559924108.573270: 1559924108.573270: vap0000: STA 04:f0:21:f2:ea:c3 IEEE 802.11: Could not set STA to kernel driver, rv: -22
1559924108.573301: configured tx-antenna: 0x7, vht tx_map before: 0xffea
1559924108.573321: configured tx-antenna: 0x7, vht tx_map after: 0xffea
1559924108.573323: configured rx-antenna: 0x7, vht rx_map before: 0xffea
1559924108.573325: configured rx-antenna: 0x7, vht rx_map after: 0xffea
1559924108.573329: nl80211: send_mlme - da= 04:f0:21:f2:ea:c3 noack=0 freq=0 no_cck=0 offchanok=0 wait_time=0 fc=0x30 (WLAN_FC_STYPE_REASSOC_RESP) nlmode=3
1559924108.573333: nl80211: send_mlme -> send_frame
1559924108.573335: nl80211: send_frame - Use bss->freq=5180
1559924108.573337: nl80211: send_frame -> send_frame_cmd
1559924108.573359: nl80211: Drop oldest pending send action cookie 0x0
1559924108.573885: nl80211: Drv Event 60 (NL80211_CMD_FRAME_TX_STATUS) received for vap0000
1559924108.573896: nl80211: Frame TX status event
1559924108.573901: vap0000: Event TX_STATUS (16) received
1559924108.573905: mgmt::reassoc_resp cb
Any ideas on best way to fix this?
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com
_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap