9574d8a17d90b5240f51f0879aff8c19ce18a93b
[openwrt/staging/mans0n.git] / target / linux / ath79 / generic / 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 . /lib/functions/k2t.sh
12
13 board=$(board_name)
14
15 case "$board" in
16 adtran,bsap1800-v2|\
17 adtran,bsap1840)
18 macaddr_add "$(mtd_get_mac_binary 'Board data' 2)" $(($PHYNBR * 8 + 1)) > /sys${DEVPATH}/macaddress
19 ;;
20 dlink,covr-p2500-a1)
21 [ "$PHYNBR" -eq 0 ] && \
22 mtd_get_mac_ascii art "protest_ath1_mac" > /sys${DEVPATH}/macaddress
23 [ "$PHYNBR" -eq 1 ] && \
24 mtd_get_mac_ascii art "protest_ath0_mac" > /sys${DEVPATH}/macaddress
25 ;;
26 dlink,dap-1330-a1|\
27 dlink,dap-1365-a1|\
28 dlink,dch-g020-a1)
29 mtd_get_mac_text "mp" 0x13 > /sys${DEVPATH}/macaddress
30 ;;
31 dlink,dap-2230-a1|\
32 dlink,dap-3320-a1)
33 mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
34 ;;
35 dlink,dap-2660-a1|\
36 dlink,dap-2680-a1|\
37 dlink,dap-2695-a1|\
38 dlink,dap-3662-a1)
39 [ "$PHYNBR" -eq 0 ] && \
40 mtd_get_mac_ascii bdcfg "wlanmac_a" > /sys${DEVPATH}/macaddress
41 [ "$PHYNBR" -eq 1 ] && \
42 mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
43 ;;
44 elecom,wab-i1750-ps|\
45 elecom,wab-s1167-ps|\
46 elecom,wab-s600-ps)
47 # set the 5G MAC address (= ethaddr + 1)
48 [ "$PHYNBR" -eq 0 ] && \
49 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
50 # set the 2.4G MAC address (= ethaddr)
51 [ "$PHYNBR" -eq 1 ] && \
52 mtd_get_mac_ascii u-boot-env "ethaddr" > /sys${DEVPATH}/macaddress
53 ;;
54 engenius,ecb1200|\
55 engenius,ecb1750)
56 [ "$PHYNBR" -eq 0 ] && \
57 mtd_get_mac_ascii u-boot-env ethaddr > /sys${DEVPATH}/macaddress
58 ;;
59 engenius,epg5000|\
60 engenius,esr1200|\
61 engenius,esr1750|\
62 engenius,esr900)
63 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" "$PHYNBR" > /sys${DEVPATH}/macaddress
64 ;;
65 engenius,ews511ap)
66 [ "$PHYNBR" -eq 0 ] && \
67 macaddr_add $(cat /sys/class/net/eth0/address) 1 > /sys${DEVPATH}/macaddress
68 ;;
69 extreme-networks,ws-ap3805i)
70 [ "$PHYNBR" -eq 0 ] && \
71 mtd_get_mac_ascii cfg1 RADIOADDR0 > /sys${DEVPATH}/macaddress
72 ;;
73 iodata,wn-ac1167dgr|\
74 iodata,wn-ac1600dgr|\
75 iodata,wn-ac1600dgr2|\
76 sitecom,wlr-7100|\
77 sitecom,wlr-8100|\
78 zyxel,nbg6616)
79 # There is no eeprom data for 5 GHz wlan in "art" partition
80 # which would allow to patch the macaddress
81 [ "$PHYNBR" -eq 0 ] && \
82 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
83 ;;
84 iodata,wn-ag300dgr)
85 # There is no eeprom data for 5 GHz wlan in "art" partition
86 # which would allow to patch the macaddress
87 [ "$PHYNBR" -eq 1 ] && \
88 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
89 ;;
90 nec,wf1200cr|\
91 nec,wg1200cr|\
92 qihoo,c301)
93 [ "$PHYNBR" -eq 0 ] && \
94 mtd_get_mac_ascii devdata wlan5mac > /sys${DEVPATH}/macaddress
95 ;;
96 phicomm,k2t)
97 [ "$PHYNBR" -eq 0 ] && \
98 k2t_get_mac "5g_mac" > /sys${DEVPATH}/macaddress
99 # The K2T factory firmware does use LAN mac address as the 2.4G wifi mac address
100 [ "$PHYNBR" -eq 1 ] && \
101 k2t_get_mac "lan_mac" > /sys${DEVPATH}/macaddress
102 ;;
103 siemens,ws-ap3610)
104 mtd_get_mac_ascii cfg1 RADIOADDR${PHYNBR} > /sys${DEVPATH}/macaddress
105 ;;
106 tplink,deco-s4-v2)
107 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
108 [ "$PHYNBR" -eq 0 ] && \
109 macaddr_add $base_mac 2 > /sys${DEVPATH}/macaddress
110
111 ;;
112 trendnet,tew-823dru)
113 # set the 2.4G interface mac address to LAN MAC
114 [ "$PHYNBR" -eq 1 ] && \
115 mtd_get_mac_text mac 4 > /sys${DEVPATH}/macaddress
116 # set the 5G interface mac address to WAN MAC + 1
117 [ "$PHYNBR" -eq 0 ] && \
118 macaddr_add "$(mtd_get_mac_text mac 0x18)" 1 > /sys${DEVPATH}/macaddress
119 ;;
120 zyxel,nbg6616)
121 # Set mac address for 2.4g device
122 [ "$PHYNBR" -eq 1 ] && \
123 mtd_get_mac_ascii u-boot-env ethaddr > /sys${DEVPATH}/macaddress
124 ;;
125 zyxel,nwa1123-ac)
126 [ "$PHYNBR" -eq 0 ] && \
127 mtd_get_mac_text mib0 0x66 > /sys${DEVPATH}/macaddress
128 ;;
129 zyxel,nwa1123-ni)
130 [ "$PHYNBR" -eq 1 ] && \
131 mtd_get_mac_text mib0 0x66 > /sys${DEVPATH}/macaddress
132 ;;
133 esac