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