ath79: add support for Buffalo BHR-4GRV
[openwrt/staging/jogo.git] / target / linux / ath79 / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions/system.sh
4 . /lib/functions/uci-defaults.sh
5 . /lib/functions/k2t.sh
6
7 ath79_setup_interfaces()
8 {
9 local board="$1"
10
11 case "$board" in
12 avm,fritz300e|\
13 ocedo,koala|\
14 ocedo,raccoon|\
15 pcs,cap324|\
16 pisen,wmm003n|\
17 tplink,re450-v2|\
18 tplink,tl-mr10u|\
19 tplink,tl-mr3020-v1|\
20 tplink,tl-mr3040-v2|\
21 tplink,tl-wr703n|\
22 ubnt,bullet-m|\
23 ubnt,rocket-m|\
24 ubnt,unifiac-lite|\
25 ubnt,unifiac-mesh|\
26 ubnt,unifi|\
27 wd,mynet-wifi-rangeextender)
28 ucidef_set_interface_lan "eth0"
29 ;;
30 buffalo,bhr-4grv|\
31 buffalo,wzr-hp-g450h)
32 ucidef_add_switch "switch0" \
33 "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
34 ;;
35 buffalo,bhr-4grv2)
36 ucidef_add_switch "switch0" \
37 "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
38 ;;
39 buffalo,wzr-hp-ag300h)
40 ucidef_set_interface_wan "eth1"
41 ucidef_add_switch "switch0" \
42 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
43 ;;
44 dlink,dir-825-b1)
45 ucidef_set_interface_wan "eth1"
46 ucidef_add_switch "switch0" \
47 "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
48 ;;
49 elecom,wrc-300ghbk2-i)
50 ucidef_add_switch "switch0" \
51 "0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
52 ;;
53 embeddedwireless,dorin)
54 ucidef_add_switch "switch0" \
55 "0@eth0" "1:wan" "2:lan:3" "3:lan:2"
56 ;;
57 etactica,eg200)
58 ucidef_set_interface_lan "eth0" "dhcp"
59 ;;
60 avm,fritz4020|\
61 glinet,ar150|\
62 glinet,ar300m)
63 ucidef_set_interfaces_lan_wan "eth1" "eth0"
64 ;;
65 iodata,etg3-r|\
66 iodata,wn-ac1167dgr|\
67 iodata,wn-ac1600dgr2|\
68 pcs,cr5000)
69 ucidef_add_switch "switch0" \
70 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
71 ;;
72 netgear,wndr3700|\
73 netgear,wndr3700v2|\
74 netgear,wndr3800)
75 ucidef_set_interfaces_lan_wan "eth0" "eth1"
76 ucidef_add_switch "switch0" \
77 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
78 ucidef_add_switch_attr "switch0" "blinkrate" 2
79 ucidef_add_switch_port_attr "switch0" 1 led 6
80 ucidef_add_switch_port_attr "switch0" 2 led 9
81 ucidef_add_switch_port_attr "switch0" 5 led 2
82 ;;
83 netgear,wnr612-v2|\
84 on,n150r)
85 ucidef_set_interface_wan "eth0"
86 ucidef_add_switch "switch0" \
87 "0@eth1" "1:lan" "2:lan" "3:lan:3" "4:lan:4"
88 ;;
89 pcs,cr3000)
90 ucidef_add_switch "switch0" \
91 "0@eth1" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
92 ucidef_set_interface_wan "eth0"
93 ;;
94 phicomm,k2t)
95 ucidef_add_switch "switch0" \
96 "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
97 ;;
98 tplink,archer-c7-v1|\
99 tplink,archer-c7-v2|\
100 tplink,tl-wdr4900-v2)
101 ucidef_add_switch "switch0" \
102 "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
103 ;;
104 buffalo,whr-g301n|\
105 tplink,tl-mr3220-v1|\
106 tplink,tl-mr3420-v1|\
107 tplink,tl-wr841-v7)
108 ucidef_set_interface_wan "eth0"
109 ucidef_add_switch "switch0" \
110 "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
111 ;;
112 tplink,tl-wdr3600|\
113 tplink,tl-wdr4300)
114 ucidef_add_switch "switch0" \
115 "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
116 ;;
117 tplink,tl-wr1043nd-v1)
118 ucidef_add_switch "switch0" \
119 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
120 ;;
121 tplink,tl-wr1043nd-v2|\
122 tplink,tl-wr1043nd-v3)
123 ucidef_add_switch "switch0" \
124 "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
125 ;;
126 tplink,tl-wr1043nd-v4)
127 ucidef_add_switch "switch0" \
128 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
129 ;;
130 tplink,tl-wr2543-v1)
131 ucidef_add_switch "switch0" \
132 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
133 ;;
134 tplink,tl-wr740n-v1|\
135 tplink,tl-wr740n-v3|\
136 tplink,tl-wr741-v1|\
137 tplink,tl-wr743nd-v1|\
138 tplink,tl-wr841-v5|\
139 tplink,tl-wr941-v4)
140 ucidef_set_interface_wan "eth0"
141 ucidef_add_switch "switch0" \
142 "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
143 ;;
144 tplink,tl-wr740nd-v4|\
145 tplink,tl-wr741nd-v4|\
146 tplink,tl-wr841-v9|\
147 tplink,tl-wr841-v11)
148 ucidef_set_interface_wan "eth0"
149 ucidef_add_switch "switch0" \
150 "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
151 ;;
152 tplink,tl-wr941-v2)
153 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
154 ;;
155 ubnt,routerstation)
156 ucidef_set_interfaces_lan_wan "eth1" "eth0"
157 ;;
158 ubnt,routerstation-pro)
159 ucidef_set_interface_wan "eth0"
160 ucidef_add_switch "switch0" \
161 "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
162 ;;
163 ubnt,unifiac-mesh-pro|\
164 ubnt,unifiac-pro)
165 ucidef_add_switch "switch0" \
166 "0@eth0" "2:lan" "3:wan"
167 ;;
168 *)
169 ucidef_set_interfaces_lan_wan "eth0" "eth1"
170 ;;
171 esac
172 }
173
174 ath79_setup_macs()
175 {
176 local board="$1"
177
178 case "$board" in
179 avm,fritz300e)
180 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
181 ;;
182 avm,fritz4020)
183 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
184 wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
185 ;;
186 dlink,dir-825-b1)
187 lan_mac=$(mtd_get_mac_text "caldata" 65440)
188 wan_mac=$(mtd_get_mac_text "caldata" 65460)
189 ;;
190 elecom,wrc-300ghbk2-i)
191 wan_mac=$(macaddr_add "$(mtd_get_mac_binary ART 4098)" -2)
192 ;;
193 iodata,etg3-r)
194 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
195 wan_mac=$(macaddr_add "$lan_mac" -1)
196 ;;
197 iodata,wn-ac1167dgr|\
198 iodata,wn-ac1600dgr2)
199 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
200 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
201 ;;
202 netgear,wndr3700|\
203 netgear,wndr3700v2|\
204 netgear,wndr3800)
205 lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0)")
206 ;;
207 phicomm,k2t)
208 lan_mac=$(k2t_get_mac "lan_mac")
209 wan_mac=$(k2t_get_mac "wan_mac")
210 ;;
211 tplink,tl-wr1043nd-v4)
212 base_mac=$(mtd_get_mac_binary product-info 8)
213 wan_mac=$(macaddr_add "$base_mac" 1)
214 ;;
215 tplink,tl-wr941-v2)
216 base_mac=$(mtd_get_mac_binary u-boot 130048)
217 wan_mac=$(macaddr_add "$base_mac" 1)
218 ;;
219 ubnt,routerstation|\
220 ubnt,routerstation-pro)
221 wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
222 lan_mac=$(macaddr_add "$wan_mac" 1)
223 ;;
224 wd,mynet-wifi-rangeextender)
225 lan_mac=$(nvram get et0macaddr)
226 ;;
227 esac
228
229 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
230 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
231 }
232
233 board_config_update
234 board=$(board_name)
235 ath79_setup_interfaces $board
236 ath79_setup_macs $board
237 board_config_flush
238
239 exit 0