1 [ "$ACTION" == "add" ] || exit 0
3 PHYNBR=${DEVPATH##*/phy}
5 [ -n $PHYNBR ] || exit 0
8 . /lib/functions/system.sh
13 beeline,smartbox-flash)
14 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
15 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
16 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 26)
17 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 27)
18 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
19 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
22 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
23 macaddr_add $hw_mac_addr "$PHYNBR" > /sys${DEVPATH}/macaddress
26 [ "$PHYNBR" = "0" ] && \
27 macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
28 > /sys${DEVPATH}/macaddress
32 if [ "$PHYNBR" = "0" ]; then
33 base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
34 macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
38 [ "$PHYNBR" = "1" ] && \
39 macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
43 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
44 [ "$PHYNBR" = "0" ] && \
45 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
46 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
49 if [ "$PHYNBR" = "1" ]; then
50 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
51 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
55 [ "$PHYNBR" = "1" ] && \
56 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
59 [ "$PHYNBR" = "1" ] && \
60 macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
69 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
70 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
71 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
74 hw_mac_addr=$(mtd_get_mac_ascii Config mac)
75 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
76 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
79 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
80 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
81 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 26)
82 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 27)
83 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
84 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
87 if [ "$PHYNBR" = "1" ]; then
88 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
89 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
92 raisecom,msg1500-x-00)
93 [ "$PHYNBR" = "0" ] && \
94 macaddr_setbit_la "$(mtd_get_mac_ascii Config protest_lan_mac)" \
95 > /sys${DEVPATH}/macaddress
98 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
99 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress
101 tplink,archer-ax23-v1)
102 hw_mac_addr="$(mtd_get_mac_binary config 0x8)"
103 # 2.4 GHz MAC is MAC in EEPROm while 5GHz is EEPROM_MAC -1
104 # However, mac80211 assigns consecutive addresses for each VAP
105 # Which leads to conflicting addresses. Set the LA bit for 5Ghz instead.
106 [ "$PHYNBR" = "1" ] && macaddr_setbit_la "$hw_mac_addr" > "/sys${DEVPATH}/macaddress"
108 tplink,eap615-wall-v1)
109 hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
110 macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
113 [ "$PHYNBR" = "1" ] && \
114 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress
118 hw_mac_addr="$(mtd_get_mac_binary mrd 0x1fff8)"
119 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
120 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress