3d24a4f31a8c3bbf69c284ec53e1fb5d3c2fc50c
[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-s600-ps)
45 # set the 5G MAC address (= ethaddr + 1)
46 [ "$PHYNBR" -eq 0 ] && \
47 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
48 # set the 2.4G MAC address (= ethaddr)
49 [ "$PHYNBR" -eq 1 ] && \
50 mtd_get_mac_ascii u-boot-env "ethaddr" > /sys${DEVPATH}/macaddress
51 ;;
52 engenius,ecb1200|\
53 engenius,ecb1750)
54 [ "$PHYNBR" -eq 0 ] && \
55 mtd_get_mac_ascii u-boot-env ethaddr > /sys${DEVPATH}/macaddress
56 ;;
57 engenius,epg5000|\
58 engenius,esr1200|\
59 engenius,esr1750|\
60 engenius,esr900)
61 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" "$PHYNBR" > /sys${DEVPATH}/macaddress
62 ;;
63 engenius,ews511ap)
64 [ "$PHYNBR" -eq 0 ] && \
65 macaddr_add $(cat /sys/class/net/eth0/address) 1 > /sys${DEVPATH}/macaddress
66 ;;
67 extreme-networks,ws-ap3805i)
68 [ "$PHYNBR" -eq 0 ] && \
69 mtd_get_mac_ascii cfg1 RADIOADDR0 > /sys${DEVPATH}/macaddress
70 ;;
71 iodata,wn-ac1167dgr|\
72 iodata,wn-ac1600dgr|\
73 iodata,wn-ac1600dgr2|\
74 sitecom,wlr-7100|\
75 sitecom,wlr-8100|\
76 zyxel,nbg6616)
77 # There is no eeprom data for 5 GHz wlan in "art" partition
78 # which would allow to patch the macaddress
79 [ "$PHYNBR" -eq 0 ] && \
80 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
81 ;;
82 iodata,wn-ag300dgr)
83 # There is no eeprom data for 5 GHz wlan in "art" partition
84 # which would allow to patch the macaddress
85 [ "$PHYNBR" -eq 1 ] && \
86 macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
87 ;;
88 nec,wf1200cr|\
89 nec,wg1200cr|\
90 qihoo,c301)
91 [ "$PHYNBR" -eq 0 ] && \
92 mtd_get_mac_ascii devdata wlan5mac > /sys${DEVPATH}/macaddress
93 ;;
94 phicomm,k2t)
95 [ "$PHYNBR" -eq 0 ] && \
96 k2t_get_mac "5g_mac" > /sys${DEVPATH}/macaddress
97 # The K2T factory firmware does use LAN mac address as the 2.4G wifi mac address
98 [ "$PHYNBR" -eq 1 ] && \
99 k2t_get_mac "lan_mac" > /sys${DEVPATH}/macaddress
100 ;;
101 siemens,ws-ap3610)
102 mtd_get_mac_ascii cfg1 RADIOADDR${PHYNBR} > /sys${DEVPATH}/macaddress
103 ;;
104 tplink,deco-s4-v2)
105 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
106 [ "$PHYNBR" -eq 0 ] && \
107 macaddr_add $base_mac 2 > /sys${DEVPATH}/macaddress
108
109 ;;
110 trendnet,tew-823dru)
111 # set the 2.4G interface mac address to LAN MAC
112 [ "$PHYNBR" -eq 1 ] && \
113 mtd_get_mac_text mac 4 > /sys${DEVPATH}/macaddress
114 # set the 5G interface mac address to WAN MAC + 1
115 [ "$PHYNBR" -eq 0 ] && \
116 macaddr_add "$(mtd_get_mac_text mac 0x18)" 1 > /sys${DEVPATH}/macaddress
117 ;;
118 zyxel,nbg6616)
119 # Set mac address for 2.4g device
120 [ "$PHYNBR" -eq 1 ] && \
121 mtd_get_mac_ascii u-boot-env ethaddr > /sys${DEVPATH}/macaddress
122 ;;
123 zyxel,nwa1123-ac)
124 [ "$PHYNBR" -eq 0 ] && \
125 mtd_get_mac_text mib0 0x66 > /sys${DEVPATH}/macaddress
126 ;;
127 zyxel,nwa1123-ni)
128 [ "$PHYNBR" -eq 1 ] && \
129 mtd_get_mac_text mib0 0x66 > /sys${DEVPATH}/macaddress
130 ;;
131 esac