790fae58c9396a32d8dc0c3d1914af1c96e06d19
[oweals/openwrt.git] / target / linux / lantiq / xrx200 / base-files / etc / board.d / 02_network
1 #!/bin/sh
2 #
3 # Copyright (C) 2011-2015 OpenWrt.org
4 #
5
6 . /lib/functions/uci-defaults.sh
7 . /lib/functions/system.sh
8 . /lib/functions/lantiq.sh
9
10 lantiq_setup_interfaces()
11 {
12         local board="$1"
13
14         case "$board" in
15         alphanetworks,asl56026)
16                 ucidef_add_switch "switch0" \
17                         "2:lan" "3:lan" "6t@eth0"
18                 ;;
19         arcadyan,arv7519rw22)
20                 ucidef_add_switch "switch0" \
21                         "0:lan:5" "2:lan:3" "3:lan:4" "4:lan:1" "5:lan:2" "6t@eth0"
22                 ;;
23         arcadyan,vg3503j)
24                 ucidef_add_switch "switch0" \
25                         "2:lan:2" "4:lan:1" "6t@eth0"
26                 ;;
27         arcadyan,vgv7510kw22-brn|\
28         arcadyan,vgv7510kw22-nor)
29                 ucidef_add_switch "switch0" \
30                         "2:lan:2" "3:lan:1" "4:lan:4" "5:lan:3" "0:wan:5" "6t@eth0"
31                 ;;
32         arcadyan,vgv7519-brn|\
33         arcadyan,vgv7519-nor|\
34         lantiq,easy80920-nand|\
35         lantiq,easy80920-nor)
36                 ucidef_add_switch "switch0" \
37                         "0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
38                 ;;
39         avm,fritz3370-rev2-hynix|\
40         avm,fritz3370-rev2-micron|\
41         avm,fritz7360sl|\
42         avm,fritz7360v2|\
43         avm,fritz7362sl)
44                 ucidef_add_switch "switch0" \
45                         "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
46                 ;;
47         bt,homehub-v5a)
48                 ucidef_add_switch "switch0" \
49                         "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
50                 ;;
51         buffalo,wbmr-300hpd)
52                 ucidef_add_switch "switch0" \
53                         "5:lan:2" "2:lan:3" "3:lan:4" "4:wan:1" "6t@eth0"
54                 ;;
55         tplink,tdw8970|\
56         tplink,tdw8980)
57                 ucidef_add_switch "switch0" \
58                         "0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
59                 ;;
60         tplink,vr200|\
61         tplink,vr200v)
62                 ucidef_add_switch "switch0" \
63                         "0:lan" "2:lan" "4:lan" "5:lan" "6t@eth0"
64                 ;;
65         zyxel,p-2812hnu-f1|\
66         zyxel,p-2812hnu-f3)
67                 ucidef_add_switch "switch0" \
68                         "0:lan" "1:lan" "2:lan" "4:lan" "5:wan" "6t@eth0"
69                 ;;
70         *)
71                 ucidef_set_interface_lan 'eth0'
72                 ;;
73         esac
74 }
75
76 lantiq_setup_dsl()
77 {
78         local board="$1"
79         local annex="a"
80
81         case "$board" in
82         arcadyan,vgv7510kw22-brn|\
83         arcadyan,vgv7510kw22-nor|\
84         avm,fritz3370-rev2-hynix|\
85         avm,fritz3370-rev2-micron|\
86         avm,fritz7360sl|\
87         avm,fritz7362sl|\
88         avm,fritz7412)
89                 annex="b"
90                 ;;
91         esac
92
93         lantiq_setup_dsl_helper "$annex"
94 }
95
96 lantiq_setup_macs()
97 {
98         local board="$1"
99         local lan_mac=""
100         local wan_mac=""
101
102         case "$board" in
103         alphanetworks,asl56026)
104                 lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
105                 wan_mac=$(mtd_get_mac_ascii uboot_env wanmac)
106                 ;;
107         arcadyan,arv7519rw22)
108                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 0x16)" 1)
109                 ;;
110         arcadyan,vg3503j|\
111         lantiq,easy80920-nand|\
112         lantiq,easy80920-nor|\
113         zyxel,p-2812hnu-f1|\
114         zyxel,p-2812hnu-f3)
115                 lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
116                 wan_mac=$(macaddr_add "$lan_mac" 1)
117                 ;;
118         arcadyan,vgv7510kw22-brn|\
119         arcadyan,vgv7510kw22-nor)
120                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 0x16)" 2)
121                 ;;
122         arcadyan,vgv7519-brn|\
123         arcadyan,vgv7519-nor)
124                 wan_mac=$(mtd_get_mac_binary board_config 0x16)
125                 ;;
126         avm,fritz3370-rev2-hynix|\
127         avm,fritz3370-rev2-micron)
128                 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
129                 wan_mac=$(macaddr_add "$lan_mac" 3)
130                 ;;
131         avm,fritz7360sl)
132                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 0xa91)" 1)
133                 ;;
134         avm,fritz7362sl)
135                 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
136                 wan_mac=$(fritz_tffs -n macdsl -i $(find_mtd_part "tffs (1)"))
137                 ;;
138         avm,fritz7412)
139                 tffsdev=$(find_mtd_chardev "nand-tffs")
140                 lan_mac=$(/usr/bin/fritz_tffs_nand -d $tffsdev -n maca -o)
141                 wan_mac=$(/usr/bin/fritz_tffs_nand -d $tffsdev -n macdsl -o)
142                 ;;
143         bt,homehub-v5a)
144                 lan_mac=$(mtd_get_mac_binary_ubi caldata 0x110c)
145                 wan_mac=$(macaddr_add "$lan_mac" 1)
146                 ;;
147         buffalo,wbmr-300hpd)
148                 lan_mac=$(mtd_get_mac_ascii ubootconfig ethaddr)
149                 wan_mac="$lan_mac"
150                 ;;
151         netgear,dm200)
152                 lan_mac=$(mtd_get_mac_binary ART 0x0)
153                 wan_mac=$(macaddr_add "$lan_mac" 1)
154                 ;;
155         tplink,tdw8970|\
156         tplink,tdw8980)
157                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 0xf100)" 1)
158                 ;;
159         tplink,vr200|\
160         tplink,vr200v)
161                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 0xf100)" 1)
162                 ;;
163         esac
164
165         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
166         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
167 }
168
169 board_config_update
170 board=$(board_name)
171 lantiq_setup_interfaces $board
172 lantiq_setup_dsl $board
173 lantiq_setup_macs $board
174 board_config_flush
175
176 exit 0