ramips: add support for Sercomm CPJ routers
[openwrt/staging/hauke.git] / target / linux / ramips / mt7620 / 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 aigale,ai-br100|\
12 alfa-network,ac1200rm|\
13 asus,rt-n12p|\
14 dlink,dwr-116-a1|\
15 dlink,dwr-921-c1|\
16 dlink,dwr-922-e2|\
17 dovado,tiny-ac|\
18 ohyeah,oy-0001|\
19 phicomm,psg1208|\
20 planex,db-wrt01|\
21 planex,mzk-750dhp|\
22 ralink,mt7620a-evb|\
23 ralink,mt7620a-mt7610e-evb|\
24 ralink,mt7620a-v22sg-evb|\
25 sanlinking,d240|\
26 zbtlink,zbt-ape522ii|\
27 zbtlink,zbt-we826-16m|\
28 zbtlink,zbt-we826-32m|\
29 zbtlink,zbt-we826-e|\
30 zbtlink,zbt-wr8305rt|\
31 zyxel,keenetic-lite-iii-a|\
32 zyxel,keenetic-omni)
33 ucidef_add_switch "switch0" \
34 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
35 ;;
36 alfa-network,r36m-e4g|\
37 zbtlink,zbt-we1026-h-32m)
38 ucidef_add_switch "switch0" \
39 "3:lan" "4:wan" "6@eth0"
40 ;;
41 alfa-network,tube-e4g|\
42 ampedwireless,b1200ex|\
43 buffalo,wmr-300|\
44 dlink,dch-m225|\
45 edimax,ew-7476rpc|\
46 edimax,ew-7478ac|\
47 elecom,wrh-300cr|\
48 hootoo,ht-tm05|\
49 kimax,u25awf-h1|\
50 kimax,u35wf|\
51 kingston,mlw221|\
52 kingston,mlwg2|\
53 microduino,microwrt|\
54 netgear,ex2700|\
55 netgear,ex3700|\
56 netgear,ex6120|\
57 netgear,ex6130|\
58 netgear,wn3000rp-v3|\
59 netgear,wn3100rp-v2|\
60 planex,cs-qr10|\
61 planex,mzk-ex300np|\
62 planex,mzk-ex750np|\
63 ravpower,rp-wd03|\
64 sercomm,na930|\
65 tplink,re200-v1|\
66 tplink,re210-v1|\
67 yukai,bocco|\
68 zbtlink,zbt-cpe102|\
69 zte,q7)
70 ucidef_add_switch "switch0"
71 ucidef_add_switch_attr "switch0" "enable" "false"
72 ucidef_set_interface_lan "eth0"
73 ;;
74 asus,rp-n53)
75 ucidef_add_switch "switch0" \
76 "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
77 ;;
78 asus,rt-ac51u|\
79 asus,rt-ac54u|\
80 asus,rt-n14u|\
81 bdcom,wap2100-sk|\
82 domywifi,dm202|\
83 domywifi,dm203|\
84 domywifi,dw22d|\
85 edimax,ew-7478apc|\
86 glinet,gl-mt300a|\
87 glinet,gl-mt300n|\
88 glinet,gl-mt750|\
89 hiwifi,hc5661|\
90 snr,cpe-w4n-mt|\
91 wrtnode,wrtnode|\
92 zbtlink,zbt-wa05|\
93 zyxel,keenetic-omni-ii)
94 ucidef_add_switch "switch0" \
95 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
96 ;;
97 buffalo,whr-1166d)
98 ucidef_add_switch "switch0" \
99 "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
100 ;;
101 buffalo,whr-300hp2|\
102 buffalo,whr-600d)
103 ucidef_add_switch "switch0" \
104 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
105 ;;
106 comfast,cf-wr800n|\
107 hnet,c108|\
108 humax,e2)
109 ucidef_add_switch "switch0" \
110 "4:lan" "6@eth0"
111 ;;
112 dlink,dir-510l)
113 ucidef_add_switch "switch0" \
114 "0:lan" "6@eth0"
115 ;;
116 dlink,dir-810l|\
117 netcore,nw5212|\
118 netgear,jwnr2010-v5|\
119 phicomm,k2-v22.4|\
120 phicomm,k2-v22.5|\
121 rostelecom,rt-fl-1|\
122 rostelecom,s1010|\
123 trendnet,tew-810dr|\
124 zbtlink,zbt-we2026)
125 ucidef_add_switch "switch0" \
126 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
127 ;;
128 dlink,dwr-118-a1)
129 ucidef_add_switch "switch0" \
130 "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
131 ;;
132 dlink,dwr-118-a2)
133 ucidef_add_switch "switch0" \
134 "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
135 ;;
136 dlink,dwr-960)
137 ucidef_add_switch "switch0" \
138 "1:lan" "2:lan" "3:lan" "5:lan" "0:wan" "6@eth0"
139 ;;
140 dlink,dwr-961-a1)
141 ucidef_add_switch "switch0" \
142 "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan" "0@eth0"
143 ucidef_add_switch "switch1" \
144 "5:lan" "6@eth0"
145 ucidef_add_switch_attr "switch1" "enable" "false"
146 ;;
147 edimax,br-6478ac-v2|\
148 lb-link,bl-w1200|\
149 tplink,archer-c2-v1)
150 ucidef_add_switch "switch0"
151 ucidef_add_switch_attr "switch0" "enable" "false"
152 ucidef_add_switch "switch1" \
153 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
154 ;;
155 engenius,epg600|\
156 engenius,esr600|\
157 lava,lr-25g001|\
158 sitecom,wlr-4100-v1-002)
159 ucidef_add_switch "switch0" \
160 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "0@eth0"
161 ucidef_add_switch "switch1" \
162 "5:lan" "6@eth0"
163 ucidef_add_switch_attr "switch1" "enable" "false"
164 ;;
165 fon,fon2601|\
166 vonets,var11n-300)
167 ucidef_add_switch "switch0" \
168 "0:lan" "4:wan" "6@eth0"
169 ;;
170 head-weblink,hdrm200)
171 ucidef_add_switch "switch0" \
172 "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
173 ;;
174 hiwifi,hc5761)
175 ucidef_add_switch "switch0" \
176 "1:lan" "4:lan" "0:wan" "6@eth0"
177 ;;
178 hiwifi,hc5861)
179 ucidef_add_switch "switch0" \
180 "0:lan" "1:lan" "5:wan" "6@eth0"
181 ;;
182 iodata,wn-ac1167gr|\
183 iodata,wn-ac733gr3|\
184 iptime,a1004ns)
185 ucidef_add_switch "switch0"
186 ucidef_add_switch_attr "switch0" "enable" "false"
187 ucidef_add_switch "switch1" \
188 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
189 ;;
190 iptime,a104ns)
191 ucidef_add_switch "switch0" \
192 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
193 ;;
194 lenovo,newifi-y1|\
195 xiaomi,miwifi-mini)
196 ucidef_add_switch "switch0" \
197 "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
198 ;;
199 lenovo,newifi-y1s)
200 ucidef_add_switch "switch0" \
201 "1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
202 ;;
203 linksys,e1700|\
204 netis,wf2770|\
205 ralink,mt7620a-mt7530-evb|\
206 wevo,air-duo)
207 ucidef_add_switch "switch0"
208 ucidef_add_switch_attr "switch0" "enable" "false"
209 ucidef_add_switch "switch1" \
210 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
211 ;;
212 netgear,pr2000|\
213 nexx,wt3020-4m|\
214 nexx,wt3020-8m)
215 ucidef_add_switch "switch0" \
216 "4:lan" "0:wan" "6@eth0"
217 ;;
218 phicomm,k2g|\
219 wavlink,wl-wn530hg4)
220 ucidef_add_switch "switch0" \
221 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
222 ;;
223 phicomm,psg1218b)
224 ucidef_add_switch "switch0" \
225 "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
226 ;;
227 tplink,archer-c20-v1|\
228 tplink,archer-c20i|\
229 tplink,archer-c50-v1)
230 ucidef_add_switch "switch0" \
231 "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
232 ;;
233 tplink,archer-mr200)
234 ucidef_add_switch "switch0" \
235 "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
236 ucidef_set_interface_wan "usb0"
237 ;;
238 wavlink,wl-wn535k1)
239 ucidef_add_switch "switch0" \
240 "2:lan:2" "5:lan:1" "4:wan" "6@eth0"
241 ;;
242 wavlink,wl-wn579x3)
243 ucidef_add_switch "switch0" \
244 "5:lan" "4:wan" "6@eth0"
245 ;;
246 youku,x2)
247 ucidef_add_switch "switch0" \
248 "1:lan:2" "4:lan:1" "0:wan" "6@eth0"
249 ;;
250 youku,yk-l1|\
251 youku,yk-l1c)
252 ucidef_add_switch "switch0" \
253 "0:lan" "1:lan" "4:wan" "6@eth0"
254 ;;
255 zbtlink,zbt-we1026-5g-16m)
256 ucidef_add_switch "switch0" \
257 "0:lan" "6t@eth0"
258 ;;
259 zyxel,keenetic-viva)
260 ucidef_add_switch "switch1" \
261 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
262 ;;
263 esac
264 }
265
266 ramips_setup_macs()
267 {
268 local board="$1"
269 local lan_mac=""
270 local wan_mac=""
271 local label_mac=""
272
273 case $board in
274 aigale,ai-br100|\
275 asus,rt-n12p|\
276 asus,rt-n14u|\
277 bdcom,wap2100-sk|\
278 edimax,ew-7478apc|\
279 fon,fon2601|\
280 head-weblink,hdrm200|\
281 netgear,jwnr2010-v5|\
282 nexx,wt3020-4m|\
283 nexx,wt3020-8m|\
284 phicomm,psg1208|\
285 planex,db-wrt01|\
286 planex,mzk-750dhp|\
287 sanlinking,d240|\
288 vonets,var11n-300|\
289 wrtnode,wrtnode|\
290 zbtlink,zbt-ape522ii|\
291 zbtlink,zbt-wa05|\
292 zbtlink,zbt-we2026|\
293 zbtlink,zbt-we826-16m|\
294 zbtlink,zbt-we826-32m|\
295 zbtlink,zbt-we826-e|\
296 zbtlink,zbt-wr8305rt)
297 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
298 ;;
299 alfa-network,ac1200rm|\
300 dlink,dir-810l|\
301 trendnet,tew-810dr)
302 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
303 ;;
304 alfa-network,r36m-e4g|\
305 domywifi,dm202|\
306 domywifi,dm203|\
307 domywifi,dw22d|\
308 zbtlink,zbt-we1026-h-32m)
309 wan_mac=$(mtd_get_mac_binary factory 0x2e)
310 label_mac=$(mtd_get_mac_binary factory 0x4)
311 ;;
312 asus,rt-ac51u|\
313 asus,rt-ac54u)
314 lan_mac=$(mtd_get_mac_binary factory 0x22)
315 ;;
316 dlink,dch-m225)
317 lan_mac=$(mtd_get_mac_ascii factory lanmac)
318 ;;
319 dlink,dir-510l|\
320 dlink,dwr-116-a1|\
321 dlink,dwr-118-a1|\
322 dlink,dwr-118-a2|\
323 dlink,dwr-921-c1|\
324 dlink,dwr-922-e2|\
325 dlink,dwr-960|\
326 dlink,dwr-961-a1|\
327 lava,lr-25g001)
328 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
329 lan_mac=$(macaddr_add "$wan_mac" 1)
330 label_mac=$wan_mac
331 ;;
332 dovado,tiny-ac)
333 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
334 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
335 ;;
336 edimax,br-6478ac-v2)
337 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2)
338 ;;
339 engenius,epg600|\
340 engenius,esr600)
341 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
342 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
343 label_mac=$wan_mac
344 ;;
345 glinet,gl-mt300a|\
346 glinet,gl-mt300n|\
347 glinet,gl-mt750)
348 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4000)" 1)
349 label_mac=$(mtd_get_mac_binary factory 0x4)
350 ;;
351 hiwifi,hc5661|\
352 hiwifi,hc5761|\
353 hiwifi,hc5861)
354 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
355 label_mac=$lan_mac
356 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
357 wan_mac=$(macaddr_add "$lan_mac" 1)
358 ;;
359 iodata,wn-ac1167gr|\
360 iodata,wn-ac733gr3)
361 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
362 ;;
363 iptime,a1004ns)
364 wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40)
365 ;;
366 iptime,a104ns)
367 wan_mac=$(macaddr_add "$(mtd_get_mac_binary u-boot 0x1fc20)" 2)
368 ;;
369 lb-link,bl-w1200|\
370 netis,wf2770|\
371 phicomm,k2-v22.4|\
372 phicomm,k2-v22.5|\
373 phicomm,k2g|\
374 phicomm,psg1218b)
375 wan_mac=$(mtd_get_mac_binary factory 0x2e)
376 label_mac=$wan_mac
377 ;;
378 lenovo,newifi-y1|\
379 lenovo,newifi-y1s|\
380 ohyeah,oy-0001|\
381 wavlink,wl-wn530hg4|\
382 wevo,air-duo|\
383 youku,x2|\
384 youku,yk-l1|\
385 youku,yk-l1c)
386 wan_mac=$(mtd_get_mac_binary factory 0x2e)
387 ;;
388 linksys,e1700)
389 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
390 ;;
391 rostelecom,rt-fl-1|\
392 rostelecom,s1010)
393 label_mac=$(mtd_get_mac_binary "SC Nvram(permanent data)" 0x0)
394 wan_mac=$(macaddr_add "$label_mac" 10)
395 ;;
396 snr,cpe-w4n-mt)
397 lan_mac=$(mtd_get_mac_binary Factory 0x28)
398 wan_mac=$(mtd_get_mac_binary Factory 0x2e)
399 label_mac=$wan_mac
400 ;;
401 tplink,archer-c2-v1|\
402 tplink,archer-c20-v1|\
403 tplink,archer-c20i|\
404 tplink,archer-c50-v1|\
405 tplink,archer-mr200)
406 wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1)
407 ;;
408 wavlink,wl-wn535k1)
409 wan_mac=$(mtd_get_mac_binary factory 0x2e)
410 label_mac=$(mtd_get_mac_binary factory 0x8004)
411 ;;
412 zbtlink,zbt-we1026-5g-16m)
413 label_mac=$(mtd_get_mac_binary factory 0x4)
414 ;;
415 zyxel,keenetic-lite-iii-a)
416 lan_mac=$(mtd_get_mac_binary RF-EEPROM 0x4)
417 wan_mac=$(mtd_get_mac_binary RF-EEPROM 0x28)
418 label_mac=$wan_mac
419 ;;
420 zyxel,keenetic-omni|\
421 zyxel,keenetic-omni-ii|\
422 zyxel,keenetic-viva)
423 wan_mac=$(mtd_get_mac_binary factory 0x28)
424 ;;
425 esac
426
427 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
428 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
429 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
430 }
431
432 board_config_update
433 board=$(board_name)
434 ramips_setup_interfaces $board
435 ramips_setup_macs $board
436 board_config_flush
437
438 exit 0