ramips: add support for YunCore G720
[openwrt/openwrt.git] / target / linux / ramips / mt7621 / base-files / etc / hotplug.d / ieee80211 / 10_fix_wifi_mac
1 [ "$ACTION" == "add" ] || exit 0
2
3 PHYNBR=${DEVPATH##*/phy}
4
5 [ -n $PHYNBR ] || exit 0
6
7 . /lib/functions.sh
8 . /lib/functions/system.sh
9
10 board=$(board_name)
11
12 case "$board" in
13 arcadyan,we420223-99)
14 if [ "$PHYNBR" = "0" ]; then
15 mac24=$(macaddr_add "$(get_mac_label)" "0xf00001")
16 echo -n "$mac24" > /sys${DEVPATH}/macaddress
17 elif [ "$PHYNBR" = "1" ]; then
18 mac5=$(macaddr_add "$(get_mac_label)" 1)
19 echo -n "$mac5" > /sys${DEVPATH}/macaddress
20 fi
21 ;;
22 beeline,smartbox-flash)
23 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
24 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
25 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 26)
26 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 27)
27 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
28 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
29 ;;
30 comfast,cf-e390ax)
31 [ "$PHYNBR" = "0" ] && echo -n "$(mtd_get_mac_binary factory 0x0004)" > /sys${DEVPATH}/macaddress
32 [ "$PHYNBR" = "1" ] && echo -n "$(mtd_get_mac_binary factory 0x8004)" > /sys${DEVPATH}/macaddress
33 ;;
34 cudy,x6-v1|\
35 cudy,x6-v2)
36 hw_mac_addr="$(mtd_get_mac_binary bdinfo 0xde00)"
37 [ "$PHYNBR" = "1" ] && \
38 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
39 ;;
40 dlink,dap-1620-b1|\
41 dlink,dir-853-a1)
42 lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
43 [ "$PHYNBR" = "0" ] && \
44 macaddr_add $lan_mac_addr 1 > /sys${DEVPATH}/macaddress
45 [ "$PHYNBR" = "1" ] && \
46 macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
47 ;;
48 dlink,covr-x1860-a1)
49 label_mac=$(mtd_get_mac_ascii config2 factory_mac)
50 [ "$PHYNBR" = "0" ] && \
51 macaddr_add $label_mac 1 > /sys${DEVPATH}/macaddress
52 [ "$PHYNBR" = "1" ] && \
53 macaddr_add $label_mac 2 > /sys${DEVPATH}/macaddress
54 ;;
55 dlink,dap-x1860-a1)
56 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
57 [ "$PHYNBR" = "0" ] && \
58 macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
59 [ "$PHYNBR" = "1" ] && \
60 macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
61 ;;
62 dlink,dir-853-a3)
63 [ "$PHYNBR" = "0" ] && \
64 macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
65 > /sys${DEVPATH}/macaddress
66 ;;
67 dlink,dir-853-r1|\
68 phicomm,k2p)
69 if [ "$PHYNBR" = "0" ]; then
70 base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
71 macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
72 fi
73 ;;
74 glinet,gl-mt1300)
75 [ "$PHYNBR" = "1" ] && \
76 macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
77 ;;
78 h3c,tx1800-plus|\
79 h3c,tx1801-plus|\
80 h3c,tx1806)
81 addr=$(macaddr_setbit $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 7)
82 [ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress
83 [ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress
84 ;;
85 haier,har-20s2u1|\
86 jcg,y2|\
87 sim,simax1800t)
88 [ "$PHYNBR" = "1" ] && \
89 macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
90 ;;
91 hiwifi,hc5962)
92 label_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
93 [ "$PHYNBR" = "0" ] && [ -n "$label_mac" ] && \
94 echo -n "$label_mac" > /sys${DEVPATH}/macaddress
95 [ "$PHYNBR" = "1" ] && [ -n "$label_mac" ] && \
96 macaddr_unsetbit "$label_mac" 6 > /sys${DEVPATH}/macaddress
97 ;;
98 iptime,a3002mesh|\
99 iptime,a3004t)
100 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
101 [ "$PHYNBR" = "0" ] && \
102 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
103 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
104 ;;
105 iptime,ax2004m)
106 if [ "$PHYNBR" = "1" ]; then
107 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
108 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
109 fi
110 ;;
111 jcg,q20)
112 [ "$PHYNBR" = "1" ] && \
113 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
114 ;;
115 linksys,e5600|\
116 linksys,ea6350-v4|\
117 linksys,ea7300-v1|\
118 linksys,ea7300-v2|\
119 linksys,ea7500-v2|\
120 linksys,ea8100-v1|\
121 linksys,ea8100-v2)
122 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
123 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
124 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
125 ;;
126 belkin,rt1800|\
127 linksys,e7350)
128 hw_mac_addr=$(mtd_get_mac_ascii Config wan_hwaddr)
129 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
130 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
131 ;;
132 netgear,wax202)
133 hw_mac_addr=$(mtd_get_mac_ascii Config mac)
134 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
135 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
136 ;;
137 mercusys,mr70x-v1|\
138 tplink,archer-ax23-v1)
139 hw_mac_addr="$(mtd_get_mac_binary config 0x8)"
140 [ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" -1 > "/sys${DEVPATH}/macaddress"
141 ;;
142 mts,wg430223)
143 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
144 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
145 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 26)
146 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 27)
147 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
148 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
149 ;;
150 oraybox,x3a)
151 if [ "$PHYNBR" = "1" ]; then
152 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
153 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
154 fi
155 ;;
156 raisecom,msg1500-x-00)
157 [ "$PHYNBR" = "0" ] && \
158 macaddr_setbit_la "$(get_mac_label)" > /sys${DEVPATH}/macaddress
159 ;;
160 snr,snr-cpe-me2-sfp)
161 hw_mac_addr="$(mtd_get_mac_binary factory 0x8004)"
162 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
163 ;;
164 tenbay,t-mb5eu-v01)
165 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
166 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress
167 ;;
168 totolink,x5000r)
169 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
170 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
171 ;;
172 tplink,eap613-v1|\
173 tplink,eap615-wall-v1)
174 hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
175 macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
176 ;;
177 tplink,ex220-v1)
178 hw_mac_addr="$(mtd_get_mac_binary rom_file 0xf100)"
179 [ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" 2 > "/sys${DEVPATH}/macaddress"
180 ;;
181 yuncore,ax820|\
182 yuncore,g720)
183 [ "$PHYNBR" = "1" ] && \
184 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress
185 ;;
186 yuncore,fap640|\
187 yuncore,fap690)
188 hw_mac_addr="$(mtd_get_mac_binary Factory 0x4)"
189 [ "$PHYNBR" = "0" ] && macaddr_setbit_la "$hw_mac_addr" > /sys${DEVPATH}/macaddress
190 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
191 ;;
192 zyxel,nwa50ax|\
193 zyxel,nwa55axe)
194 hw_mac_addr="$(mtd_get_mac_binary mrd 0x1fff8)"
195 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
196 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
197 ;;
198 zyxel,wsm20)
199 hw_mac_addr="$(mtd_get_mac_binary Factory 0x1fdfa)"
200 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
201 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
202 ;;
203 esac