From c5420f9c921bcd7288e5b07fc4e86ab461398c66 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 14 Jan 2017 13:54:02 +0200 Subject: [PATCH] tests: Disable HT in ibss_rsn to avoid a strange issue with mac80211 When fixing the TK clearing on Authentication frame RX, an issue in getting unicast frames through after re-joining the IBSS was hit. It is not exactly clear why this happens, but the unicast frame from the STA that re-joined the network gets lost in the frame reorder buffer of the STA that remains in the network. For now, this disables HT to avoid a strange issue with mac80211 frame reordering during the final test_connectivity() call. Once that is figured out, these disable_ht=1 calls should be removed from the test case. Signed-off-by: Jouni Malinen --- tests/hwsim/test_ibss.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/hwsim/test_ibss.py b/tests/hwsim/test_ibss.py index 0640ef786..2c58b2200 100644 --- a/tests/hwsim/test_ibss.py +++ b/tests/hwsim/test_ibss.py @@ -99,12 +99,18 @@ def test_ibss_rsn(dev): logger.info("Start IBSS on the first STA") id = add_ibss_rsn(dev[0], ssid) + # FIX: For now, this disables HT to avoid a strange issue with mac80211 + # frame reordering during the final test_connectivity() call. Once that is + # figured out, these disable_ht=1 calls should be removed from the test + # case. + dev[0].set_network(id, "disable_ht", "1") connect_ibss_cmd(dev[0], id) bssid0 = wait_ibss_connection(dev[0]) logger.info("Join two STAs to the IBSS") id = add_ibss_rsn(dev[1], ssid) + dev[1].set_network(id, "disable_ht", "1") connect_ibss_cmd(dev[1], id) bssid1 = wait_ibss_connection(dev[1]) if bssid0 != bssid1: @@ -133,6 +139,7 @@ def test_ibss_rsn(dev): dev[1].request("REMOVE_NETWORK all") time.sleep(1) id = add_ibss_rsn(dev[1], ssid) + dev[1].set_network(id, "disable_ht", "1") connect_ibss_cmd(dev[1], id) bssid1 = wait_ibss_connection(dev[1]) if bssid0 != bssid1: