ef5fc344a6f3d111b8a7aba82e359615e66c15a5
[openwrt/openwrt.git] / target / linux / ipq806x / base-files / etc / hotplug.d / ieee80211 / 10_fix_wifi_mac
1 #!/bin/ash
2
3 [ "$ACTION" == "add" ] || exit 0
4
5 PHYNBR=${DEVPATH##*/phy}
6
7 [ -n $PHYNBR ] || exit 0
8
9 . /lib/functions.sh
10 . /lib/functions/system.sh
11
12 board=$(board_name)
13
14 case "$board" in
15 ubnt,unifi-ac-hd)
16 macaddr_add $(mtd_get_mac_binary EEPROM 0x6) $(($PHYNBR + 1)) > /sys${DEVPATH}/macaddress
17 ;;
18 extreme,ap3935)
19 echo "##### PHYNBR=$PHYNBR DEVPATH=$DEVPATH"
20 [ "$PHYNBR" = "0" ] && echo $(mtd_get_mac_ascii CFG1 RADIOADDR0) > /sys${DEVPATH}/macaddress
21 [ "$PHYNBR" = "1" ] && echo $(mtd_get_mac_ascii CFG1 RADIOADDR1) > /sys${DEVPATH}/macaddress
22 ;;
23 esac
24
25 OPATH=${DEVPATH##/devices/platform/}
26 OPATH=${OPATH%%/ieee*}
27
28 # 10 radios is enough for anyone!
29 for i in $(seq 0 9);
30 do
31 BUS=$(uci get wireless.@wifi-device[$i].path)
32 if [ "$BUS " == "$OPATH " ]
33 then
34 PHYNAME=${DEVPATH##*ieee80211/}
35 NPHYNAME=$(uci get wireless.@wifi-device[$i].phyname)
36 if [ "$NPHYNAME " != " " ]
37 then
38 if [ "$PHYNAME " != "$NPHYNAME " ]
39 then
40 iw $PHYNAME set name $NPHYNAME
41 fi
42 fi
43 fi
44 done