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