ipq40xx: convert Cisco Meraki MR33 to DSA
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / base-files / lib / preinit / 05_set_iface_mac_ipq40xx.sh
1 . /lib/functions.sh
2
3 preinit_set_mac_address() {
4 local wan_mac
5 local lan14_mac
6 local lan_mac
7
8 case $(board_name) in
9 asus,map-ac2200)
10 base_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
11 ip link set dev eth0 address $(macaddr_add "$base_mac" +1)
12 ip link set dev eth1 address $(macaddr_add "$base_mac" +3)
13 ;;
14 ezviz,cs-w3-wd1200g-eup)
15 ip link set dev eth0 address $(mtd_get_mac_binary "ART" 0x6)
16 ip link set dev eth1 address $(mtd_get_mac_binary "ART" 0x0)
17 ;;
18 asus,rt-ac58u)
19 CI_UBIPART=UBI_DEV
20 wan_mac=$(mtd_get_mac_binary_ubi Factory 20486)
21 lan14_mac=$(mtd_get_mac_binary_ubi Factory 4102)
22 ;;
23 engenius,eap2200)
24 base_mac=$(cat /sys/class/net/eth0/address)
25 ip link set dev eth1 address $(macaddr_add "${base_mac}" +1)
26 ;;
27 linksys,ea8300)
28 base_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
29 ip link set dev eth0 address "${base_mac}"
30 ip link set dev eth1 address $(macaddr_add "${base_mac}" 1)
31 ;;
32 meraki,mr33)
33 lan_mac=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66)
34 ;;
35 zyxel,nbg6617)
36 base_mac=$(cat /sys/class/net/eth0/address)
37 ip link set dev eth0 address $(macaddr_add "$base_mac" +2)
38 ip link set dev eth1 address $(macaddr_add "$base_mac" +3)
39 esac
40
41 [ -n "$lan_mac" ] && ip link set dev lan address "$lan_mac"
42 [ -n "$wan_mac" ] && ip link set dev wan address "$wan_mac"
43 [ -n "$lan14_mac" ] && {
44 ip link set dev lan1 address "$lan14_mac"
45 ip link set dev lan2 address "$lan14_mac"
46 ip link set dev lan3 address "$lan14_mac"
47 ip link set dev lan4 address "$lan14_mac"
48 }
49 }
50
51 boot_hook_add preinit_main preinit_set_mac_address