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