Skip to content

Commit 9c3c003

Browse files
bhargavi-ctbhargavi-ct
andauthored
Increase sleep time and retry if we get unknown channel frequency from iwinfo (#1073)
Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> Co-authored-by: bhargavi-ct <bhargavimamidipaka@candelatech.com>
1 parent 5f4652d commit 9c3c003

1 file changed

Lines changed: 35 additions & 18 deletions

File tree

libs/tip_2x/tip_2x.py

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -672,24 +672,41 @@ def get_applied_ssid_info(self, profile_object=None, idx=0):
672672
return None
673673
ssid_info_sdk = profile_object.get_ssid_info()
674674
logging.info(f"ssid_info_sdk:{ssid_info_sdk}")
675-
ap_wifi_data = self.dut_library_object.get_iwinfo(idx=idx)
676-
channel_info = self.get_dut_channel_data(idx=idx)
677-
logging.info(f"channel_info:{channel_info}")
678-
o = ap_wifi_data.split()
679-
iwinfo_bssid_data = {}
680-
print(o)
681-
for i in range(len(o)):
682-
if o[i].__contains__("ESSID"):
683-
if o[i + 9].__contains__("2.4"):
684-
band = "2G"
685-
elif o[i + 9].__contains__("5."):
686-
band = "5G"
687-
elif "unknown" in o[i + 9]:
688-
logging.info(f"Error: {o[i - 1]} has an unknown channel frequency from iwinfo")
689-
pytest.fail(f"Error: {o[i - 1]} has an unknown channel frequency from iwinfo")
690-
else:
691-
band = "6G"
692-
iwinfo_bssid_data[o[i - 1]] = [o[i + 1].replace('"', ''), o[i + 4], band]
675+
676+
def parse_iwinfo():
677+
ap_wifi_data = self.dut_library_object.get_iwinfo(idx=idx)
678+
channel_info = self.get_dut_channel_data(idx=idx)
679+
logging.info(f"channel_info:{channel_info}")
680+
o = ap_wifi_data.split()
681+
iwinfo_bssid_data = {}
682+
logging.info(f"iwinfo raw split data: {o}")
683+
684+
for i in range(len(o)):
685+
if "ESSID" in o[i]:
686+
if "2.4" in o[i + 9]:
687+
band = "2G"
688+
elif "5." in o[i + 9]:
689+
band = "5G"
690+
elif "unknown" in o[i + 9]:
691+
return None, channel_info, o[i - 1] # return marker to trigger retry
692+
else:
693+
band = "6G"
694+
iwinfo_bssid_data[o[i - 1]] = [o[i + 1].replace('"', ''), o[i + 4], band]
695+
696+
return iwinfo_bssid_data, channel_info, None
697+
698+
iwinfo_bssid_data, channel_info, phy_name = parse_iwinfo()
699+
700+
if iwinfo_bssid_data is None:
701+
logging.warning(
702+
f"Initial iwinfo read shows unknown channel for {phy_name}, waiting 2 minutes before retry...")
703+
time.sleep(120) # wait 2 minutes
704+
iwinfo_bssid_data, channel_info, phy_name = parse_iwinfo()
705+
706+
if iwinfo_bssid_data is None:
707+
logging.info(f"Error: {phy_name} has an unknown channel frequency from iwinfo after retry")
708+
pytest.fail(f"Error: {phy_name} has an unknown channel frequency from iwinfo after retry")
709+
693710
logging.info(f"iwinfo_bssid_data:{iwinfo_bssid_data}")
694711
for p in iwinfo_bssid_data:
695712
for q in ssid_info_sdk:

0 commit comments

Comments
 (0)