summaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx/base-files/etc/board.d/02_network
blob: 59a2be0fe630523d41696224ab48a51a707e3906 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/sh
#
# Copyright (c) 2015 The Linux Foundation. All rights reserved.
# Copyright (c) 2011-2015 OpenWrt.org
#

. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh

ipq40xx_setup_interfaces()
{
	local board="$1"

	case "$board" in
	8dev,jalapeno|\
	alfa-network,ap120c-ac|\
	engenius,ens620ext)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		;;
	aruba,ap-303h)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "0u@eth1" "5:wan"
		;;
	asus,map-ac2200|\
	cilab,meshpoint-one|\
	openmesh,a42|\
	openmesh,a62)
		ucidef_set_interfaces_lan_wan "eth1" "eth0"
		;;
	asus,rt-ac58u|\
	zyxel,nbg6617)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
		;;
	avm,fritzbox-4040|\
	linksys,ea6350v3|\
	linksys,ea8300)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
		;;
	avm,fritzbox-7530)
		ucidef_add_switch "switch0" \
			"0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
		;;
	aruba,ap-303|\
	avm,fritzrepeater-1200|\
	engenius,eap1300|\
	meraki,mr33|\
	netgear,ex6100v2|\
	netgear,ex6150v2|\
	zyxel,wre6606)
		ucidef_set_interface_lan "eth0"
		;;
	avm,fritzrepeater-3000|\
	compex,wpj419|\
	compex,wpj428)
		ucidef_set_interface_lan "eth0 eth1"
		;;
	ezviz,cs-w3-wd1200g-eup)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "0u@eth1" "5:wan"
		;;
	glinet,gl-b1300)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "3:lan" "4:lan"
		;;
	qxwlan,e2600ac-c1 |\
	qxwlan,e2600ac-c2)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "3:lan" "4:lan" "0u@eth1" "5:wan"
		;;
	unielec,u4019-32m)
		ucidef_set_interfaces_lan_wan "eth0" "eth1"
		ucidef_add_switch "switch0" \
			"0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "0u@eth1" "5:wan"
		;;
	*)
		echo "Unsupported hardware. Network interfaces not initialized"
		;;
	esac
}

ipq40xx_setup_macs()
{
	local board="$1"
	local lan_mac=""
	local wan_mac=""
	local label_mac=""

	case "$board" in
	asus,rt-ac58u)
		CI_UBIPART=UBI_DEV
		wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
		lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006)
		label_mac=$wan_mac
		;;
	cilab,meshpoint-one)
		label_mac=$(mtd_get_mac_binary "ART" 0x1006)
		;;
	engenius,ens620ext)
		wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
		lan_mac=$(macaddr_add "$wan_mac" 1)
		;;
	ezviz,cs-w3-wd1200g-eup)
		label_mac=$(mtd_get_mac_binary "ART" 0x6)
		;;
	linksys,ea6350v3)
		wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
		lan_mac=$(macaddr_add "$wan_mac" 1)
		;;
	esac

	[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
	[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
	[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
}

board_config_update
board=$(board_name)
ipq40xx_setup_interfaces $board
ipq40xx_setup_macs $board
board_config_flush

exit 0