From 5f52dbffb30f06abe026c4127b53c68295ab7015 Mon Sep 17 00:00:00 2001 From: citronalco <2651739+citronalco@users.noreply.github.com> Date: Tue, 18 Feb 2025 23:08:27 +0100 Subject: [PATCH] tecff-broken-wlan-workaround: fix for OWE owe_transition_mode setups in line 48, WIRELESS_UCI contains "wireless.client_radio0 wireless.owe_radio0", so a loop is required to populate WLAN_DEVICES --- .../broken-wlan-workaround.sh | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/tecff-broken-wlan-workaround/files/lib/gluon/broken-wlan-workaround/broken-wlan-workaround.sh b/tecff-broken-wlan-workaround/files/lib/gluon/broken-wlan-workaround/broken-wlan-workaround.sh index a44a224..0e68798 100755 --- a/tecff-broken-wlan-workaround/files/lib/gluon/broken-wlan-workaround/broken-wlan-workaround.sh +++ b/tecff-broken-wlan-workaround/files/lib/gluon/broken-wlan-workaround/broken-wlan-workaround.sh @@ -37,7 +37,7 @@ fi for i in $(ls /sys/class/net/); do # gather a list of interfaces WIRELESS_UCI="$(uci show wireless | grep $i | cut -d"." -f1-2)" - if [ -n "$WIRELESS_UCI" ]; then + if [ -n "$WIRELESS_UCI" ]; then if [ -n "$WLAN_INTERFACES" ]; then WLAN_INTERFACES="$WLAN_INTERFACES $i" else @@ -46,16 +46,18 @@ for i in $(ls /sys/class/net/); do # gather a list of devices if expr "$i" : "\(client\|mesh\|owe\)[0-9]" >/dev/null; then WIRELESS_UCI="$(uci show wireless | grep $i | cut -d"." -f1-2)" - WLAN_DEVICE="$(uci get ${WIRELESS_UCI}.device)" - if [ -n "$WLAN_DEVICES" ]; then - if ! expr "$WLAN_DEVICES" : ".*${WLAN_DEVICE}.*" >/dev/null; then - WLAN_DEVICES="$WLAN_DEVICES $WLAN_DEVICE" + for WUCI in $WIRELESS_UCI; do + WLAN_DEVICE="$(uci get ${WUCI}.device)" + if [ -n "$WLAN_DEVICES" ]; then + if ! expr "$WLAN_DEVICES" : ".*${WLAN_DEVICE}.*" >/dev/null; then + WLAN_DEVICES="$WLAN_DEVICES $WLAN_DEVICE" + fi + else + WLAN_DEVICES="$WLAN_DEVICE" fi - else - WLAN_DEVICES="$WLAN_DEVICE" - fi + WLAN_DEVICE= + done WIRELESS_UCI= - WLAN_DEVICE= fi fi done