[backfire] madwifi: backport r28785
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 13 Nov 2011 17:45:01 +0000 (17:45 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 13 Nov 2011 17:45:01 +0000 (17:45 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@29029 3c298f89-4303-0410-b956-a3cf2f4a3e73

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

index 4f01f008fd7fd3baaaccf2922662ab626ca1d6f7..18fef0ab1c07750ceebc8e6c38c6a29b59c5a41e 100644 (file)
@@ -12,7 +12,7 @@ PKG_NAME:=madwifi
 
 PKG_REV:=3314
 PKG_VERSION:=r$(PKG_REV)
 
 PKG_REV:=3314
 PKG_VERSION:=r$(PKG_REV)
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE_PROTO:=svn
 PKG_SOURCE_VERSION:=$(PKG_REV)
 
 PKG_SOURCE_PROTO:=svn
 PKG_SOURCE_VERSION:=$(PKG_REV)
index 564741b7edb89b2433cefd48e7c90b3b85f94129..754de8bb7bb3f54f41f4c487cd97c9a30633fa0e 100755 (executable)
@@ -5,14 +5,19 @@ scan_atheros() {
        local device="$1"
        local wds
        local adhoc ahdemo sta ap monitor disabled
        local device="$1"
        local wds
        local adhoc ahdemo sta ap monitor disabled
-       
+
+       local ifidx=0
+
        config_get vifs "$device" vifs
        for vif in $vifs; do
                config_get_bool disabled "$vif" disabled 0
                [ $disabled = 0 ] || continue
 
        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#wifi}-$ifidx" || vifname="ath${device#wifi}"
+
                config_get ifname "$vif" ifname
                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
                
                config_get mode "$vif" mode
                case "$mode" in
@@ -31,6 +36,8 @@ scan_atheros() {
                        ;;
                        *) echo "$device($vif): Invalid mode, ignored."; continue;;
                esac
                        ;;
                        *) echo "$device($vif): Invalid mode, ignored."; continue;;
                esac
+
+               ifidx=$(($ifidx + 1))
        done
 
        case "${adhoc:+1}:${sta:+1}:${ap:+1}" in
        done
 
        case "${adhoc:+1}:${sta:+1}:${ap:+1}" in
@@ -169,7 +176,7 @@ enable_atheros() {
                esac
                
                [ "$nosbeacon" = 1 ] || nosbeacon=""
                esac
                
                [ "$nosbeacon" = 1 ] || nosbeacon=""
-               ifname=$(wlanconfig "$ifname" create wlandev "$device" wlanmode "$mode" ${nosbeacon:+nosbeacon})
+               ifname=$(wlanconfig "$ifname" create nounit wlandev "$device" wlanmode "$mode" ${nosbeacon:+nosbeacon})
                [ $? -ne 0 ] && {
                        echo "enable_atheros($device): Failed to set up $mode vif $ifname" >&2
                        continue
                [ $? -ne 0 ] && {
                        echo "enable_atheros($device): Failed to set up $mode vif $ifname" >&2
                        continue