bae7f41f1cc96c0e6e3696bd9e9f0d44a5a578e2
[oweals/openwrt.git] / target / linux / ramips / mt7621 / 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         adslr,g7|\
13         afoundry,ew1200|\
14         d-team,pbr-m1|\
15         firefly,firewrt|\
16         hiwifi,hc5962|\
17         mediatek,ap-mt7621a-v60|\
18         mediatek,mt7621-eval-board|\
19         mqmaker,witi|\
20         mtc,wr1201|\
21         phicomm,k2p|\
22         planex,vr500|\
23         samknows,whitebox-v8|\
24         storylink,sap-g3200u3|\
25         telco-electronics,x1|\
26         totolink,a7000r|\
27         unielec,u7621-06-16m|\
28         unielec,u7621-06-64m|\
29         xiaoyu,xy-c5|\
30         xzwifi,creativebox-v1|\
31         youku,yk-l2|\
32         zbtlink,zbt-we1326|\
33         zbtlink,zbt-we3526|\
34         zbtlink,zbt-wg2626|\
35         zbtlink,zbt-wg3526-16m|\
36         zbtlink,zbt-wg3526-32m)
37                 ucidef_add_switch "switch0" \
38                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
39                 ;;
40         alfa-network,quad-e4g|\
41         netgear,r6220|\
42         netgear,r6260|\
43         netgear,r6350|\
44         netgear,r6850|\
45         netgear,wndr3700-v5|\
46         netis,wf-2881|\
47         wevo,11acnas|\
48         wevo,w2914ns-v2|\
49         zio,freezio)
50                 ucidef_add_switch "switch0" \
51                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
52                 ;;
53         asiarf,ap7621-001)
54                 ucidef_add_switch "switch0" "0:lan" "4:wan" "6@eth0"
55                 ;;
56         asiarf,ap7621-nv1)
57                 ucidef_add_switch "switch0" "0:wan" "2:lan" "3:lan" "6@eth0"
58                 ;;
59         asus,rt-ac65p|\
60         asus,rt-ac57u|\
61         asus,rt-ac85p|\
62         iptime,a6ns-m|\
63         mikrotik,rb750gr3|\
64         ubiquiti,edgerouterx|\
65         ubiquiti,edgerouterx-sfp|\
66         youhua,wr1200js)
67                 ucidef_add_switch "switch0" \
68                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
69                 ;;
70         dlink,dir-860l-b1|\
71         elecom,wrc-1167ghbk2-s|\
72         elecom,wrc-1900gst|\
73         elecom,wrc-2533gst|\
74         iodata,wn-ax1167gr|\
75         iodata,wn-gx300gr|\
76         iodata,wnpr2600g)
77                 ucidef_add_switch "switch0" \
78                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
79                 ;;
80         buffalo,wsr-1166dhp|\
81         buffalo,wsr-600dhp)
82                 ucidef_add_switch "switch0" \
83                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
84                 ;;
85         d-team,newifi-d2)
86                 ucidef_add_switch "switch0" \
87                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
88                 ;;
89         edimax,rg21s)
90                 ucidef_add_switch "switch0" \
91                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
92                 ;;
93         gehua,ghl-r-001)
94                 ucidef_add_switch "switch0" \
95                         "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
96                 ;;
97         gnubee,gb-pc1|\
98         gnubee,gb-pc2)
99                 ucidef_add_switch "switch0" \
100                         "0:lan" "4:lan" "6@eth0"
101                 ;;
102         lenovo,newifi-d1)
103                 ucidef_add_switch "switch0" \
104                 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
105                 ;;
106         linksys,re6500)
107                 ucidef_add_switch "switch0" \
108                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
109                 ;;
110         mikrotik,rbm11g|\
111         thunder,timecloud)
112                 ucidef_add_switch "switch0"
113                 ucidef_add_switch_attr "switch0" "enable" "false"
114                 ucidef_set_interface_lan "eth0"
115                 ;;
116         mikrotik,rbm33g)
117                 ucidef_add_switch "switch0" \
118                         "1:lan" "2:lan" "0:wan" "6@eth0"
119                 ;;
120         netgear,ex6150|\
121         tplink,re350-v1|\
122         tplink,re650-v1)
123                 ucidef_add_switch "switch0" \
124                         "0:lan" "6@eth0"
125                 ;;
126         xiaomi,mir3g)
127                 ucidef_add_switch "switch0" \
128                         "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
129                 ;;
130         xiaomi,mir3g-v2)
131                 ucidef_add_switch "switch0" \
132                         "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
133                 ;;
134         xiaomi,mir3p)
135                 ucidef_add_switch "switch0" \
136                         "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
137                 ;;
138         *)
139                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
140                 ;;
141         esac
142 }
143
144 ramips_setup_macs()
145 {
146         local board="$1"
147         local lan_mac=""
148         local wan_mac=""
149         local label_mac=""
150
151         case $board in
152         adslr,g7)
153                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe00c)" 1)
154                 ;;
155         afoundry,ew1200|\
156         asiarf,ap7621-001|\
157         asiarf,ap7621-nv1|\
158         firefly,firewrt|\
159         gehua,ghl-r-001|\
160         mqmaker,witi|\
161         totolink,a7000r|\
162         unielec,u7621-06-16m|\
163         unielec,u7621-06-64m|\
164         xzwifi,creativebox-v1|\
165         zbtlink,zbt-wg2626)
166                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe000)" 1)
167                 ;;
168         alfa-network,quad-e4g|\
169         asus,rt-ac57u|\
170         d-team,newifi-d2|\
171         d-team,pbr-m1|\
172         elecom,wrc-1167ghbk2-s|\
173         elecom,wrc-1900gst|\
174         elecom,wrc-2533gst|\
175         lenovo,newifi-d1|\
176         netis,wf-2881|\
177         phicomm,k2p|\
178         planex,vr500|\
179         samknows,whitebox-v8|\
180         youhua,wr1200js|\
181         youku,yk-l2|\
182         zbtlink,zbt-we3526)
183                 wan_mac=$(mtd_get_mac_binary factory 0xe006)
184                 ;;
185         asus,rt-ac65p|\
186         asus,rt-ac85p)
187                 wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
188                 label_mac=$(mtd_get_mac_binary factory 0x4)
189                 ;;
190         buffalo,wsr-1166dhp)
191                 local index="$(find_mtd_index "board_data")"
192                 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
193                 lan_mac=$wan_mac
194                 ;;
195         dlink,dir-860l-b1)
196                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
197                 wan_mac=$(mtd_get_mac_ascii factory wanmac)
198                 label_mac=$(mtd_get_mac_binary radio 0x4)
199                 ;;
200         edimax,rg21s)
201                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
202                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
203                 ;;
204         hiwifi,hc5962)
205                 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
206                 label_mac=$lan_mac
207                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
208                 wan_mac=$(macaddr_add "$lan_mac" 1)
209                 ;;
210         iodata,wn-ax1167gr|\
211         iodata,wn-gx300gr|\
212         mtc,wr1201|\
213         netgear,r6220|\
214         netgear,wndr3700-v5|\
215         xiaoyu,xy-c5)
216                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
217                 ;;
218         iodata,wnpr2600g)
219                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
220                 label_mac=$wan_mac
221                 ;;
222         iptime,a6ns-m)
223                 wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40)
224                 ;;
225         mediatek,ap-mt7621a-v60)
226                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x5)" 1)
227                 ;;
228         mikrotik,rb750gr3)
229                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2)
230                 ;;
231         mikrotik,rbm33g)
232                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary hard_config 0x10)" 2)
233                 label_mac=$(mtd_get_mac_binary hard_config 0x10)
234                 ;;
235         netgear,r6260|\
236         netgear,r6350|\
237         netgear,r6850)
238                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2)
239                 ;;
240         storylink,sap-g3200u3|\
241         telco-electronics,x1)
242                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe006)" 1)
243                 ;;
244         ubiquiti,edgerouterx|\
245         ubiquiti,edgerouterx-sfp)
246                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x22)" 1)
247                 ;;
248         wevo,11acnas|\
249         wevo,w2914ns-v2|\
250         zio,freezio)
251                 wan_mac=$(mtd_get_mac_binary factory 0x2e)
252                 label_mac=$wan_mac
253                 ;;
254         xiaomi,mir3g)
255                 lan_mac=$(mtd_get_mac_binary factory 0xe006)
256                 ;;
257         xiaomi,mir3g-v2)
258                 wan_mac=$(mtd_get_mac_binary factory 0xe006)
259                 label_mac=$wan_mac
260                 ;;
261         xiaomi,mir3p)
262                 lan_mac=$(mtd_get_mac_binary factory 0xe006)
263                 label_mac=$lan_mac
264                 ;;
265         zbtlink,zbt-we1326)
266                 wan_mac=$(mtd_get_mac_binary factory 0xe006)
267                 label_mac=$(mtd_get_mac_binary factory 0x4)
268                 ;;
269         zbtlink,zbt-wg3526-16m|\
270         zbtlink,zbt-wg3526-32m)
271                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xe000)" 1)
272                 label_mac=$(mtd_get_mac_binary factory 0x4)
273                 ;;
274         esac
275
276         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
277         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
278         [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
279 }
280
281 board_config_update
282 board=$(board_name)
283 ramips_setup_interfaces $board
284 ramips_setup_macs $board
285 board_config_flush
286
287 exit 0