39c8080e832b4e4c117b17ded1748b7ba50ffa1d
[openwrt/openwrt.git] / target / linux / ramips / mt7621 / base-files / etc / board.d / 02_network
1
2 . /lib/functions.sh
3 . /lib/functions/uci-defaults.sh
4 . /lib/functions/system.sh
5
6 ramips_setup_interfaces()
7 {
8 local board="$1"
9
10 case $board in
11 arcadyan,we420223-99)
12 ucidef_set_interface_lan "swp0 swp1"
13 ;;
14 ampedwireless,ally-00x19k|\
15 asus,rp-ac56|\
16 asus,rp-ac87|\
17 dlink,dap-x1860-a1|\
18 edimax,re23s|\
19 mikrotik,ltap-2hnd|\
20 mikrotik,routerboard-m11g|\
21 netgear,ex6150|\
22 sercomm,na502|\
23 sercomm,na502s|\
24 thunder,timecloud|\
25 tplink,re350-v1|\
26 tplink,re500-v1|\
27 tplink,re650-v1|\
28 tplink,re650-v2|\
29 ubnt,unifi-6-lite|\
30 ubnt,unifi-flexhd|\
31 ubnt,unifi-nanohd|\
32 yuncore,fap690|\
33 zyxel,nwa50ax|\
34 zyxel,nwa55axe)
35 ucidef_set_interface_lan "lan"
36 ;;
37 ampedwireless,ally-r1900k|\
38 asus,rt-ax53u|\
39 gehua,ghl-r-001|\
40 h3c,tx1800-plus|\
41 h3c,tx1801-plus|\
42 h3c,tx1806|\
43 haier,har-20s2u1|\
44 hiwifi,hc5962|\
45 netgear,wax202|\
46 sim,simax1800t|\
47 xiaomi,mi-router-3-pro|\
48 xiaomi,mi-router-ac2100|\
49 xiaomi,mi-router-cr6606|\
50 xiaomi,mi-router-cr6608|\
51 xiaomi,mi-router-cr6609|\
52 xiaomi,redmi-router-ac2100|\
53 zyxel,wsm20)
54 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
55 ;;
56 asiarf,ap7621-001|\
57 humax,e10|\
58 wavlink,ws-wn572hp3-4g|\
59 winstars,ws-wn583a6)
60 ucidef_set_interfaces_lan_wan "lan" "wan"
61 ;;
62 asiarf,ap7621-nv1|\
63 beeline,smartbox-flash|\
64 beeline,smartbox-giga|\
65 glinet,gl-mt1300|\
66 iptime,a3002mesh|\
67 jcg,q20|\
68 lenovo,newifi-d1|\
69 mikrotik,routerboard-m33g|\
70 mts,wg430223|\
71 oraybox,x3a|\
72 renkforce,ws-wn530hp3-a|\
73 xiaomi,mi-router-3g|\
74 xiaomi,mi-router-3g-v2|\
75 xiaomi,mi-router-4|\
76 xiaomi,mi-router-4a-gigabit|\
77 xiaomi,mi-router-4a-gigabit-v2)
78 ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
79 ;;
80 bolt,arion)
81 ucidef_set_interfaces_lan_wan "lan" "wan"
82 ucidef_set_interface "eth_data" device "modem.103" protocol "static" ipaddr "10.22.127.222" netmask "255.255.255.255"
83 ucidef_set_interface "eth_om" device "modem.4094" protocol "static" ipaddr "169.254.0.2" netmask "255.255.255.252"
84 uci add_list firewall.@zone[1].network='eth_data'
85 uci add_list firewall.@zone[1].network='eth_om'
86 ;;
87 cudy,m1800|\
88 yuncore,ax820|\
89 zyxel,nt7101)
90 ucidef_set_interfaces_lan_wan "lan" "wan"
91 ;;
92 gnubee,gb-pc1)
93 ucidef_set_interface_lan "ethblack ethblue"
94 ;;
95 gnubee,gb-pc2)
96 ucidef_set_interface_lan "ethblack ethblue ethyellow"
97 ;;
98 linksys,re6500|\
99 netgear,wac104|\
100 zyxel,lte3301-plus)
101 ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
102 ;;
103 mikrotik,routerboard-750gr3)
104 ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
105 ;;
106 mikrotik,routerboard-760igs)
107 ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
108 ;;
109 tplink,deco-m4r-v4)
110 ucidef_set_interfaces_lan_wan "eth1" "eth0"
111 ;;
112 tplink,eap235-wall-v1|\
113 tplink,eap615-wall-v1)
114 ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
115 ;;
116 tplink,er605-v2)
117 ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
118 ;;
119 tplink,tl-wpa8631p-v3)
120 ucidef_set_interface_lan "lan1 lan2 lan3 plc0"
121 ;;
122 tplink,mr600-v2-eu)
123 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
124 ;;
125 ubnt,edgerouter-x)
126 ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
127 ;;
128 ubnt,edgerouter-x-sfp)
129 ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
130 ;;
131 ubnt,usw-flex)
132 ucidef_set_interface_lan "lan1 lan2 lan3 lan4 lan5"
133 ;;
134 zyxel,wap6805)
135 ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
136 ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
137 ;;
138 *)
139 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
140 ;;
141 esac
142 }
143
144 ramips_setup_macs()
145 {
146 local board="$1"
147 local lan_mac=""
148 local wan_mac=""
149 local label_mac=""
150
151 case $board in
152 ampedwireless,ally-00x19k)
153 lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
154 label_mac=$lan_mac
155 ;;
156 ampedwireless,ally-r1900k)
157 lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
158 wan_mac=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
159 label_mac=$lan_mac
160 ;;
161 arcadyan,we420223-99)
162 label_mac=$(mtd_get_mac_ascii board_data mac)
163 lan_mac=$label_mac
164 ucidef_set_network_device_mac eth0 $(macaddr_add "$label_mac" 3)
165 ;;
166 asus,rt-ac65p|\
167 asus,rt-ac85p)
168 wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
169 label_mac=$(mtd_get_mac_binary factory 0x4)
170 ;;
171 beeline,smartbox-flash)
172 wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
173 label_mac=$(macaddr_add "$wan_mac" 3)
174 lan_mac=$label_mac
175 ;;
176 buffalo,wsr-1166dhp)
177 wan_mac=$(mtd_get_mac_ascii board_data "mac")
178 lan_mac=$wan_mac
179 label_mac=$wan_mac
180 ;;
181 dlink,dir-860l-b1)
182 lan_mac=$(mtd_get_mac_ascii factory lanmac)
183 wan_mac=$(mtd_get_mac_ascii factory wanmac)
184 ;;
185 edimax,ra21s|\
186 edimax,rg21s)
187 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
188 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
189 ;;
190 elecom,wrc-2533ghbk2-t|\
191 elecom,wrc-2533ghbk-i)
192 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
193 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
194 label_mac=$wan_mac
195 ;;
196 h3c,tx1800-plus|\
197 h3c,tx1801-plus|\
198 h3c,tx1806)
199 label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
200 lan_mac=$(macaddr_add "$label_mac" 1)
201 wan_mac=$label_mac
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,wnpr2600g)
210 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
211 label_mac=$wan_mac
212 ;;
213 iptime,t5004)
214 lan_mac=$(mtd_get_mac_ascii config ethaddr)
215 wan_mac=$(macaddr_add "$lan_mac" 1)
216 ;;
217 jcg,y2|\
218 wavlink,wl-wn531a6|\
219 wavlink,wl-wn533a8|\
220 winstars,ws-wn583a6|\
221 zbtlink,zbt-we1326|\
222 zbtlink,zbt-wg3526-16m|\
223 zbtlink,zbt-wg3526-32m)
224 label_mac=$(mtd_get_mac_binary factory 0x4)
225 ;;
226 linksys,e5600|\
227 linksys,ea6350-v4|\
228 linksys,ea7300-v1|\
229 linksys,ea7300-v2|\
230 linksys,ea7500-v2|\
231 linksys,ea8100-v1|\
232 linksys,ea8100-v2)
233 lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
234 wan_mac=$lan_mac
235 label_mac=$lan_mac
236 ;;
237 belkin,rt1800|\
238 linksys,e7350)
239 lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
240 wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
241 label_mac=$lan_mac
242 ;;
243 mikrotik,ltap-2hnd)
244 label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
245 lan_mac=$label_mac
246 ;;
247 tplink,ec330-g5u-v1)
248 label_mac="$(mtd_get_mac_text factory 0x165)"
249 lan_mac=$label_mac
250 wan_mac=$(macaddr_add $label_mac 1)
251 ;;
252 tplink,er605-v2)
253 CI_UBIPART="firmware"
254 label_mac=$(mtd_get_mac_uci_config_ubi "tddp")
255 lan_mac=$label_mac
256 wan_mac=$(macaddr_add "$label_mac" 1)
257 ;;
258 tplink,mr600-v2-eu)
259 label_mac=$(cat "/sys/class/net/eth0/address")
260 wwan_mac=$(macaddr_add $label_mac 1)
261 ucidef_set_interface "wwan0" device "/dev/cdc-wdm0" protocol "qmi" macaddr "$wwan_mac"
262 ;;
263 mikrotik,routerboard-750gr3|\
264 mikrotik,routerboard-760igs|\
265 mikrotik,routerboard-m11g|\
266 mikrotik,routerboard-m33g)
267 label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
268 wan_mac=$label_mac
269 lan_mac=$(macaddr_add $label_mac 1)
270 ;;
271 mts,wg430223)
272 wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
273 label_mac=$wan_mac
274 lan_mac=$(macaddr_add "$wan_mac" 2)
275 ;;
276 netgear,wax202)
277 lan_mac=$(mtd_get_mac_ascii Config mac)
278 wan_mac=$(macaddr_add "$lan_mac" 1)
279 label_mac=$lan_mac
280 ;;
281 yuncore,ax820)
282 label_mac=$(mtd_get_mac_binary Factory 0x4)
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