ramips: add support for Netgear EX6130
[openwrt/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