ramips: add support for ZTE MF283+
[openwrt/openwrt.git] / target / linux / ramips / rt305x / 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 7links,px-4885-4m|\
13 7links,px-4885-8m|\
14 allnet,all0256n-4m|\
15 allnet,all0256n-8m|\
16 allnet,all5002|\
17 allnet,all5003|\
18 belkin,f7c027|\
19 dlink,dcs-930l-b1|\
20 dlink,dcs-930|\
21 edimax,3g-6200nl|\
22 hame,mpr-a1|\
23 hame,mpr-a2|\
24 hauppauge,broadway|\
25 hootoo,ht-tm02|\
26 huawei,d105|\
27 intenso,memory2move|\
28 netgear,wnce2001|\
29 tenda,3g150b|\
30 tenda,3g300m|\
31 tenda,w150m|\
32 trendnet,tew-714tru|\
33 unbranded,a5-v11|\
34 wansview,ncs601w|\
35 zorlik,zl5900v2)
36 ucidef_add_switch "switch0"
37 ucidef_add_switch_attr "switch0" "enable" "false"
38 ucidef_set_interface_lan "eth0"
39 ;;
40 8devices,carambola)
41 ucidef_add_switch "switch0" \
42 "0:lan" "1:lan" "6@eth0"
43 ;;
44 accton,wr6202|\
45 alfa-network,w502u|\
46 argus,atp-52b|\
47 asiarf,awm002-evb-4m|\
48 asiarf,awm002-evb-8m|\
49 asus,rt-n10-plus|\
50 asus,wl-330n|\
51 asus,wl-330n3g|\
52 aztech,hw550-3g|\
53 engenius,esr-9753|\
54 jcg,jhr-n805r|\
55 jcg,jhr-n825r|\
56 jcg,jhr-n926r|\
57 petatel,psr-680w|\
58 planex,mzk-wdpr|\
59 skyline,sl-r7205|\
60 teltonika,rut5xx|\
61 tenda,w306r-v2|\
62 unbranded,xdx-rn502j|\
63 upvel,ur-326n4g)
64 ucidef_add_switch "switch0" \
65 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
66 ;;
67 airlive,air3gii|\
68 asus,rt-g32-b1|\
69 asus,rt-n13u|\
70 aximcom,mr-102n|\
71 buffalo,whr-g300n|\
72 dlink,dap-1350|\
73 dlink,dir-300-b1|\
74 dlink,dir-300-b7|\
75 dlink,dir-320-b1|\
76 dlink,dir-600-b1|\
77 dlink,dir-610-a1|\
78 dlink,dir-615-d|\
79 dlink,dir-620-a1|\
80 dlink,dir-620-d1|\
81 dlink,dwr-512-b|\
82 easyacc,wizard-8800|\
83 edimax,3g-6200n|\
84 fon,fonera-20n|\
85 hilink,hlk-rm04|\
86 mofinetwork,mofi3500-3gn|\
87 netcore,nw718|\
88 nexaira,bc2|\
89 nixcore,x1-16m|\
90 nixcore,x1-8m|\
91 olimex,rt5350f-olinuxino|\
92 olimex,rt5350f-olinuxino-evb|\
93 omnima,miniembplug|\
94 omnima,miniembwifi|\
95 planex,mzk-w300nh2|\
96 poray,ip2202|\
97 poray,m3|\
98 poray,m4-4m|\
99 poray,m4-8m|\
100 poray,x5|\
101 poray,x8|\
102 prolink,pwh2004|\
103 ralink,v22rw-2x2|\
104 unbranded,wr512-3gn-4m|\
105 unbranded,wr512-3gn-8m|\
106 upvel,ur-336un|\
107 zyxel,keenetic|\
108 zyxel,nbg-419n|\
109 zyxel,nbg-419n-v2)
110 ucidef_add_switch "switch0" \
111 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
112 ;;
113 alphanetworks,asl26555-8m|\
114 alphanetworks,asl26555-16m)
115 ucidef_add_switch "switch0" \
116 "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
117 ;;
118 arcwireless,freestation5)
119 # FIXME: Which is the actual wan port?
120 ucidef_add_switch "switch0" \
121 "0:lan" "1:wan" "2:wan" "3:wan" "4:wan" "6@eth0"
122 ;;
123 asiarf,awapn2403)
124 ucidef_add_switch "switch0" \
125 "0:lan" "1:wan" "6@eth0"
126 ;;
127 aximcom,mr-102n|\
128 trendnet,tew-638apb-v2)
129 ucidef_add_switch "switch0" \
130 "4:lan" "6@eth0"
131 ;;
132 belkin,f5d8235-v2)
133 ucidef_add_switch "switch0" \
134 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
135 ;;
136 dlink,dir-615-h1)
137 ucidef_add_switch "switch0" \
138 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
139 ;;
140 huawei,hg255d)
141 ucidef_add_switch "switch0" \
142 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
143 ;;
144 nexx,wt1520-4m|\
145 nexx,wt1520-8m)
146 ucidef_add_switch "switch0" \
147 "0:lan" "4:wan" "6@eth0"
148 ;;
149 planex,mzk-dp150n|\
150 vocore,vocore-8m|\
151 vocore,vocore-16m)
152 ucidef_add_switch "switch0" \
153 "0:lan" "4:lan" "6t@eth0"
154 ;;
155 sitecom,wl-351)
156 ucidef_add_switch "switch0" \
157 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
158 ;;
159 sparklan,wcr-150gn)
160 ucidef_add_switch "switch0" \
161 "0:lan" "6t@eth0"
162 ;;
163 wiznet,wizfi630a)
164 ucidef_add_switch "switch0" \
165 "0:lan" "1:lan" "2:wan" "6@eth0"
166 ;;
167 zte,mf283plus)
168 ucidef_add_switch "switch0" \
169 "0:lan" "1:lan" "2:lan" "3:lan" "6@eth0"
170 ;;
171 zyxel,keenetic-lite-b|\
172 zyxel,keenetic-start)
173 ucidef_add_switch "switch0" \
174 "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
175 ;;
176 esac
177 }
178
179 ramips_setup_macs()
180 {
181 local board="$1"
182 local lan_mac=""
183 local wan_mac=""
184 local label_mac=""
185
186 case $board in
187 7links,px-4885-4m|\
188 7links,px-4885-8m)
189 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x28)" 1)
190 ;;
191 8devices,carambola|\
192 alfa-network,w502u|\
193 arcwireless,freestation5|\
194 netgear,wnce2001)
195 wan_mac=$(mtd_get_mac_binary factory 0x2e)
196 ;;
197 accton,wr6202|\
198 asiarf,awm002-evb-4m|\
199 asiarf,awm002-evb-8m|\
200 asus,rt-n13u|\
201 aztech,hw550-3g|\
202 fon,fonera-20n|\
203 huawei,hg255d|\
204 omnima,miniembwifi|\
205 planex,mzk-wdpr|\
206 poray,ip2202|\
207 teltonika,rut5xx|\
208 unbranded,xdx-rn502j|\
209 zyxel,keenetic|\
210 zyxel,nbg-419n|\
211 zyxel,nbg-419n-v2)
212 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
213 ;;
214 airlive,air3gii|\
215 argus,atp-52b|\
216 asus,wl-330n3g|\
217 dlink,dir-620-d1|\
218 edimax,3g-6200n|\
219 edimax,3g-6200nl|\
220 netcore,nw718|\
221 nexx,wt1520-4m|\
222 nexx,wt1520-8m|\
223 nixcore,x1-16m|\
224 nixcore,x1-8m|\
225 omnima,miniembplug|\
226 planex,mzk-w300nh2|\
227 sitecom,wl-351|\
228 trendnet,tew-714tru)
229 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
230 ;;
231 asus,rt-g32-b1|\
232 asus,rt-n10-plus)
233 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x4)" 1)
234 ;;
235 belkin,f5d8235-v2)
236 wan_mac=$(macaddr_add "$(mtd_get_mac_binary uboot 0x40004)" 1)
237 ;;
238 dlink,dir-300-b7|\
239 dlink,dir-320-b1|\
240 dlink,dir-620-a1|\
241 engenius,esr-9753|\
242 hame,mpr-a1|\
243 hauppauge,broadway|\
244 huawei,d105|\
245 hilink,hlk-rm04|\
246 nexaira,bc2|\
247 olimex,rt5350f-olinuxino|\
248 olimex,rt5350f-olinuxino-evb|\
249 petatel,psr-680w|\
250 skyline,sl-r7205)
251 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
252 wan_mac=$(macaddr_add "$lan_mac" 1)
253 ;;
254 dlink,dap-1350)
255 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x2e)" 1)
256 ;;
257 dlink,dir-300-b1|\
258 dlink,dir-600-b1|\
259 dlink,dir-610-a1)
260 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x4004)" 1)
261 ;;
262 dlink,dir-615-d)
263 label_mac=$(mtd_get_mac_binary devdata 0x4004)
264 ;;
265 dlink,dir-615-h1)
266 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
267 label_mac=$(mtd_get_mac_binary factory 0x4)
268 ;;
269 dlink,dwr-512-b)
270 wan_mac=$(macaddr_add "$(mtd_get_mac_binary config 0xe07e)" 1)
271 ;;
272 jcg,jhr-n805r|\
273 jcg,jhr-n825r|\
274 jcg,jhr-n926r)
275 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1)
276 ;;
277 poray,m3|\
278 poray,m4-4m|\
279 poray,m4-8m|\
280 poray,x5|\
281 poray,x8)
282 lan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -2)
283 ;;
284 sparklan,wcr-150gn|\
285 wiznet,wizfi630a)
286 wan_mac=$(mtd_get_mac_binary factory 0x28)
287 ;;
288 tenda,w306r-v2)
289 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 5)
290 ;;
291 upvel,ur-326n4g|\
292 upvel,ur-336un)
293 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4004)" 1)
294 ;;
295 esac
296
297 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
298 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
299 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
300 }
301
302 board_config_update
303 board=$(board_name)
304 ramips_setup_interfaces $board
305 ramips_setup_macs $board
306 board_config_flush
307
308 exit 0