ramips: make built-in switch transparent for ALL0256N and ALL5002
[openwrt.git] / target / linux / ramips / base-files / etc / uci-defaults / network
1 #!/bin/sh
2
3 . /etc/functions.sh
4 . /lib/ramips.sh
5 . /lib/functions/uci-defaults.sh
6
7 if [ ! -x /usr/sbin/maccalc ]; then
8         echo "$0: maccalc not found!"
9         return
10 fi
11
12 ramips_setup_rt3x5x_vlans()
13 {
14         if [ ! -x /sbin/swconfig ]; then
15                 # legacy default
16                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
17                 return
18         fi
19         local wanports=""
20         local lanports=""
21         for port in 5 4 3 2 1 0; do
22                 if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
23                         continue
24                 fi
25                 if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
26                         wanports="$port $wanports"
27                 else
28                         lanports="$port $lanports"
29                 fi
30         done
31         ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
32         ucidef_add_switch "rt305x" "1" "1"
33         ucidef_add_switch_vlan "rt305x" "1" "$lanports 6t"
34         ucidef_add_switch_vlan "rt305x" "2" "$wanports 6t"
35 }
36
37 ramips_setup_interfaces()
38 {
39         local board="$1"
40
41         ucidef_set_interface_loopback
42
43         case $board in
44         all0256n | \
45         all5002)
46                 ucidef_set_interface_lan "eth0"
47                 ;;
48
49         dir-615-h1 | \
50         wl-330n)
51                 ucidef_set_interface_lan "eth0.1"
52                 ;;
53
54         3g-6200n | \
55         argus-atp52b | \
56         b2c | \
57         nw718 | \
58         psr-680w | \
59         sl-r7205 | \
60         w502u | \
61         wr6202)
62                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
63                 ;;
64
65         f5d8235-v1 | \
66         f5d8235-v2 | \
67         ur-336un)
68                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
69                 ;;
70
71         v11st-fe)
72                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
73                 ucidef_add_switch "switch0" "1" "1"
74                 ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
75                 ucidef_add_switch_vlan "switch0" "2" "0 5t"
76                 ;;
77
78         rt-n15 | \
79         wl-351)
80                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
81                 ucidef_add_switch "switch0" "1" "1"
82                 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t"
83                 ucidef_add_switch_vlan "switch0" "2" "4 5t"
84                 ;;
85
86         rt-n56u)
87                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
88                 ucidef_add_switch "switch0" "1" "1"
89                 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t"
90                 ucidef_add_switch_vlan "switch0" "2" "4 8t"
91                 ;;
92
93         freestation5 | \
94         wcr-150gn)
95                 ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
96                 ;;
97
98         wli-tx4-ag300n)
99                 ucidef_set_interface_lan "eth0"
100                 ;;
101
102         *)
103                 RT3X5X=`cat /proc/cpuinfo | grep RT3.5`
104                 if [ -n "${RT3X5X}" ]; then
105                         ramips_setup_rt3x5x_vlans
106                 else
107                         ucidef_set_interfaces_lan_wan "eth0" "eth1"
108                 fi
109                 ;;
110         esac
111 }
112
113 ramips_setup_macs()
114 {
115         local board="$1"
116         local lan_mac=""
117         local wan_mac=""
118
119         case $board in
120         all0256n | \
121         all5002 | \
122         dir-615-h1)
123                 lan_mac=$(ramips_get_mac_binary factory 40)
124                 ;;
125         3g-6200n | \
126         argus-atp52b | \
127         bc2 | \
128         f5d8235-v1 | \
129         nw718 | \
130         psr-680w | \
131         rt-n15 | \
132         sl-r7205 | \
133         wl-351)
134                 lan_mac=$(ramips_get_mac_binary factory 4)
135                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
136                 ;;
137
138         w306r-v20)
139                 lan_mac=$(ramips_get_mac_binary factory 4)
140                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 5)
141                 ;;
142
143         fonera20n)
144                 lan_mac=$(ramips_get_mac_binary factory 40)
145                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
146                 ;;
147
148         dir-300-b1 |\
149         dir-300-b2 |\
150         dir-600-b1)
151                 lan_mac=$(ramips_get_mac_binary devdata 16388)
152                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
153                 ;;
154
155         dir-620-a1)
156                 lan_mac=$(ramips_get_mac_binary factory 4)
157                 lan_mac=$(maccalc or "$lan_mac" "02:00:00:00:00:00")
158                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
159                 ;;
160
161         esr-9753 | \
162         ur-336un)
163                 lan_mac=$(ramips_get_mac_binary devdata 16388)
164                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
165                 ;;
166
167         nbg-419n | \
168         wcr-150gn)
169                 lan_mac=$(ramips_get_mac_binary factory 4)
170                 wan_mac=$(ramips_get_mac_binary factory 40)
171                 ;;
172
173         f5d8235-v2)
174                 lan_mac=$(ramips_get_mac_binary "u-boot" 262148)
175                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
176                 ;;
177
178         rt-n56u)
179                 lan_mac=$(ramips_get_mac_binary factory 4)
180                 wan_mac=$(ramips_get_mac_binary factory 32772)
181                 ;;
182
183         all0239-3g | \
184         carambola | \
185         w502u)
186                 lan_mac=$(ramips_get_mac_binary factory 40)
187                 wan_mac=$(ramips_get_mac_binary factory 46)
188                 ;;
189
190         wl341v3)
191                 lan_mac=$(ramips_get_mac_binary board-nvram 65440)
192                 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
193                 ;;
194
195         wli-tx4-ag300n)
196                 lan_mac=$(ramips_get_mac_binary factory 4)
197                 ;;
198
199         esac
200
201         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac
202         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac
203 }
204
205 [ -e /etc/config/network ] && exit 0
206
207 touch /etc/config/network
208
209 board=$(ramips_board_name)
210
211 ramips_setup_interfaces $board
212 ramips_setup_macs $board
213
214 uci commit network
215
216 exit 0