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