mediatek: add support for OpenEmbed SOM7981
[openwrt/openwrt.git] / target / linux / mediatek / filogic / base-files / etc / hotplug.d / ieee80211 / 11_fix_wifi_mac
index f4d99eb148f7edf15b1b7f77829e1023579a2ee1..bd6e7759630ca0f7fd36c40f27d6e44df243e650 100644 (file)
@@ -16,6 +16,16 @@ case "$board" in
                [ "$PHYNBR" = "1" ] && cat $key_path/6gMAC > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "2" ] && cat $key_path/5gMAC > /sys${DEVPATH}/macaddress
                ;;
+       asus,rt-ax59u)
+               CI_UBIPART="UBI_DEV"
+               addr=$(mtd_get_mac_binary_ubi "Factory" 0x4)
+               # Originally, phy1 is phy0 mac with LA and 28th bits set. However, this would conflict
+               # addresses on multiple VIFs with the other radio when bit 28 is already set.
+               # Set LA and 28 bits and increment mac-address instead.
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_setbit_la $(macaddr_setbit $(macaddr_add $addr 1) 28) > \
+                       /sys${DEVPATH}/macaddress
+               ;;
        asus,tuf-ax4200|\
        asus,tuf-ax6000)
                CI_UBIPART="UBI_DEV"
@@ -27,9 +37,9 @@ case "$board" in
                [ "$PHYNBR" = "1" ] && echo "$addr" > /sys${DEVPATH}/macaddress
                ;;
        bananapi,bpi-r3)
-               addr=$(macaddr_add $(cat /sys/class/net/eth0/address) 2)
-               [ "$PHYNBR" = "0" ] && macaddr_unsetbit $addr 6 > /sys${DEVPATH}/macaddress
-               [ "$PHYNBR" = "1" ] && macaddr_setbit $addr 6 > /sys${DEVPATH}/macaddress
+               addr=$(cat /sys/class/net/eth0/address)
+               [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
                ;;
        cetron,ct3003)
                addr=$(mtd_get_mac_binary "art" 0)
@@ -47,6 +57,15 @@ case "$board" in
                esac
                [ "$PHYNBR" = "1" ] && echo "$addr" > /sys${DEVPATH}/macaddress
                ;;
+       comfast,cf-e393ax)
+               addr=$(mtd_get_mac_binary "Factory" 0x8000)
+               [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress
+               ;;
+       cudy,re3000-v1)
+               addr=$(mtd_get_mac_binary bdinfo 0xde00)
+               [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_add $addr 1) > /sys${DEVPATH}/macaddress
+               ;;
        cudy,wr3000-v1)
                addr=$(mtd_get_mac_binary bdinfo 0xde00)
                # Originally, phy0 is phy1 mac with LA bit set. However, this would conflict
@@ -55,7 +74,13 @@ case "$board" in
                [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_add $addr 1) > /sys${DEVPATH}/macaddress
                ;;
-       glinet,gl-mt6000)
+       dlink,aquila-pro-ai-m30-a1)
+               addr=$(mtd_get_mac_binary "Odm" 0x81)
+               [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
+               ;;
+       glinet,gl-mt6000|\
+       glinet,gl-x3000|\
+       glinet,gl-xe3000)
                addr=$(mmc_get_mac_binary factory 0x04)
                [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress
@@ -65,11 +90,15 @@ case "$board" in
                [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
                ;;
-       jcg,q30-pro)
+       jcg,q30-pro|\
+       netcore,n60)
                # Originally, phy1 is phy0 mac with LA bit set. However, this would conflict
                # addresses on multiple VIFs with the other radio. Use label mac to set LA bit.
                [ "$PHYNBR" = "1" ] && macaddr_setbit_la $(get_mac_label) > /sys${DEVPATH}/macaddress
                ;;
+       jdcloud,re-cp-03)
+               [ "$PHYNBR" = "1" ] && mmc_get_mac_binary factory 0xa > /sys${DEVPATH}/macaddress
+               ;;
        mercusys,mr90x-v1)
                addr=$(get_mac_binary "/tmp/tp_data/default-mac" 0)
                [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
@@ -80,11 +109,23 @@ case "$board" in
                [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
                ;;
+       openembed,som7981)
+               [ "$PHYNBR" = "1" ] && cat /sys/class/net/eth0/address > /sys${DEVPATH}/macaddress
+               ;;
        qihoo,360t7)
                addr=$(mtd_get_mac_ascii factory lanMac)
                [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
                ;;
+       smartrg,sdg-8612|\
+       smartrg,sdg-8614|\
+       smartrg,sdg-8622|\
+       smartrg,sdg-8632)
+               addr=$(mmc_get_mac_ascii mfginfo MFG_MAC)
+               [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "2" ] && macaddr_add $addr 4 > /sys${DEVPATH}/macaddress
+               ;;
        tplink,tl-xdr4288|\
        tplink,tl-xdr6086|\
        tplink,tl-xdr6088)
@@ -95,7 +136,9 @@ case "$board" in
                [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress
                ;;
+       routerich,ax3000|\
        zbtlink,zbt-z8102ax|\
+       zbtlink,zbt-z8103ax|\
        zyxel,ex5601-t0|\
        zyxel,ex5601-t0-ubootmod)
                addr=$(mtd_get_mac_binary "Factory" 0x4)