9026700ac95321b1bc824ed5d8502e0459a7eac8
[openwrt.git] / target / linux / ramips / base-files / etc / uci-defaults / 02_network
1 #!/bin/sh
2
3 . /lib/functions.sh
4 . /lib/ramips.sh
5 . /lib/functions/uci-defaults.sh
6
7 ramips_setup_rt3x5x_vlans()
8 {
9         if [ ! -x /sbin/swconfig ]; then
10                 # legacy default
11                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
12                 return
13         fi
14         local wanports=""
15         local lanports=""
16         for port in 5 4 3 2 1 0; do
17                 if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
18                         continue
19                 fi
20                 if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
21                         wanports="$port $wanports"
22                 else
23                         lanports="$port $lanports"
24                 fi
25         done
26         ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
27         ucidef_add_switch "rt305x" "1" "1"
28         ucidef_add_switch_vlan "rt305x" "1" "$lanports 6t"
29         ucidef_add_switch_vlan "rt305x" "2" "$wanports 6t"
30 }
31
32 ramips_setup_interfaces()
33 {
34         local board="$1"
35
36         ucidef_set_interface_loopback
37
38         case $board in
39         3g300m | \
40         w150m | \
41         all0256n | \
42         all5002 | \
43         all5003 | \
44         awm002-evb | \
45         broadway | \
46         dcs-930| \
47         mpr-a1 | \
48         mpr-a2 | \
49         wnce2001)
50                 ucidef_add_switch "switch0" "1" "0"
51                 ucidef_set_interface_lan "eth0"
52                 ;;
53
54         3g-6200nl | \
55         wl-330n)
56                 ucidef_set_interface_lan "eth0.1"
57                 ;;
58
59         3g-6200n | \
60         argus-atp52b | \
61         b2c | \
62         nw718 | \
63         psr-680w | \
64         sl-r7205 | \
65         w502u | \
66         wr6202)
67                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
68                 ;;
69
70         asl26555)
71                 ucidef_set_interface_lan "eth0.1"
72                 ucidef_add_switch "switch0" "1" "1"
73                 ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
74                 ;;
75
76         dir-645)
77                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
78                 ucidef_add_switch "switch0" "1" "1"
79                 ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
80                 ucidef_add_switch_vlan "switch0" "2" "0 6t"
81                 ;;
82
83         dir-610-a1 | \
84         dir-300-b7 | \
85         dir-320-b1 | \
86         dir-615-h1 | \
87         mzk-w300nh2)
88                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
89                 ucidef_add_switch "switch0" "1" "1"
90                 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t"
91                 ucidef_add_switch_vlan "switch0" "2" "4 6t"
92                 ;;
93
94         f5d8235-v1 | \
95         f5d8235-v2 | \
96         hg255d | \
97         ur-326n4g)
98                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
99                 ucidef_add_switch "switch0" "1" "1"
100                 ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
101                 ucidef_add_switch_vlan "switch0" "2" "0 6t"
102                 ;;
103
104         ur-336un)
105                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
106                 ;;
107
108         br6524n | \
109         v11st-fe)
110                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
111                 ucidef_add_switch "switch0" "1" "1"
112                 ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
113                 ucidef_add_switch_vlan "switch0" "2" "0 5t"
114                 ;;
115
116         rt-n15 | \
117         wl-351)
118                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
119                 ucidef_add_switch "switch0" "1" "1"
120                 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t"
121                 ucidef_add_switch_vlan "switch0" "2" "4 5t"
122                 ;;
123
124         rt-n56u)
125                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
126                 ucidef_add_switch "switch0" "1" "1"
127                 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t"
128                 ucidef_add_switch_vlan "switch0" "2" "4 8t"
129                 ;;
130
131         tew-691gr|\
132         tew-692gr)
133                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
134                 ucidef_add_switch "switch0" "1" "1"
135                 ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4"
136                 ucidef_add_switch_vlan "switch0" "2" "0t 5"
137                 ;;
138
139         wcr-150gn)
140                 ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
141                 ;;
142
143         d105 | \
144         omni-emb-hpm|\
145         wli-tx4-ag300n)
146                 ucidef_set_interface_lan "eth0"
147                 ;;
148
149         whr-300hp2 |\
150         whr-600d)
151                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
152                 ;;
153         
154         *)
155                 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
156                 if [ -n "${RT3X5X}" ]; then
157                         ramips_setup_rt3x5x_vlans
158                 else
159                         ucidef_set_interfaces_lan_wan "eth0" "eth1"
160                 fi
161                 ;;
162         esac
163 }
164
165 ramips_setup_macs()
166 {
167         local board="$1"
168         local lan_mac=""
169         local wan_mac=""
170
171         case $board in
172         all0256n | \
173         all5002 | \
174         dir-615-h1)
175                 lan_mac=$(mtd_get_mac_binary factory 40)
176                 ;;
177         3g-6200n | \
178         3g300m | \
179         w150m | \
180         air3gii | \
181         argus-atp52b | \
182         bc2 | \
183         br6425 | \
184         broadway | \
185         dir-620-d1 | \
186         f5d8235-v1 | \
187         ip2202 | \
188         mpr-a1 | \
189         mpr-a2 | \
190         dir-300-b7 | \
191         dir-320-b1 | \
192         mzk-w300nh2 | \
193         nw718 | \
194         psr-680w | \
195         rt-n15 | \
196         sl-r7205 | \
197         wl-351)
198                 lan_mac=$(mtd_get_mac_binary factory 4)
199                 wan_mac=$(macaddr_add "$lan_mac" 1)
200                 ;;
201
202         asl26555)
203                 lan_mac=$(mtd_get_mac_binary devdata 16388)
204                 ;;
205
206         w306r-v20)
207                 lan_mac=$(mtd_get_mac_binary factory 4)
208                 wan_mac=$(macaddr_add "$lan_mac" 5)
209                 ;;
210
211         rt-n13u | \
212         hg255d  | \
213         fonera20n | \
214         dir-810l)
215                 lan_mac=$(mtd_get_mac_binary factory 40)
216                 wan_mac=$(macaddr_add "$lan_mac" 1)
217                 ;;
218
219         dir-300-b1 |\
220         dir-300-b2 |\
221         dir-600-b1 |\
222         dir-610-a1)
223                 lan_mac=$(mtd_get_mac_binary devdata 16388)
224                 wan_mac=$(macaddr_add "$lan_mac" 1)
225                 ;;
226
227         dir-620-a1)
228                 lan_mac=$(mtd_get_mac_binary factory 4)
229                 lan_mac=$(macaddr_setbit_la "$lan_mac")
230                 wan_mac=$(macaddr_add "$lan_mac" 1)
231                 ;;
232
233         dir-645)
234                 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
235                 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
236                 ;;
237
238         esr-9753 | \
239         ur-326n4g | \
240         ur-336un)
241                 lan_mac=$(mtd_get_mac_binary devdata 16388)
242                 wan_mac=$(macaddr_add "$lan_mac" 1)
243                 ;;
244
245         m3 |\
246         m4 |\
247         x5 |\
248         x8)
249                 lan_mac=$(mtd_get_mac_binary factory 4)
250                 lan_mac=$(macaddr_add "$lan_mac" -1)
251                 ;;
252
253         nbg-419n | \
254         wcr-150gn)
255                 lan_mac=$(mtd_get_mac_binary factory 4)
256                 wan_mac=$(mtd_get_mac_binary factory 40)
257                 ;;
258
259         omni-emb-hpm)
260                 lan_mac=$(mtd_get_mac_binary factory 40)
261                 ;;
262
263         f5d8235-v2)
264                 lan_mac=$(mtd_get_mac_binary "u-boot" 262148)
265                 wan_mac=$(macaddr_add "$lan_mac" 1)
266                 ;;
267
268         rt-n56u)
269                 lan_mac=$(mtd_get_mac_binary factory 4)
270                 wan_mac=$(mtd_get_mac_binary factory 32772)
271                 ;;
272
273         tew-691gr)
274                 lan_mac=$(mtd_get_mac_binary factory 40)
275                 wan_mac=$(macaddr_add "$lan_mac" 3)
276                 ;;
277
278         tew-692gr)
279                 lan_mac=$(mtd_get_mac_binary factory 40)
280                 wan_mac=$(macaddr_add "$lan_mac" 4)
281                 ;;
282
283         all0239-3g | \
284         carambola | \
285         freestation5 | \
286         w502u | \
287         wnce2001)
288                 lan_mac=$(mtd_get_mac_binary factory 40)
289                 wan_mac=$(mtd_get_mac_binary factory 46)
290                 ;;
291
292         wl341v3)
293                 lan_mac=$(mtd_get_mac_binary board-nvram 65440)
294                 wan_mac=$(macaddr_add "$lan_mac" 1)
295                 ;;
296
297         d105 | \
298         wli-tx4-ag300n)
299                 lan_mac=$(mtd_get_mac_binary factory 4)
300                 ;;
301
302         esac
303
304         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac
305         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac
306 }
307
308 [ -e /etc/config/network ] && exit 0
309
310 touch /etc/config/network
311
312 board=$(ramips_board_name)
313
314 ramips_setup_interfaces $board
315 ramips_setup_macs $board
316
317 uci commit network
318
319 exit 0