ramips: add support for TP-Link RE205 v3
[openwrt/openwrt.git] / target / linux / ramips / mt76x8 / base-files / etc / board.d / 02_network
1
2 . /lib/functions.sh
3 . /lib/functions/uci-defaults.sh
4 . /lib/functions/system.sh
5
6 ramips_setup_interfaces()
7 {
8 local board="$1"
9
10 case $board in
11 alfa-network,awusfree1|\
12 d-team,pbr-d1|\
13 dlink,dap-1325-a1|\
14 glinet,microuter-n300|\
15 glinet,vixmini|\
16 hak5,wifi-pineapple-mk7|\
17 hiwifi,hc5611|\
18 mediatek,linkit-smart-7688|\
19 minew,g1-c|\
20 onion,omega2p|\
21 onion,omega2|\
22 ravpower,rp-wd009|\
23 tama,w06|\
24 tplink,re200-v2|\
25 tplink,re200-v3|\
26 tplink,re200-v4|\
27 tplink,re205-v3|\
28 tplink,re220-v2|\
29 tplink,re305-v1|\
30 tplink,re305-v3|\
31 tplink,re365-v1|\
32 tplink,tl-wr802n-v4|\
33 tplink,tl-wa801nd-v5|\
34 tplink,tl-wr902ac-v4|\
35 widora,neo-16m|\
36 widora,neo-32m)
37 ucidef_add_switch "switch0"
38 ucidef_add_switch_attr "switch0" "enable" "false"
39 ucidef_set_interface_lan "eth0"
40 ;;
41 asus,rt-ac1200|\
42 asus,rt-ac1200-v2|\
43 hilink,hlk-7628n|\
44 hilink,hlk-7688a|\
45 hiwifi,hc5861b|\
46 kroks,kndrt31r16|\
47 skylab,skw92a|\
48 tplink,archer-c20-v4|\
49 tplink,archer-c20-v5|\
50 tplink,archer-c50-v3|\
51 tplink,archer-c50-v4|\
52 tplink,archer-c50-v6|\
53 tplink,tl-mr3420-v5|\
54 tplink,tl-wr840n-v4|\
55 tplink,tl-wr840n-v5|\
56 tplink,tl-wr841n-v13|\
57 tplink,tl-wr841n-v14|\
58 tplink,tl-wr842n-v5|\
59 tplink,tl-wr850n-v2|\
60 unielec,u7628-01-16m|\
61 wrtnode,wrtnode2p|\
62 wrtnode,wrtnode2r|\
63 zyxel,keenetic-extra-ii)
64 ucidef_add_switch "switch0" \
65 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
66 ;;
67 asus,rt-n10p-v3|\
68 asus,rt-n11p-b1|\
69 asus,rt-n12-vp-b1|\
70 hiwifi,hc5661a|\
71 mediatek,mt7628an-eval-board|\
72 mercury,mac1200r-v2|\
73 totolink,lr1200|\
74 wavlink,wl-wn570ha1|\
75 wavlink,wl-wn575a3)
76 ucidef_add_switch "switch0" \
77 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
78 ;;
79 buffalo,wcr-1166ds|\
80 elecom,wrc-1167fs|\
81 wavlink,wl-wn577a2|\
82 wavlink,wl-wn578a2)
83 ucidef_add_switch "switch0" \
84 "3:lan" "4:wan" "6@eth0"
85 ;;
86 comfast,cf-wr617ac)
87 ucidef_add_switch "switch0" \
88 "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
89 ;;
90 comfast,cf-wr758ac-v1|\
91 comfast,cf-wr758ac-v2|\
92 tplink,tl-wr902ac-v3|\
93 wavlink,wl-wn576a2)
94 ucidef_add_switch "switch0" \
95 "4:lan" "6@eth0"
96 ;;
97 cudy,wr1000)
98 ucidef_add_switch "switch0" \
99 "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
100 ;;
101 duzun,dm06|\
102 glinet,gl-mt300n-v2)
103 ucidef_add_switch "switch0" \
104 "1:lan" "0:wan" "6@eth0"
105 ;;
106 hiwifi,hc5761a)
107 ucidef_add_switch "switch0" \
108 "0:lan" "1:lan" "4:wan" "6@eth0"
109 ;;
110 iptime,a3|\
111 totolink,a3)
112 ucidef_add_switch "switch0" \
113 "2:lan:2" "3:lan:1" "0:wan" "6@eth0"
114 ;;
115 iptime,a604m)
116 ucidef_add_switch "switch0" \
117 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
118 ;;
119 jotale,js76x8-8m|\
120 jotale,js76x8-16m|\
121 jotale,js76x8-32m)
122 ucidef_add_switch "switch0" \
123 "0:lan" "1:lan" "2:lan" "6@eth0"
124 ;;
125 keenetic,kn-1613|\
126 motorola,mwr03)
127 ucidef_add_switch "switch0" \
128 "1:lan" "2:lan" "3:lan" "0:wan" "6@eth0"
129 ;;
130 kroks,kndrt31r19)
131 ucidef_add_switch "switch0" \
132 "0:lan" "6@eth0"
133 ucidef_add_switch_attr "switch0" "enable" "false"
134 ucidef_set_interface_lan "eth0"
135 ucidef_set_interface "wan" device "/dev/cdc-wdm0" protocol "qmi"
136 ;;
137 linksys,e5400)
138 ucidef_add_switch "switch0" \
139 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan" "6@eth0"
140 ;;
141 netgear,r6020|\
142 netgear,r6080|\
143 netgear,r6120|\
144 wavlink,wl-wn531a3)
145 ucidef_add_switch "switch0" \
146 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
147 ;;
148 oraybox,x1)
149 ucidef_add_switch "switch0" \
150 "3:lan" "6@eth0"
151 ;;
152 rakwireless,rak633)
153 ucidef_add_switch "switch0" \
154 "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
155 ;;
156 tplink,tl-mr3020-v3)
157 ucidef_add_switch "switch0" \
158 "0:lan" "6@eth0"
159 ;;
160 tplink,tl-mr6400-v4)
161 ucidef_add_switch "switch0" \
162 "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
163 ;;
164 tplink,tl-mr6400-v5)
165 ucidef_add_switch "switch0" \
166 "0:lan" "1:lan" "2:lan" "3:wan" "6@eth0"
167 ;;
168 vocore,vocore2|\
169 vocore,vocore2-lite)
170 ucidef_add_switch "switch0" \
171 "0:lan" "2:lan" "6t@eth0"
172 ;;
173 wiznet,wizfi630s)
174 ucidef_add_switch "switch0" \
175 "0:wan" "3:lan" "4:lan" "6@eth0"
176 ;;
177 xiaomi,mi-router-4a-100m|\
178 xiaomi,mi-router-4a-100m-intl)
179 ucidef_add_switch "switch0" \
180 "4:lan:1" "2:lan:2" "0:wan" "6@eth0"
181 ;;
182 xiaomi,mi-router-4c)
183 ucidef_add_switch "switch0" \
184 "4:lan:1" "2:lan:2" "1:wan" "6@eth0"
185 ;;
186 xiaomi,miwifi-3c)
187 ucidef_add_switch "switch0" \
188 "0:wan" "2:lan:2" "4:lan:1" "6@eth0"
189 ;;
190 xiaomi,miwifi-nano)
191 ucidef_add_switch "switch0" \
192 "0:lan:2" "2:lan:1" "4:wan" "6@eth0"
193 ;;
194 zbtlink,zbt-we1226)
195 ucidef_add_switch "switch0" \
196 "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
197 ;;
198 esac
199 }
200
201 ramips_setup_macs()
202 {
203 local board="$1"
204 local lan_mac=""
205 local wan_mac=""
206 local label_mac=""
207
208 case $board in
209 asus,rt-ac1200)
210 wan_mac=$(mtd_get_mac_binary factory 0x22)
211 ;;
212 elecom,wrc-1167fs)
213 wan_mac=$(mtd_get_mac_binary factory 0x22)
214 label_mac=$wan_mac
215 ;;
216 buffalo,wcr-1166ds)
217 wan_mac=$(mtd_get_mac_ascii board_data "mac")
218 lan_mac=$wan_mac
219 label_mac=$wan_mac
220 ;;
221 comfast,cf-wr617ac)
222 lan_mac=$(mtd_get_mac_binary factory 0xe000)
223 wan_mac=$(macaddr_add "$lan_mac" 1)
224 ;;
225 cudy,wr1000|\
226 hilink,hlk-7628n|\
227 hilink,hlk-7688a|\
228 wavlink,wl-wn531a3|\
229 wavlink,wl-wn577a2|\
230 wavlink,wl-wn578a2)
231 wan_mac=$(mtd_get_mac_binary factory 0x2e)
232 label_mac=$(mtd_get_mac_binary factory 0x4)
233 ;;
234 duzun,dm06|\
235 netgear,r6020|\
236 netgear,r6080|\
237 netgear,r6120|\
238 wrtnode,wrtnode2p|\
239 wrtnode,wrtnode2r)
240 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
241 ;;
242 hiwifi,hc5611|\
243 hiwifi,hc5661a|\
244 hiwifi,hc5761a|\
245 hiwifi,hc5861b)
246 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
247 label_mac=$lan_mac
248 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
249 wan_mac=$(macaddr_add "$lan_mac" 1)
250 ;;
251 iptime,a3|\
252 iptime,a604m|\
253 totolink,a3)
254 wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40)
255 ;;
256 jotale,js76x8-8m|\
257 jotale,js76x8-16m|\
258 jotale,js76x8-32m|\
259 skylab,skw92a|\
260 totolink,lr1200)
261 wan_mac=$(mtd_get_mac_binary factory 0x2e)
262 ;;
263 keenetic,kn-1613|\
264 zyxel,keenetic-extra-ii)
265 wan_mac=$(mtd_get_mac_binary rf-eeprom 0x28)
266 ;;
267 linksys,e5400)
268 wan_mac=$(mtd_get_mac_binary factory 0x22)
269 ;;
270 mercury,mac1200r-v2)
271 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1)
272 ;;
273 motorola,mwr03)
274 label_mac=$(mtd_get_mac_binary factory 0x4)
275 wan_mac=$(macaddr_add "$label_mac" 2)
276 ;;
277 onion,omega2|\
278 onion,omega2p|\
279 vocore,vocore2|\
280 vocore,vocore2-lite|\
281 wavlink,wl-wn576a2)
282 label_mac=$(mtd_get_mac_binary factory 0x4)
283 ;;
284 rakwireless,rak633|\
285 unielec,u7628-01-16m|\
286 wavlink,wl-wn575a3)
287 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
288 ;;
289 tplink,archer-c20-v4|\
290 tplink,archer-c50-v3|\
291 tplink,tl-mr3420-v5|\
292 tplink,tl-wr840n-v4|\
293 tplink,tl-wr840n-v5|\
294 tplink,tl-wr841n-v13|\
295 tplink,tl-wr841n-v14|\
296 tplink,tl-wr842n-v5|\
297 tplink,tl-wr850n-v2)
298 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xf100)" 1)
299 ;;
300 tplink,archer-c20-v5|\
301 tplink,archer-c50-v4|\
302 tplink,archer-c50-v6)
303 wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1)
304 ;;
305 wavlink,wl-wn570ha1|\
306 zbtlink,zbt-we1226)
307 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1)
308 ;;
309 wiznet,wizfi630s)
310 label_mac=$(mtd_get_mac_binary factory 0x4)
311 wan_mac=$(mtd_get_mac_binary factory 0x28)
312 ;;
313 xiaomi,mi-router-4a-100m|\
314 xiaomi,mi-router-4a-100m-intl|\
315 xiaomi,mi-router-4c)
316 wan_mac=$(mtd_get_mac_binary factory 0x4)
317 ;;
318 esac
319
320 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
321 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
322 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
323 }
324
325 board_config_update
326 board=$(board_name)
327 ramips_setup_interfaces $board
328 ramips_setup_macs $board
329 board_config_flush
330
331 exit 0