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