ipq40xx: convert ASUS RT-AC58U to DSA
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / base-files / lib / preinit / 05_set_iface_mac_ipq40xx.sh
index 4d8113698efcefb72cf348030355874b4a902ecb..66c815ba19c7bef50c89f17e4b6b914d8601ec85 100644 (file)
@@ -1,6 +1,10 @@
 . /lib/functions.sh
 
 preinit_set_mac_address() {
+       local wan_mac
+       local lan14_mac
+       local lan_mac
+
        case $(board_name) in
        asus,map-ac2200)
                base_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
@@ -11,6 +15,11 @@ preinit_set_mac_address() {
                ip link set dev eth0 address $(mtd_get_mac_binary "ART" 0x6)
                ip link set dev eth1 address $(mtd_get_mac_binary "ART" 0x0)
                ;;
+       asus,rt-ac58u)
+               CI_UBIPART=UBI_DEV
+               wan_mac=$(mtd_get_mac_binary_ubi Factory 20486)
+               lan14_mac=$(mtd_get_mac_binary_ubi Factory 4102)
+               ;;
        engenius,eap2200)
                base_mac=$(cat /sys/class/net/eth0/address)
                ip link set dev eth1 address $(macaddr_add "${base_mac}" +1)
@@ -29,6 +38,15 @@ preinit_set_mac_address() {
                ip link set dev eth0 address $(macaddr_add "$base_mac" +2)
                ip link set dev eth1 address $(macaddr_add "$base_mac" +3)
        esac
+
+       [ -n "$lan_mac" ] && ip link set dev lan address "$lan_mac"
+       [ -n "$wan_mac" ] && ip link set dev wan address "$wan_mac"
+       [ -n "$lan14_mac" ] && {
+               ip link set dev lan1 address "$lan14_mac"
+               ip link set dev lan2 address "$lan14_mac"
+               ip link set dev lan3 address "$lan14_mac"
+               ip link set dev lan4 address "$lan14_mac"
+       }
 }
 
 boot_hook_add preinit_main preinit_set_mac_address