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