madwifi: change wireless ifname numbering schema Instead of simply counting up until...
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 6 Nov 2011 19:57:07 +0000 (19:57 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 6 Nov 2011 19:57:07 +0000 (19:57 +0000)
SVN-Revision: 28785

package/madwifi/files/lib/wifi/madwifi.sh

index 93e68f51e8b91ba7ee7feb2ab2139f7bd20c56ce..8a4572db609bd0163e7f6b5c5bb87f49b51e1028 100755 (executable)
@@ -31,14 +31,19 @@ scan_atheros() {
        local adhoc ahdemo sta ap monitor disabled
 
        [ ${device%[0-9]} = "wifi" ] && config_set "$device" phy "$device"
+
+       local ifidx=0
        
        config_get vifs "$device" vifs
        for vif in $vifs; do
                config_get_bool disabled "$vif" disabled 0
                [ $disabled = 0 ] || continue
 
+               local vifname
+               [ $ifidx -gt 0 ] && vifname="ath${device#radio}-$ifidx" || vifname="ath${device#radio}"
+
                config_get ifname "$vif" ifname
-               config_set "$vif" ifname "${ifname:-ath}"
+               config_set "$vif" ifname "${ifname:-$vifname}"
                
                config_get mode "$vif" mode
                case "$mode" in
@@ -57,6 +62,8 @@ scan_atheros() {
                        ;;
                        *) echo "$device($vif): Invalid mode, ignored."; continue;;
                esac
+
+               ifidx=$(($ifidx + 1))
        done
 
        case "${adhoc:+1}:${sta:+1}:${ap:+1}" in
@@ -205,7 +212,7 @@ enable_atheros() {
                esac
 
                [ "$nosbeacon" = 1 ] || nosbeacon=""
-               ifname=$(wlanconfig "$ifname" create wlandev "$phy" wlanmode "$mode" ${nosbeacon:+nosbeacon})
+               ifname=$(wlanconfig "$ifname" create nounit wlandev "$phy" wlanmode "$mode" ${nosbeacon:+nosbeacon})
                [ $? -ne 0 ] && {
                        echo "enable_atheros($device): Failed to set up $mode vif $ifname" >&2
                        continue