summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Khan2025-02-19 05:28:07 +0000
committerJohn Crispin2025-02-19 07:07:20 +0000
commit15013e87cb5415b7462523a2d87e833f3f56995f (patch)
tree6a4d06ae1ae37bbfeef7fb8bee25063527c7c536
parenteabea737fae4638ace92e1404279f0d2b1839a7a (diff)
downloadopenwrt-15013e87cb5415b7462523a2d87e833f3f56995f.tar.gz
wifi-scripts: iwinfo: add null checks for rx/tx bitrate
On some devices, the rx/tx bitrate may not always be available right away, or at all when in mesh mode at plink is blocked causing the following: ``` Reference error: left-hand side expression is null In assoclist(), file /usr/share/ucode/iwinfo.uc, line 321, byte 46: called from function info (/usr/share/ucode/iwinfo.uc:427:33) called from anonymous function (/usr/bin/iwinfo:108:25) ` bitrate_raw: station.sta_info.tx_bitrate.bitrate,` Near here -----------------------------------------------^ Reference error: left-hand side expression is null In assoclist(), file /usr/share/ucode/iwinfo.uc, line 314, byte 54: called from function info (/usr/share/ucode/iwinfo.uc:427:33) called from anonymous function (/usr/bin/iwinfo:108:25) ` bitrate: format_rate(station.sta_info.rx_bitrate.bitrate),` Near here -------------------------------------------------------^ Reference error: left-hand side expression is null In assoc_flags(), file /usr/share/ucode/iwinfo.uc, line 216, byte 12: called from function assoclist (/usr/share/ucode/iwinfo.uc:323:51) called from function info (/usr/share/ucode/iwinfo.uc:427:33) called from anonymous function (/usr/bin/iwinfo:108:25) ` if (data[k])` Near here -------^ ``` This was seen on Linksys MX5300 in mesh mode (QCA9984). Signed-off-by: Sean Khan <datapronix@protonmail.com> Link: https://github.com/openwrt/openwrt/pull/18027 Signed-off-by: John Crispin <john@phrozen.org>
-rw-r--r--package/network/config/wifi-scripts/files-ucode/usr/share/ucode/iwinfo.uc16
1 files changed, 8 insertions, 8 deletions
diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/iwinfo.uc b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/iwinfo.uc
index 4ce45b21f1..ff878cfebb 100644
--- a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/iwinfo.uc
+++ b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/iwinfo.uc
@@ -311,16 +311,16 @@ export function assoclist(dev) {
snr: station.sta_info.signal_avg - ifaces[dev].noise,
inactive_time: station.sta_info.inactive_time,
rx: {
- bitrate: format_rate(station.sta_info.rx_bitrate.bitrate),
- bitrate_raw: station.sta_info.rx_bitrate.bitrate,
- packets: station.sta_info.rx_packets,
- flags: assoc_flags(station.sta_info.rx_bitrate),
+ bitrate: format_rate(station.sta_info.rx_bitrate?.bitrate ?? 0),
+ bitrate_raw: station.sta_info.rx_bitrate?.bitrate ?? 0,
+ packets: station.sta_info.rx_packets ?? 0,
+ flags: assoc_flags(station.sta_info.rx_bitrate ?? {}),
},
tx: {
- bitrate: format_rate(station.sta_info.tx_bitrate.bitrate),
- bitrate_raw: station.sta_info.tx_bitrate.bitrate,
- packets: station.sta_info.tx_packets,
- flags: assoc_flags(station.sta_info.tx_bitrate),
+ bitrate: format_rate(station.sta_info.tx_bitrate?.bitrate ?? 0),
+ bitrate_raw: station.sta_info.tx_bitrate?.bitrate ?? 0,
+ packets: station.sta_info.tx_packets ?? 0,
+ flags: assoc_flags(station.sta_info.tx_bitrate ?? {}),
},
expected_throughput: station.sta_info.expected_throughput ?? 'unknown',
};