ramips: mt7621: add support for NETGEAR WAC104
[oweals/openwrt.git] / target / linux / ramips / mt7621 / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions.sh
4 . /lib/functions/uci-defaults.sh
5 . /lib/functions/system.sh
6
7 ramips_setup_interfaces()
8 {
9         local board="$1"
10
11         case $board in
12         asiarf,ap7621-001)
13                 ucidef_set_interfaces_lan_wan "lan" "wan"
14                 ;;
15         asiarf,ap7621-nv1|\
16         lenovo,newifi-d1|\
17         mikrotik,routerboard-m33g|\
18         xiaomi,mir3g|\
19         xiaomi,mir3g-v2)
20                 ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
21                 ;;
22         gehua,ghl-r-001|\
23         hiwifi,hc5962|\
24         xiaomi,mir3p|\
25         xiaomi,redmi-router-ac2100)
26                 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
27                 ;;
28         gnubee,gb-pc1|\
29         gnubee,gb-pc2)
30                 ucidef_set_interface_lan "lan1 lan2"
31                 ;;
32         linksys,re6500|\
33         netgear,wac104)
34                 ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
35                 ;;
36         mikrotik,routerboard-m11g|\
37         netgear,ex6150|\
38         thunder,timecloud|\
39         tplink,re350-v1|\
40         tplink,re650-v1|\
41         ubnt,unifi-nanohd)
42                 ucidef_set_interface_lan "lan"
43                 ;;
44         mikrotik,routerboard-750gr3)
45                 ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
46                 ;;
47         ubnt,edgerouter-x)
48                 ucidef_set_interface_lan_wan "eth1 eth2 eth3 eth4" "eth0"
49                 ;;
50         ubnt,edgerouter-x-sfp)
51                 ucidef_set_interface_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
52                 ;;
53         *)
54                 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
55                 ;;
56         esac
57 }
58
59 ramips_setup_macs()
60 {
61         local board="$1"
62         local lan_mac=""
63         local wan_mac=""
64         local label_mac=""
65
66         case $board in
67         asus,rt-ac65p|\
68         asus,rt-ac85p)
69                 wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
70                 label_mac=$(mtd_get_mac_binary factory 0x4)
71                 ;;
72         buffalo,wsr-1166dhp)
73                 local index="$(find_mtd_index "board_data")"
74                 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
75                 lan_mac=$wan_mac
76                 ;;
77         dlink,dir-860l-b1)
78                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
79                 wan_mac=$(mtd_get_mac_ascii factory wanmac)
80                 ;;
81         edimax,ra21s|\
82         edimax,rg21s)
83                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
84                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
85                 ;;
86         hiwifi,hc5962)
87                 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
88                 label_mac=$lan_mac
89                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
90                 wan_mac=$(macaddr_add "$lan_mac" 1)
91                 ;;
92         iodata,wnpr2600g)
93                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
94                 label_mac=$wan_mac
95                 ;;
96         linksys,ea7500-v2)
97                 lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
98                 wan_mac=$lan_mac
99                 label_mac=$lan_mac
100                 ;;
101         mikrotik,routerboard-750gr3|\
102         mikrotik,routerboard-m11g|\
103         mikrotik,routerboard-m33g)
104                 label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
105                 wan_mac=$label_mac
106                 lan_mac=$(macaddr_add $label_mac 1)
107                 ;;
108         zbtlink,zbt-we1326|\
109         zbtlink,zbt-wg3526-16m|\
110         zbtlink,zbt-wg3526-32m)
111                 label_mac=$(mtd_get_mac_binary factory 0x4)
112                 ;;
113         esac
114
115         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
116         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
117         [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
118 }
119
120 board_config_update
121 board=$(board_name)
122 ramips_setup_interfaces $board
123 ramips_setup_macs $board
124 board_config_flush
125
126 exit 0