bcm53xx: add support for Meraki MR26
[openwrt/staging/nbd.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 linksys,panamera)
20 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 extsw" "wan"
21 ;;
22 luxul,xap-1610-v1)
23 ucidef_set_interface_lan "poe lan" "dhcp"
24 ;;
25 meraki,mr26 | \
26 meraki,mr32)
27 ucidef_set_interface_lan "poe" "dhcp"
28 ;;
29 phicomm,k3)
30 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
31 ;;
32 *)
33 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
34 ;;
35 esac
36 }
37
38 bcm53xx_setup_macs()
39 {
40 local board="$1"
41
42 wan_macaddr="$(nvram get wan_hwaddr)"
43
44 case "$board" in
45 asus,rt-ac87u)
46 etXmacaddr=$(nvram get et1macaddr)
47 offset=1
48 ;;
49 dlink,dir-885l | \
50 linksys,panamera | \
51 netgear,r7900 | \
52 netgear,r8000 | \
53 netgear,r8500)
54 etXmacaddr=$(nvram get et2macaddr)
55 offset=1
56 ;;
57 luxul,xwr-3100v1 | \
58 luxul,xwr-3150-v1)
59 etXmacaddr=$(nvram get et0macaddr)
60 offset=5
61 ;;
62 meraki,mr26)
63 label_mac="$(mtd_get_mac_binary_ubi board-config 0x66)"
64 ucidef_set_interface_macaddr "lan" "$label_mac"
65 ucidef_set_label_macaddr "$label_mac"
66 ;;
67 *)
68 etXmacaddr=$(nvram get et0macaddr)
69 offset=1
70 ;;
71 esac
72
73 # If WAN MAC isn't explicitly set, calculate it using base MAC as reference.
74 [ -z "$wan_macaddr" -a -n "$etXmacaddr" ] && wan_macaddr=$(macaddr_add "$etXmacaddr" $offset)
75
76 [ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr"
77 }
78
79 board_config_update
80 board=$(board_name)
81 bcm53xx_setup_interfaces "$board"
82 bcm53xx_setup_macs "$board"
83 board_config_flush
84
85 exit 0