treewide: fix shellscript syntax errors/typos
[openwrt/openwrt.git] / package / kernel / mac80211 / files / lib / wifi / mac80211.sh
index ff0d467ab15eb580423b050fc7b589b412e705da..940fb52ac273a421823e3169907e39c84fedc2ea 100644 (file)
@@ -9,11 +9,10 @@ lookup_phy() {
        local devpath
        config_get devpath "$device" path
        [ -n "$devpath" ] && {
-               for _phy in /sys/devices/$devpath/ieee80211/phy*; do
-                       [ -e "$_phy" ] && {
-                               phy="${_phy##*/}"
-                               return
-                       }
+               for phy in $(ls /sys/class/ieee80211 2>/dev/null); do
+                       case "$(readlink -f /sys/class/ieee80211/$phy/device)" in
+                               *$devpath) return;;
+                       esac
                done
        }
 
@@ -86,14 +85,14 @@ detect_mac80211() {
                iw phy "$dev" info | grep -q '2412 MHz' || { mode_band="a"; channel="36"; }
 
                vht_cap=$(iw phy "$dev" info | grep -c 'VHT Capabilities')
-               5ghz_cap=$(iw phy "$dev" info | grep -c "Band 2")
-               [ "$vht_cap" -gt 0 -a "$5ghz_cap" -gt 0 ] && {
+               cap_5ghz=$(iw phy "$dev" info | grep -c "Band 2")
+               [ "$vht_cap" -gt 0 -a "$cap_5ghz" -gt 0 ] && {
                        mode_band="a";
                        channel="36"
                        htmode="VHT80"
                }
 
-               [ -n $htmode ] && append ht_capab "     option htmode   $htmode" "$N"
+               [ -n "$htmode" ] && ht_capab="set wireless.radio${devidx}.htmode=$htmode"
 
                if [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${dev} ]; then
                        path="$(readlink -f /sys/class/ieee80211/${dev}/device)"
@@ -102,30 +101,32 @@ detect_mac80211() {
                fi
                if [ -n "$path" ]; then
                        path="${path##/sys/devices/}"
-                       dev_id="        option path     '$path'"
+                       case "$path" in
+                               platform*/pci*) path="${path##platform/}";;
+                       esac
+                       dev_id="set wireless.radio${devidx}.path='$path'"
                else
-                       dev_id="        option macaddr  $(cat /sys/class/ieee80211/${dev}/macaddress)"
+                       dev_id="set wireless.radio${devidx}.macaddr=$(cat /sys/class/ieee80211/${dev}/macaddress)"
                fi
 
-               cat <<EOF
-config wifi-device  radio$devidx
-       option type     mac80211
-       option channel  ${channel}
-       option hwmode   11${mode_band}
-$dev_id
-$ht_capab
-       # REMOVE THIS LINE TO ENABLE WIFI:
-       option disabled 1
-
-config wifi-iface
-       option device   radio$devidx
-       option network  lan
-       option mode     ap
-       option ssid     OpenWrt
-       option encryption none
-
+               uci -q batch <<-EOF
+                       set wireless.radio${devidx}=wifi-device
+                       set wireless.radio${devidx}.type=mac80211
+                       set wireless.radio${devidx}.channel=${channel}
+                       set wireless.radio${devidx}.hwmode=11${mode_band}
+                       ${dev_id}
+                       ${ht_capab}
+                       set wireless.radio${devidx}.disabled=1
+
+                       set wireless.default_radio${devidx}=wifi-iface
+                       set wireless.default_radio${devidx}.device=radio${devidx}
+                       set wireless.default_radio${devidx}.network=lan
+                       set wireless.default_radio${devidx}.mode=ap
+                       set wireless.default_radio${devidx}.ssid=LEDE
+                       set wireless.default_radio${devidx}.encryption=none
 EOF
-       devidx=$(($devidx + 1))
+               uci -q commit wireless
+
+               devidx=$(($devidx + 1))
        done
 }
-