ramips: add support for ALFA Network Quad-E4G
[openwrt/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 ucidef_add_switch "switch0" \
50 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
51 ;;
52 asiarf,ap7621-001)
53 ucidef_add_switch "switch0" "0:lan" "4:wan" "6@eth0"
54 ;;
55 asiarf,ap7621-nv1)
56 ucidef_add_switch "switch0" "0:wan" "2:lan" "3:lan" "6@eth0"
57 ;;
58 asus,rt-ac57u|\
59 mikrotik,rb750gr3|\
60 mikrotik,rbm33g|\
61 ubiquiti,edgerouterx|\
62 ubiquiti,edgerouterx-sfp|\
63 youhua,wr1200js)
64 ucidef_add_switch "switch0" \
65 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
66 ;;
67 asus,rt-ac65p|\
68 asus,rt-ac85p|\
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 netgear,ex6150|\
116 tplink,re350-v1|\
117 tplink,re650-v1)
118 ucidef_add_switch "switch0" \
119 "0:lan" "6@eth0"
120 ;;
121 xiaomi,mir3g)
122 ucidef_add_switch "switch0" \
123 "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
124 ;;
125 xiaomi,mir3g-v2)
126 ucidef_add_switch "switch0" \
127 "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
128 ;;
129 xiaomi,mir3p)
130 ucidef_add_switch "switch0" \
131 "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
132 ;;
133 *)
134 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
135 ;;
136 esac
137 }
138
139 ramips_setup_macs()
140 {
141 local board="$1"
142 local lan_mac=""
143 local wan_mac=""
144 local label_mac=""
145
146 case $board in
147 adslr,g7|\
148 afoundry,ew1200|\
149 asiarf,ap7621-001|\
150 asiarf,ap7621-nv1|\
151 firefly,firewrt|\
152 gehua,ghl-r-001|\
153 mediatek,ap-mt7621a-v60|\
154 mediatek,mt7621-eval-board|\
155 mikrotik,rb750gr3|\
156 mikrotik,rbm33g|\
157 mqmaker,witi|\
158 mtc,wr1201|\
159 netgear,r6220|\
160 netgear,wndr3700-v5|\
161 storylink,sap-g3200u3|\
162 telco-electronics,x1|\
163 totolink,a7000r|\
164 ubiquiti,edgerouterx|\
165 ubiquiti,edgerouterx-sfp|\
166 unielec,u7621-06-16m|\
167 unielec,u7621-06-64m|\
168 xiaoyu,xy-c5|\
169 xzwifi,creativebox-v1|\
170 zbtlink,zbt-wg2626)
171 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
172 ;;
173 alfa-network,quad-e4g|\
174 asus,rt-ac57u|\
175 d-team,newifi-d2|\
176 d-team,pbr-m1|\
177 elecom,wrc-1167ghbk2-s|\
178 elecom,wrc-1900gst|\
179 elecom,wrc-2533gst|\
180 lenovo,newifi-d1|\
181 netis,wf-2881|\
182 phicomm,k2p|\
183 planex,vr500|\
184 samknows,whitebox-v8|\
185 youhua,wr1200js|\
186 youku,yk-l2|\
187 zbtlink,zbt-we3526)
188 wan_mac=$(mtd_get_mac_binary factory 0xe006)
189 ;;
190 asus,rt-ac65p|\
191 asus,rt-ac85p)
192 wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
193 label_mac=$(mtd_get_mac_binary factory 0x4)
194 ;;
195 buffalo,wsr-1166dhp)
196 local index="$(find_mtd_index "board_data")"
197 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
198 lan_mac=$wan_mac
199 ;;
200 dlink,dir-860l-b1)
201 lan_mac=$(mtd_get_mac_ascii factory lanmac)
202 wan_mac=$(mtd_get_mac_ascii factory wanmac)
203 label_mac=$(mtd_get_mac_binary radio 0x4)
204 ;;
205 edimax,rg21s)
206 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
207 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
208 ;;
209 hiwifi,hc5962)
210 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
211 label_mac=$lan_mac
212 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
213 wan_mac=$(macaddr_add "$lan_mac" 1)
214 ;;
215 iodata,wn-ax1167gr|\
216 iodata,wn-gx300gr)
217 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
218 ;;
219 iodata,wnpr2600g)
220 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
221 label_mac=$wan_mac
222 ;;
223 netgear,r6260|\
224 netgear,r6350|\
225 netgear,r6850)
226 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
227 ;;
228 wevo,11acnas|\
229 wevo,w2914ns-v2)
230 wan_mac=$(mtd_get_mac_binary factory 0x2e)
231 label_mac=$wan_mac
232 ;;
233 xiaomi,mir3g)
234 lan_mac=$(mtd_get_mac_binary factory 0xe006)
235 ;;
236 xiaomi,mir3g-v2)
237 wan_mac=$(mtd_get_mac_binary factory 0xe006)
238 label_mac=$wan_mac
239 ;;
240 xiaomi,mir3p)
241 lan_mac=$(mtd_get_mac_binary factory 0xe006)
242 label_mac=$lan_mac
243 ;;
244 zbtlink,zbt-we1326)
245 wan_mac=$(mtd_get_mac_binary factory 0xe006)
246 label_mac=$(mtd_get_mac_binary factory 0x4)
247 ;;
248 zbtlink,zbt-wg3526-16m|\
249 zbtlink,zbt-wg3526-32m)
250 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
251 label_mac=$(mtd_get_mac_binary factory 0x4)
252 ;;
253 esac
254
255 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
256 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
257 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
258 }
259
260 board_config_update
261 board=$(board_name)
262 ramips_setup_interfaces $board
263 ramips_setup_macs $board
264 board_config_flush
265
266 exit 0