ath79: add support for MikroTik RouterBOARD hAP ac lite
[openwrt/staging/pepe2k.git] / target / linux / ath79 / mikrotik / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions/system.sh
4 . /lib/functions/uci-defaults.sh
5
6 ath79_setup_interfaces()
7 {
8 local board="$1"
9
10 case "$board" in
11 mikrotik,routerboard-493g)
12 ucidef_set_interfaces_lan_wan "eth0.1 eth1.1" "eth0.2"
13 ucidef_add_switch "switch0" \
14 "0@eth0" "1:lan:4" "2:lan:1" "3:lan:3" "4:lan:2" "5:wan"
15 ucidef_add_switch "switch1" \
16 "0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
17 ;;
18 mikrotik,routerboard-912uag-2hpnd|\
19 mikrotik,routerboard-921gs-5hpacd-15s|\
20 mikrotik,routerboard-lhg-2nd|\
21 mikrotik,routerboard-mapl-2nd|\
22 mikrotik,routerboard-sxt-5nd-r2|\
23 mikrotik,routerboard-wap-g-5hact2hnd|\
24 mikrotik,routerboard-wapr-2nd)
25 ucidef_set_interface_lan "eth0"
26 ;;
27 mikrotik,routerboard-952ui-5ac2nd)
28 ucidef_set_interface_wan "eth1"
29 ucidef_add_switch "switch0" \
30 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
31 ;;
32 *)
33 ucidef_set_interfaces_lan_wan "eth0" "eth1"
34 ;;
35 esac
36 }
37
38 ath79_setup_macs()
39 {
40 local board="$1"
41 local lan_mac=""
42 local wan_mac=""
43 local label_mac=""
44 local mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
45
46 case "$board" in
47 mikrotik,routerboard-912uag-2hpnd|\
48 mikrotik,routerboard-921gs-5hpacd-15s|\
49 mikrotik,routerboard-lhg-2nd|\
50 mikrotik,routerboard-mapl-2nd|\
51 mikrotik,routerboard-sxt-5nd-r2|\
52 mikrotik,routerboard-wap-g-5hact2hnd|\
53 mikrotik,routerboard-wapr-2nd)
54 label_mac="$mac_base"
55 lan_mac="$mac_base"
56 ;;
57 mikrotik,routerboard-922uags-5hpacd)
58 label_mac="$mac_base"
59 lan_mac="$mac_base"
60 wan_mac=$(macaddr_add $mac_base 1)
61 ;;
62 *)
63 label_mac="$mac_base"
64 wan_mac="$mac_base"
65 lan_mac=$(macaddr_add $mac_base 1)
66 ;;
67 esac
68
69 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
70 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
71 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
72 }
73
74 board_config_update
75 board=$(board_name)
76 ath79_setup_interfaces $board
77 ath79_setup_macs $board
78 board_config_flush
79
80 exit 0