56c786bc95bc9679f3550a182a16e93ca0a87ec7
[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 zyxel,keenetic-lite-b|\
168 zyxel,keenetic-start)
169 ucidef_add_switch "switch0" \
170 "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
171 ;;
172 esac
173 }
174
175 ramips_setup_macs()
176 {
177 local board="$1"
178 local lan_mac=""
179 local wan_mac=""
180 local label_mac=""
181
182 case $board in
183 7links,px-4885-4m|\
184 7links,px-4885-8m)
185 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x28)" 1)
186 ;;
187 8devices,carambola|\
188 alfa-network,w502u|\
189 arcwireless,freestation5|\
190 netgear,wnce2001)
191 wan_mac=$(mtd_get_mac_binary factory 0x2e)
192 ;;
193 accton,wr6202|\
194 asiarf,awm002-evb-4m|\
195 asiarf,awm002-evb-8m|\
196 asus,rt-n13u|\
197 aztech,hw550-3g|\
198 fon,fonera-20n|\
199 huawei,hg255d|\
200 omnima,miniembwifi|\
201 planex,mzk-wdpr|\
202 poray,ip2202|\
203 teltonika,rut5xx|\
204 unbranded,xdx-rn502j|\
205 zyxel,keenetic|\
206 zyxel,nbg-419n|\
207 zyxel,nbg-419n-v2)
208 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
209 ;;
210 airlive,air3gii|\
211 argus,atp-52b|\
212 asus,wl-330n3g|\
213 dlink,dir-620-d1|\
214 edimax,3g-6200n|\
215 edimax,3g-6200nl|\
216 netcore,nw718|\
217 nexx,wt1520-4m|\
218 nexx,wt1520-8m|\
219 nixcore,x1-16m|\
220 nixcore,x1-8m|\
221 omnima,miniembplug|\
222 planex,mzk-w300nh2|\
223 sitecom,wl-351|\
224 trendnet,tew-714tru)
225 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
226 ;;
227 asus,rt-g32-b1|\
228 asus,rt-n10-plus)
229 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x4)" 1)
230 ;;
231 belkin,f5d8235-v2)
232 wan_mac=$(macaddr_add "$(mtd_get_mac_binary uboot 0x40004)" 1)
233 ;;
234 dlink,dir-300-b7|\
235 dlink,dir-320-b1|\
236 dlink,dir-620-a1|\
237 engenius,esr-9753|\
238 hame,mpr-a1|\
239 hauppauge,broadway|\
240 huawei,d105|\
241 hilink,hlk-rm04|\
242 nexaira,bc2|\
243 olimex,rt5350f-olinuxino|\
244 olimex,rt5350f-olinuxino-evb|\
245 petatel,psr-680w|\
246 skyline,sl-r7205)
247 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
248 wan_mac=$(macaddr_add "$lan_mac" 1)
249 ;;
250 dlink,dap-1350)
251 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x2e)" 1)
252 ;;
253 dlink,dir-300-b1|\
254 dlink,dir-600-b1|\
255 dlink,dir-610-a1)
256 wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x4004)" 1)
257 ;;
258 dlink,dir-615-d)
259 label_mac=$(mtd_get_mac_binary devdata 0x4004)
260 ;;
261 dlink,dir-615-h1)
262 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
263 label_mac=$(mtd_get_mac_binary factory 0x4)
264 ;;
265 dlink,dwr-512-b)
266 wan_mac=$(macaddr_add "$(mtd_get_mac_binary config 0xe07e)" 1)
267 ;;
268 jcg,jhr-n805r|\
269 jcg,jhr-n825r|\
270 jcg,jhr-n926r)
271 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1)
272 ;;
273 poray,m3|\
274 poray,m4-4m|\
275 poray,m4-8m|\
276 poray,x5|\
277 poray,x8)
278 lan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -2)
279 ;;
280 sparklan,wcr-150gn|\
281 wiznet,wizfi630a)
282 wan_mac=$(mtd_get_mac_binary factory 0x28)
283 ;;
284 tenda,w306r-v2)
285 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 5)
286 ;;
287 upvel,ur-326n4g|\
288 upvel,ur-336un)
289 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4004)" 1)
290 ;;
291 esac
292
293 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
294 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
295 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
296 }
297
298 board_config_update
299 board=$(board_name)
300 ramips_setup_interfaces $board
301 ramips_setup_macs $board
302 board_config_flush
303
304 exit 0