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