ramips: split base-files into subtargets
[oweals/openwrt.git] / target / linux / ramips / mt7620 / 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         aigale,ai-br100|\
13         alfa-network,ac1200rm|\
14         asus,rt-n12p|\
15         dlink,dir-810l|\
16         dlink,dwr-116-a1|\
17         dlink,dwr-921-c1|\
18         dlink,dwr-922-e2|\
19         ohyeah,oy-0001|\
20         phicomm,psg1208|\
21         phicomm,psg1218a|\
22         planex,db-wrt01|\
23         planex,mzk-750dhp|\
24         sanlinking,d240|\
25         xiaomi,miwifi-mini|\
26         youku,yk1|\
27         zbtlink,zbt-ape522ii|\
28         zbtlink,zbt-we826-16m|\
29         zbtlink,zbt-we826-32m|\
30         zbtlink,zbt-we826-e|\
31         zbtlink,zbt-wr8305rt|\
32         zyxel,keenetic-omni)
33                 ucidef_add_switch "switch0" \
34                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
35                 ;;
36         alfa-network,tube-e4g|\
37         buffalo,wmr-300|\
38         dlink,dch-m225|\
39         elecom,wrh-300cr|\
40         kimax,u25awf-h1|\
41         netgear,ex2700|\
42         netgear,ex3700|\
43         netgear,wn3000rp-v3|\
44         planex,cs-qr10|\
45         planex,mzk-ex300np|\
46         planex,mzk-ex750np|\
47         ravpower,wd03|\
48         sercomm,na930)
49                 ucidef_set_interface_lan "eth0"
50                 ;;
51         asus,rp-n53)
52                 ucidef_add_switch "switch0" \
53                         "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
54                 ;;
55         asus,rt-ac51u)
56                 ucidef_add_switch "switch0" \
57                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
58                 ;;
59         asus,rt-n14u|\
60         bdcom,wap2100-sk|\
61         glinet,gl-mt300a|\
62         glinet,gl-mt300n|\
63         glinet,gl-mt750|\
64         hiwifi,hc5661|\
65         tplink,archer-c20i|\
66         wrtnode,wrtnode|\
67         zbtlink,zbt-wa05)
68                 ucidef_add_switch "switch0" \
69                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
70                 ;;
71         buffalo,whr-300hp2|\
72         buffalo,whr-600d)
73                 ucidef_add_switch "switch0" \
74                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
75                 ;;
76         buffalo,whr-1166d)
77                 ucidef_add_switch "switch0" \
78                         "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
79                 ;;
80         comfast,cf-wr800n|\
81         hnet,c108)
82                 ucidef_add_switch "switch0" \
83                         "4:lan" "6@eth0"
84                 ;;
85         dlink,dir-510l)
86                 ucidef_add_switch "switch0" \
87                         "0:lan" "6@eth0"
88                 ;;
89         dlink,dwr-118-a1)
90                 ucidef_add_switch "switch0" \
91                         "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
92                 ;;
93         dlink,dwr-118-a2)
94                 ucidef_add_switch "switch0" \
95                         "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
96                 ;;
97         edimax,br-6478ac-v2|\
98         tplink,archer-c2-v1)
99                 ucidef_add_switch "switch1" \
100                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
101                 ;;
102         edimax,ew-7476rpc|\
103         edimax,ew-7478ac|\
104         kimax,u35wf|\
105         microduino,microwrt|\
106         yukai,bocco|\
107         zbtlink,zbt-cpe102|\
108         zte,q7)
109                 ucidef_add_switch "switch0"
110                 ucidef_add_switch_attr "switch0" "enable" "false"
111                 ucidef_set_interface_lan "eth0"
112                 ;;
113         engenius,esr600)
114                 ucidef_add_switch "switch0" \
115                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "0@eth0"
116                 ;;
117         fon,fon2601)
118                 ucidef_add_switch "switch0" \
119                         "0:lan" "4:wan" "6@eth0"
120                 ;;
121         head-weblink,hdrm200)
122                 ucidef_add_switch "switch0" \
123                         "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
124                 ;;
125         hiwifi,hc5761)
126                 ucidef_add_switch "switch0" \
127                         "1:lan" "4:lan" "0:wan" "6@eth0"
128                 ;;
129         hiwifi,hc5861)
130                 ucidef_add_switch "switch0" \
131                         "0:lan" "1:lan" "5:wan" "6@eth0"
132                 ;;
133         iodata,wn-ac1167gr|\
134         iodata,wn-ac733gr3)
135                 ucidef_add_switch "switch1" \
136                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
137                 ;;
138         kingston,mlw221)
139                 ucidef_set_interface_lan "eth0.2"
140                 ;;
141         kingston,mlwg2)
142                 ucidef_set_interface_lan "eth0.1"
143                 ;;
144         lava,lr-25g001)
145                 ucidef_add_switch "switch0" \
146                         "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
147                 ;;
148         lenovo,newifi-y1)
149                 ucidef_add_switch "switch0" \
150                         "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
151                 ;;
152         lenovo,newifi-y1s)
153                 ucidef_add_switch "switch0" \
154                         "1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
155                 ;;
156         linksys,e1700|\
157         ralink,mt7620a-mt7530-evb)
158                 ucidef_add_switch "switch1" \
159                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
160                 ;;
161         nexx,wt3020-4m|\
162         nexx,wt3020-8m)
163                 ucidef_add_switch "switch0" \
164                         "4:lan" "0:wan" "6@eth0"
165                 ;;
166         phicomm,k2g)
167                 ucidef_add_switch "switch0" \
168                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
169                 ;;
170         phicomm,psg1218b)
171                 ucidef_add_switch "switch0" \
172                         "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
173                 ;;
174         tplink,archer-c20-v1|\
175         tplink,archer-c50-v1)
176                 ucidef_add_switch "switch0" \
177                         "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
178                 ;;
179         tplink,archer-mr200)
180                 ucidef_add_switch "switch0" \
181                         "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
182                 ucidef_set_interface_wan "usb0"
183                 ;;
184         vonets,var11n-300)
185                 ucidef_add_switch "switch0" \
186                         "0:lan" "4:wan" "6@eth0"
187                 ;;
188         zbtlink,zbt-we1026-5g-16m)
189                 ucidef_add_switch "switch0" \
190                         "0:lan" "6t@eth0"
191                 ;;
192         zbtlink,zbt-we2026)
193                 ucidef_add_switch "switch0" \
194                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
195                 ;;
196         zyxel,keenetic-omni-ii)
197                 ucidef_add_switch "switch0" \
198                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
199                 ;;
200         zyxel,keenetic-viva)
201                 ucidef_add_switch "switch1" \
202                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
203                 ;;
204         *)
205                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
206                 ;;
207         esac
208 }
209
210 ramips_setup_macs()
211 {
212         local board="$1"
213         local lan_mac=""
214         local wan_mac=""
215         local label_mac=""
216
217         case $board in
218         buffalo,whr-1166d|\
219         buffalo,whr-300hp2|\
220         buffalo,whr-600d|\
221         xiaomi,miwifi-mini)
222                 # This empty case has to be kept for devices without any MAC address adjustments
223                 ;;
224         dlink,dch-m225)
225                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
226                 ;;
227         dlink,dir-510l|\
228         dlink,dwr-116-a1|\
229         dlink,dwr-118-a1|\
230         dlink,dwr-118-a2|\
231         dlink,dwr-921-c1|\
232         dlink,dwr-922-e2|\
233         lava,lr-25g001)
234                 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
235                 lan_mac=$(macaddr_add "$wan_mac" 1)
236                 label_mac=$wan_mac
237                 ;;
238         dovado,tiny-ac)
239                 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
240                 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
241                 ;;
242         edimax,br-6478ac-v2)
243                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
244                 ;;
245         engenius,esr600)
246                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
247                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
248                 ;;
249         glinet,gl-mt300a|\
250         glinet,gl-mt300n|\
251         glinet,gl-mt750)
252                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
253                 label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
254                 ;;
255         hiwifi,hc5661|\
256         hiwifi,hc5761|\
257         hiwifi,hc5861)
258                 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
259                 label_mac=$lan_mac
260                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
261                 wan_mac=$(macaddr_add "$lan_mac" 1)
262                 ;;
263         iodata,wn-ac1167gr|\
264         iodata,wn-ac733gr3)
265                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
266                 ;;
267         lenovo,newifi-y1|\
268         lenovo,newifi-y1s|\
269         ohyeah,oy-0001|\
270         phicomm,k2g)
271                 wan_mac=$(mtd_get_mac_binary factory 0x2e)
272                 ;;
273         linksys,e1700)
274                 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
275                 ;;
276         zyxel,keenetic-omni|\
277         zyxel,keenetic-omni-ii|\
278         zyxel,keenetic-viva)
279                 wan_mac=$(mtd_get_mac_binary factory 0x28)
280                 ;;
281         *)
282                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
283                 ;;
284         esac
285
286         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
287         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
288         [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
289 }
290
291 board_config_update
292 board=$(board_name)
293 ramips_setup_interfaces $board
294 ramips_setup_macs $board
295 board_config_flush
296
297 exit 0