ipq40xx: Add ZTE MF289F
[openwrt/openwrt.git] / target / linux / ipq40xx / base-files / etc / board.d / 02_network
1 #
2 # Copyright (c) 2015 The Linux Foundation. All rights reserved.
3 # Copyright (c) 2011-2015 OpenWrt.org
4 #
5
6 . /lib/functions/uci-defaults.sh
7 . /lib/functions/system.sh
8
9 ipq40xx_setup_interfaces()
10 {
11 local board="$1"
12
13 case "$board" in
14 8dev,habanero-dvk|\
15 8dev,jalapeno|\
16 alfa-network,ap120c-ac|\
17 engenius,emr3500|\
18 engenius,ens620ext|\
19 luma,wrtq-329acn|\
20 netgear,wac510|\
21 plasmacloud,pa1200|\
22 plasmacloud,pa2200|\
23 sony,ncp-hg100-cellular)
24 ucidef_set_interfaces_lan_wan "eth0" "eth1"
25 ;;
26 aruba,ap-303|\
27 aruba,ap-365|\
28 avm,fritzrepeater-1200|\
29 dlink,dap-2610 |\
30 engenius,eap1300|\
31 engenius,emd1|\
32 extreme-networks,ws-ap3915i|\
33 meraki,mr33|\
34 meraki,mr74|\
35 mikrotik,lhgg-60ad|\
36 mikrotik,sxtsq-5-ac|\
37 netgear,ex6100v2|\
38 netgear,ex6150v2|\
39 zyxel,wre6606)
40 ucidef_set_interface_lan "eth0"
41 ;;
42 aruba,ap-303h|\
43 teltonika,rutx10)
44 ucidef_set_interfaces_lan_wan "eth0" "eth1"
45 ucidef_add_switch "switch0" \
46 "0u@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "0u@eth1" "5:wan"
47 ;;
48 asus,map-ac2200|\
49 cilab,meshpoint-one|\
50 edgecore,ecw5211|\
51 edgecore,oap100|\
52 google,wifi|\
53 openmesh,a42|\
54 openmesh,a62)
55 ucidef_set_interfaces_lan_wan "eth1" "eth0"
56 ;;
57 mikrotik,cap-ac)
58 ucidef_add_switch "switch0" \
59 "0t@eth0" "4:lan" "5:wan"
60 ;;
61 asus,rt-ac42u|\
62 asus,rt-ac58u|\
63 mikrotik,hap-ac2|\
64 mikrotik,hap-ac3|\
65 p2w,r619ac-64m|\
66 p2w,r619ac-128m|\
67 zyxel,nbg6617)
68 ucidef_set_interfaces_lan_wan "eth0" "eth1"
69 ucidef_add_switch "switch0" \
70 "0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
71 ;;
72 avm,fritzbox-4040|\
73 linksys,ea6350v3|\
74 linksys,ea8300)
75 ucidef_set_interfaces_lan_wan "eth0" "eth1"
76 ucidef_add_switch "switch0" \
77 "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
78 ;;
79 linksys,mr8300)
80 ucidef_set_interfaces_lan_wan "eth0" "eth1"
81 ucidef_add_switch "switch0" \
82 "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "0u@eth1" "5:wan"
83 ;;
84 avm,fritzbox-7530)
85 ucidef_add_switch "switch0" \
86 "0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
87 ;;
88 avm,fritzrepeater-3000|\
89 linksys,whw01-v1)
90 ucidef_add_switch "switch0" \
91 "0u@eth0" "4:lan:1" "5:lan:2"
92 ;;
93 compex,wpj419|\
94 compex,wpj428|\
95 engenius,eap2200|\
96 mikrotik,wap-ac)
97 ucidef_set_interface_lan "eth0 eth1"
98 ;;
99 buffalo,wtr-m2133hp)
100 ucidef_set_interfaces_lan_wan "eth0" "eth1"
101 ucidef_add_switch "switch0" \
102 "0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
103 ;;
104 cellc,rtl30vw)
105 ucidef_set_interface_lan "eth0"
106 ucidef_add_switch "switch0" \
107 "0u@eth0" "3:lan" "4:lan"
108 ;;
109 devolo,magic-2-wifi-next)
110 ucidef_set_interface_lan "eth0 eth1 eth2"
111 ;;
112 ezviz,cs-w3-wd1200g-eup)
113 ucidef_set_interfaces_lan_wan "eth0" "eth1"
114 ucidef_add_switch "switch0" \
115 "0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "0u@eth1" "5:wan"
116 ;;
117 glinet,gl-ap1300 |\
118 glinet,gl-b1300 |\
119 glinet,gl-s1300)
120 ucidef_set_interfaces_lan_wan "eth0" "eth1"
121 ucidef_add_switch "switch0" \
122 "0u@eth0" "3:lan" "4:lan"
123 ;;
124 glinet,gl-b2200)
125 ucidef_set_interfaces_lan_wan "eth0" "eth1"
126 ucidef_add_switch "switch0" \
127 "0u@eth0" "1:lan" "2:lan" "3:lan" "5:lan" "0u@eth1" "4:wan"
128 ;;
129 mobipromo,cm520-79f)
130 ucidef_add_switch "switch0" \
131 "0u@eth0" "3:lan:2" "4:lan:1"
132 ucidef_set_interface_wan "eth1"
133 ;;
134 netgear,rbr50|\
135 netgear,rbs50|\
136 netgear,srr60|\
137 netgear,srs60)
138 ucidef_add_switch "switch0" \
139 "0u@eth0" "2:lan" "3:lan" "4:lan"
140 ucidef_set_interface_wan "eth1"
141 ;;
142 pakedge,wr-1)
143 ucidef_set_interfaces_lan_wan "eth0" "eth1"
144 ucidef_add_switch "switch0" \
145 "0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0u@eth1" "5:wan"
146 ;;
147 qxwlan,e2600ac-c1 |\
148 qxwlan,e2600ac-c2)
149 ucidef_set_interfaces_lan_wan "eth0" "eth1"
150 ucidef_add_switch "switch0" \
151 "0u@eth0" "3:lan" "4:lan" "0u@eth1" "5:wan"
152 ;;
153 unielec,u4019-32m |\
154 tel,x1pro)
155 ucidef_set_interfaces_lan_wan "eth0" "eth1"
156 ucidef_add_switch "switch0" \
157 "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "0u@eth1" "5:wan"
158 ;;
159 zte,mf286d)
160 ucidef_set_interfaces_lan_wan "eth0" "eth1"
161 ucidef_add_switch "switch0" \
162 "0u@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "0u@eth1" "5:wan"
163 ;;
164 zte,mf289f)
165 ucidef_set_interfaces_lan_wan "eth0" "eth1"
166 ucidef_add_switch "switch0" \
167 "0u@eth0" "0u@eth1" "2:lan:1" "5:lan:2"
168 ;;
169 *)
170 echo "Unsupported hardware. Network interfaces not initialized"
171 ;;
172 esac
173 }
174
175 ipq40xx_setup_macs()
176 {
177 local board="$1"
178 local lan_mac=""
179 local wan_mac=""
180 local label_mac=""
181
182 case "$board" in
183 8dev,habanero-dvk)
184 label_mac=$(mtd_get_mac_binary "ART" 0x1006)
185 ;;
186 asus,rt-ac58u)
187 wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
188 lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006)
189 label_mac=$wan_mac
190 ;;
191 cilab,meshpoint-one)
192 label_mac=$(mtd_get_mac_binary "ART" 0x1006)
193 ;;
194 devolo,magic-2-wifi-next)
195 lan_mac=$(mtd_get_mac_ascii APPSBLENV MacAddress0)
196 label_mac=$lan_mac
197 ;;
198 dlink,dap-2610)
199 lan_mac=$(mtd_get_mac_ascii bdcfg lanmac)
200 label_mac=$lan_mac
201 ;;
202 engenius,eap2200|\
203 engenius,emd1)
204 lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
205 label_mac=$lan_mac
206 ;;
207 engenius,emr3500)
208 wan_mac=$(mtd_get_mac_ascii 0:APPSBLENV wanaddr)
209 lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
210 label_mac=$wan_mac
211 ;;
212 engenius,ens620ext)
213 wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
214 lan_mac=$(macaddr_add "$wan_mac" 1)
215 ;;
216 ezviz,cs-w3-wd1200g-eup)
217 label_mac=$(mtd_get_mac_binary "ART" 0x6)
218 ;;
219 linksys,ea6350v3)
220 wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
221 lan_mac=$(macaddr_add "$wan_mac" 1)
222 ;;
223 mikrotik,cap-ac |\
224 mikrotik,hap-ac2|\
225 mikrotik,hap-ac3)
226 wan_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
227 lan_mac=$(macaddr_add $wan_mac 1)
228 label_mac="$wan_mac"
229 ;;
230 mikrotik,lhgg-60ad|\
231 mikrotik,sxtsq-5-ac)
232 lan_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
233 label_mac="$lan_mac"
234 ;;
235 pakedge,wr-1)
236 wan_mac=$(macaddr_add $(get_mac_label) 1)
237 ;;
238 esac
239
240 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
241 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
242 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
243 }
244
245 board_config_update
246 board=$(board_name)
247 ipq40xx_setup_interfaces $board
248 ipq40xx_setup_macs $board
249 board_config_flush
250
251 exit 0