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>
This commit is contained in:
bhargavi-ct
2025-10-01 13:16:00 +05:30
committed by GitHub
parent 5f4652d76b
commit 9c3c00316d

View File

@@ -672,24 +672,41 @@ class tip_2x:
return None
ssid_info_sdk = profile_object.get_ssid_info()
logging.info(f"ssid_info_sdk:{ssid_info_sdk}")
ap_wifi_data = self.dut_library_object.get_iwinfo(idx=idx)
channel_info = self.get_dut_channel_data(idx=idx)
logging.info(f"channel_info:{channel_info}")
o = ap_wifi_data.split()
iwinfo_bssid_data = {}
print(o)
for i in range(len(o)):
if o[i].__contains__("ESSID"):
if o[i + 9].__contains__("2.4"):
band = "2G"
elif o[i + 9].__contains__("5."):
band = "5G"
elif "unknown" in o[i + 9]:
logging.info(f"Error: {o[i - 1]} has an unknown channel frequency from iwinfo")
pytest.fail(f"Error: {o[i - 1]} has an unknown channel frequency from iwinfo")
else:
band = "6G"
iwinfo_bssid_data[o[i - 1]] = [o[i + 1].replace('"', ''), o[i + 4], band]
def parse_iwinfo():
ap_wifi_data = self.dut_library_object.get_iwinfo(idx=idx)
channel_info = self.get_dut_channel_data(idx=idx)
logging.info(f"channel_info:{channel_info}")
o = ap_wifi_data.split()
iwinfo_bssid_data = {}
logging.info(f"iwinfo raw split data: {o}")
for i in range(len(o)):
if "ESSID" in o[i]:
if "2.4" in o[i + 9]:
band = "2G"
elif "5." in o[i + 9]:
band = "5G"
elif "unknown" in o[i + 9]:
return None, channel_info, o[i - 1] # return marker to trigger retry
else:
band = "6G"
iwinfo_bssid_data[o[i - 1]] = [o[i + 1].replace('"', ''), o[i + 4], band]
return iwinfo_bssid_data, channel_info, None
iwinfo_bssid_data, channel_info, phy_name = parse_iwinfo()
if iwinfo_bssid_data is None:
logging.warning(
f"Initial iwinfo read shows unknown channel for {phy_name}, waiting 2 minutes before retry...")
time.sleep(120) # wait 2 minutes
iwinfo_bssid_data, channel_info, phy_name = parse_iwinfo()
if iwinfo_bssid_data is None:
logging.info(f"Error: {phy_name} has an unknown channel frequency from iwinfo after retry")
pytest.fail(f"Error: {phy_name} has an unknown channel frequency from iwinfo after retry")
logging.info(f"iwinfo_bssid_data:{iwinfo_bssid_data}")
for p in iwinfo_bssid_data:
for q in ssid_info_sdk: