From fcb4e88f44ae7fc0b4e8af1cfb5b88216acfa760 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 6 Nov 2011 18:49:17 +0000 Subject: [PATCH] [package] mac80211: change wireless ifname numbering schema Instead of simply counting up until we hit a free iface, group ifnames by wiphy so that the first wlanX on a phy gets the phy number and following ifaces an index-suffix, e.g. wlan0 for network 1 on phy 1 and wlan0-1 for network 2 on phy 1. This fixes state var confusion when operating multiple radios and allows to reliably take down and restart one radio only, even if the number of networks changes in between. This should, along with other changes in LuCI, fix #10335. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28784 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/mac80211/files/lib/wifi/mac80211.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh index 1ae0c2083..738c2aa41 100644 --- a/package/mac80211/files/lib/wifi/mac80211.sh +++ b/package/mac80211/files/lib/wifi/mac80211.sh @@ -329,13 +329,9 @@ enable_mac80211() { wifi_fixup_hwmode "$device" "g" for vif in $vifs; do - while [ -d "/sys/class/net/wlan$i" ]; do - i=$(($i + 1)) - done - config_get ifname "$vif" ifname [ -n "$ifname" ] || { - ifname="wlan$i" + [ $i -gt 0 ] && ifname="wlan${phy#phy}-$i" || ifname="wlan${phy#phy}" } config_set "$vif" ifname "$ifname" @@ -351,7 +347,6 @@ enable_mac80211() { # Hostapd will handle recreating the interface and # it's accompanying monitor apidx="$(($apidx + 1))" - i=$(($i + 1)) [ "$apidx" -gt 1 ] || iw phy "$phy" interface add "$ifname" type managed ;; mesh) @@ -404,6 +399,8 @@ enable_mac80211() { # wifi-device) if the latter doesn't exist txpower="${txpower:-$vif_txpower}" [ -z "$txpower" ] || iw dev "$ifname" set txpower fixed "${txpower%%.*}00" + + i=$(($i + 1)) done local start_hostapd= -- 2.20.1