ipq40xx: add support for EnGenius EAP2200
[oweals/openwrt.git] / target / linux / ipq40xx / base-files / etc / board.d / 02_network
1 #!/bin/sh
2 #
3 # Copyright (c) 2015 The Linux Foundation. All rights reserved.
4 # Copyright (c) 2011-2015 OpenWrt.org
5 #
6
7 . /lib/functions/uci-defaults.sh
8 . /lib/functions/system.sh
9
10 ipq40xx_setup_interfaces()
11 {
12         local board="$1"
13
14         case "$board" in
15         8dev,jalapeno|\
16         alfa-network,ap120c-ac|\
17         engenius,ens620ext)
18                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
19                 ;;
20         aruba,ap-303h)
21                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
22                 ucidef_add_switch "switch0" \
23                         "0u@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "0u@eth1" "5:wan"
24                 ;;
25         asus,map-ac2200|\
26         cilab,meshpoint-one|\
27         openmesh,a42|\
28         openmesh,a62)
29                 ucidef_set_interfaces_lan_wan "eth1" "eth0"
30                 ;;
31         asus,rt-ac58u|\
32         zyxel,nbg6617)
33                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
34                 ucidef_add_switch "switch0" \
35                         "0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
36                 ;;
37         avm,fritzbox-4040|\
38         linksys,ea6350v3|\
39         linksys,ea8300)
40                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
41                 ucidef_add_switch "switch0" \
42                         "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
43                 ;;
44         avm,fritzbox-7530)
45                 ucidef_add_switch "switch0" \
46                         "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
47                 ;;
48         aruba,ap-303|\
49         avm,fritzrepeater-1200|\
50         dlink,dap-2610 |\
51         engenius,eap1300|\
52         engenius,emd1|\
53         meraki,mr33|\
54         netgear,ex6100v2|\
55         netgear,ex6150v2|\
56         zyxel,wre6606)
57                 ucidef_set_interface_lan "eth0"
58                 ;;
59         avm,fritzrepeater-3000|\
60         compex,wpj419|\
61         compex,wpj428|\
62         engenius,eap2200)
63                 ucidef_set_interface_lan "eth0 eth1"
64                 ;;
65         ezviz,cs-w3-wd1200g-eup)
66                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
67                 ucidef_add_switch "switch0" \
68                         "0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "0u@eth1" "5:wan"
69                 ;;
70         glinet,gl-b1300)
71                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
72                 ucidef_add_switch "switch0" \
73                         "0u@eth0" "3:lan" "4:lan"
74                 ;;
75         qxwlan,e2600ac-c1 |\
76         qxwlan,e2600ac-c2)
77                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
78                 ucidef_add_switch "switch0" \
79                         "0u@eth0" "3:lan" "4:lan" "0u@eth1" "5:wan"
80                 ;;
81         unielec,u4019-32m)
82                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
83                 ucidef_add_switch "switch0" \
84                         "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "0u@eth1" "5:wan"
85                 ;;
86         *)
87                 echo "Unsupported hardware. Network interfaces not initialized"
88                 ;;
89         esac
90 }
91
92 ipq40xx_setup_macs()
93 {
94         local board="$1"
95         local lan_mac=""
96         local wan_mac=""
97         local label_mac=""
98
99         case "$board" in
100         asus,rt-ac58u)
101                 CI_UBIPART=UBI_DEV
102                 wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
103                 lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006)
104                 label_mac=$wan_mac
105                 ;;
106         cilab,meshpoint-one)
107                 label_mac=$(mtd_get_mac_binary "ART" 0x1006)
108                 ;;
109         dlink,dap-2610)
110                 lan_mac=$(mtd_get_mac_ascii bdcfg lanmac)
111                 label_mac=$lan_mac
112                 ;;
113         engenius,eap220|\
114         engenius,emd1)
115                 lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
116                 label_mac=$lan_mac
117                 ;;
118         engenius,ens620ext)
119                 wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
120                 lan_mac=$(macaddr_add "$wan_mac" 1)
121                 ;;
122         ezviz,cs-w3-wd1200g-eup)
123                 label_mac=$(mtd_get_mac_binary "ART" 0x6)
124                 ;;
125         linksys,ea6350v3)
126                 wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
127                 lan_mac=$(macaddr_add "$wan_mac" 1)
128                 ;;
129         esac
130
131         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
132         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
133         [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
134 }
135
136 board_config_update
137 board=$(board_name)
138 ipq40xx_setup_interfaces $board
139 ipq40xx_setup_macs $board
140 board_config_flush
141
142 exit 0