ramips: add support for D-Link COVR-X1860 A1
[openwrt/openwrt.git] / target / linux / ramips / mt7621 / base-files / etc / hotplug.d / ieee80211 / 10_fix_wifi_mac
index e05078648bd52ff9d51dbbe2623c3abf07f2383e..b6cf9052df1c65388721db2ab5ea8223b78c8468 100644 (file)
@@ -10,9 +10,195 @@ PHYNBR=${DEVPATH##*/phy}
 board=$(board_name)
 
 case "$board" in
-       linksys,ea7500-v2)
+       arcadyan,we420223-99)
+               if [ "$PHYNBR" = "0" ]; then
+                       mac24=$(macaddr_add "$(get_mac_label)" "0xf00001")
+                       echo -n "$mac24" > /sys${DEVPATH}/macaddress
+               elif [ "$PHYNBR" = "1" ]; then
+                       mac5=$(macaddr_add "$(get_mac_label)" 1)
+                       echo -n "$mac5" > /sys${DEVPATH}/macaddress
+               fi
+               ;;
+       beeline,smartbox-flash)
+               hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
+               [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
+               hw_mac_addr=$(macaddr_setbit   $hw_mac_addr 26)
+               hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 27)
+               hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
+               [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
+               ;;
+       comfast,cf-e390ax)
+               [ "$PHYNBR" = "0" ] && echo -n "$(mtd_get_mac_binary factory 0x0004)" > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && echo -n "$(mtd_get_mac_binary factory 0x8004)" > /sys${DEVPATH}/macaddress
+               ;;
+       cudy,x6-v1|\
+       cudy,x6-v2)
+               hw_mac_addr="$(mtd_get_mac_binary bdinfo 0xde00)"
+               [ "$PHYNBR" = "1" ] && \
+               macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
+               ;;
+       dlink,dap-1620-b1|\
+       dlink,dir-853-a1|\
+       dlink,dra-1360-a1)
+               lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
+               [ "$PHYNBR" = "0" ] && \
+                       macaddr_add $lan_mac_addr 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
+               ;;
+       dlink,covr-x1860-a1)
+               label_mac=$(mtd_get_mac_ascii config2 factory_mac)
+               [ "$PHYNBR" = "0" ] && \
+                       macaddr_add $label_mac 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_add $label_mac 2 > /sys${DEVPATH}/macaddress
+               ;;
+       dlink,dap-x1860-a1)
+               hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
+               [ "$PHYNBR" = "0" ] && \
+                       macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
+               ;;
+       dlink,dir-853-a3)
+               [ "$PHYNBR" = "0" ] && \
+                       macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
+                               > /sys${DEVPATH}/macaddress
+               ;;
+       dlink,dir-853-r1|\
+       phicomm,k2p)
+               if [ "$PHYNBR" = "0" ]; then
+                       base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
+                       macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
+               fi
+               ;;
+       glinet,gl-mt1300)
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
+               ;;
+       h3c,tx1800-plus|\
+       h3c,tx1801-plus|\
+       h3c,tx1806)
+               addr=$(macaddr_setbit $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 7)
+               [ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress
+               ;;
+       haier,har-20s2u1|\
+       jcg,y2|\
+       sim,simax1800t)
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
+               ;;
+       hiwifi,hc5962)
+               label_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
+               [ "$PHYNBR" = "0" ] && [ -n "$label_mac" ] && \
+               echo -n "$label_mac" > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && [ -n "$label_mac" ] && \
+               macaddr_unsetbit "$label_mac" 6 > /sys${DEVPATH}/macaddress
+               ;;
+       iptime,a3002mesh|\
+       iptime,a3004t)
+               hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
+               [ "$PHYNBR" = "0" ] && \
+                       macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
+               ;;
+       iptime,ax2004m)
+               if [ "$PHYNBR" = "1" ]; then
+                       hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
+                       macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
+               fi
+               ;;
+       jcg,q20)
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
+               ;;
+       linksys,e5600|\
+       linksys,ea6350-v4|\
+       linksys,ea7300-v1|\
+       linksys,ea7300-v2|\
+       linksys,ea7500-v2|\
+       linksys,ea8100-v1|\
+       linksys,ea8100-v2)
                hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
                [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
                [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
                ;;
+       belkin,rt1800|\
+       linksys,e7350)
+               hw_mac_addr=$(mtd_get_mac_ascii Config wan_hwaddr)
+               [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
+               ;;
+       netgear,eax12)
+               hw_mac_addr=$(mtd_get_mac_ascii Config mac)
+               [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
+               ;;
+       netgear,wax202)
+               hw_mac_addr=$(mtd_get_mac_ascii Config mac)
+               [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
+               ;;
+       mercusys,mr70x-v1|\
+       tplink,archer-ax23-v1)
+               hw_mac_addr="$(mtd_get_mac_binary config 0x8)"
+               [ "$PHYNBR" = "1" ] &&  macaddr_add "$hw_mac_addr" -1 > "/sys${DEVPATH}/macaddress"
+               ;;
+       mts,wg430223)
+               hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
+               [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
+               hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 26)
+               hw_mac_addr=$(macaddr_setbit   $hw_mac_addr 27)
+               hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
+               [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
+               ;;
+       oraybox,x3a)
+               if [ "$PHYNBR" = "1" ]; then
+                       hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
+                       macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
+               fi
+               ;;
+       raisecom,msg1500-x-00)
+               [ "$PHYNBR" = "0" ] && \
+                       macaddr_setbit_la "$(get_mac_label)" > /sys${DEVPATH}/macaddress
+               ;;
+       snr,snr-cpe-me2-sfp)
+               hw_mac_addr="$(mtd_get_mac_binary factory 0x8004)"
+               [ "$PHYNBR" = "1" ] &&  echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
+               ;;
+       tenbay,t-mb5eu-v01)
+               hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
+               [ "$PHYNBR" = "1" ] &&  macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress
+               ;;
+       totolink,x5000r)
+               hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
+               [ "$PHYNBR" = "1" ] &&  macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
+               ;;
+       tplink,eap613-v1|\
+       tplink,eap615-wall-v1)
+               hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
+               macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
+               ;;
+       yuncore,ax820)
+               [ "$PHYNBR" = "1" ] && \
+                       macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress
+               ;;
+       yuncore,fap640|\
+       yuncore,fap690)
+               hw_mac_addr="$(mtd_get_mac_binary Factory 0x4)"
+               [ "$PHYNBR" = "0" ] && macaddr_setbit_la "$hw_mac_addr" > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
+               ;;
+       zyxel,nwa50ax|\
+       zyxel,nwa55axe)
+               hw_mac_addr="$(mtd_get_mac_binary mrd 0x1fff8)"
+               [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
+               ;;
+       zyxel,wsm20)
+               hw_mac_addr="$(mtd_get_mac_binary Factory 0x1fdfa)"
+               [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
+               [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
+               ;;
 esac