bcm53xx: Linksys EA9200 nvram and 02_network fixes
[openwrt/openwrt.git] / target / linux / bcm53xx / base-files / etc / board.d / 02_network
1 #
2 # Copyright (C) 2011 OpenWrt.org
3 #
4
5 . /lib/functions/system.sh
6 . /lib/functions/uci-defaults.sh
7
8 bcm53xx_setup_interfaces()
9 {
10 local board="$1"
11
12 case "$board" in
13 asus,rt-ac87u)
14 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
15 ;;
16 asus,rt-ac88u)
17 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 extsw" "wan"
18 ;;
19 dlink,dwl-8610ap)
20 ucidef_set_interface_lan "eth0 eth1" "dhcp"
21 ;;
22 linksys,panamera)
23 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 extsw" "wan"
24 ;;
25 luxul,xap-1610-v1)
26 ucidef_set_interface_lan "poe lan" "dhcp"
27 ;;
28 meraki,mr26 | \
29 meraki,mr32)
30 ucidef_set_interface_lan "poe" "dhcp"
31 ;;
32 phicomm,k3)
33 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
34 ;;
35 *)
36 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
37 ;;
38 esac
39 }
40
41 bcm53xx_setup_macs()
42 {
43 local board="$1"
44
45 wan_macaddr="$(nvram get wan_hwaddr)"
46
47 case "$board" in
48 asus,rt-ac87u)
49 etXmacaddr=$(nvram get et1macaddr)
50 offset=1
51 ;;
52 dlink,dir-885l | \
53 linksys,ea9200 | \
54 linksys,panamera | \
55 netgear,r7900 | \
56 netgear,r8000 | \
57 netgear,r8500)
58 etXmacaddr=$(nvram get et2macaddr)
59 offset=1
60 ;;
61 luxul,xwr-3100-v1 | \
62 luxul,xwr-3150-v1)
63 etXmacaddr=$(nvram get et0macaddr)
64 offset=5
65 ;;
66 meraki,mr26)
67 label_mac="$(mtd_get_mac_binary_ubi board-config 0x66)"
68 ucidef_set_interface_macaddr "lan" "$label_mac"
69 ucidef_set_label_macaddr "$label_mac"
70 ;;
71 *)
72 etXmacaddr=$(nvram get et0macaddr)
73 offset=1
74 ;;
75 esac
76
77 # If WAN MAC isn't explicitly set, calculate it using base MAC as reference.
78 [ -z "$wan_macaddr" -a -n "$etXmacaddr" ] && wan_macaddr=$(macaddr_add "$etXmacaddr" $offset)
79
80 [ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr"
81 }
82
83 board_config_update
84 board=$(board_name)
85 bcm53xx_setup_interfaces "$board"
86 bcm53xx_setup_macs "$board"
87 board_config_flush
88
89 exit 0