ramips: add support for D-Link DAP-X1860 A1
[openwrt/openwrt.git] / target / linux / ramips / mt7621 / base-files / etc / hotplug.d / ieee80211 / 10_fix_wifi_mac
1 [ "$ACTION" == "add" ] || exit 0
2
3 PHYNBR=${DEVPATH##*/phy}
4
5 [ -n $PHYNBR ] || exit 0
6
7 . /lib/functions.sh
8 . /lib/functions/system.sh
9
10 board=$(board_name)
11
12 case "$board" in
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
20 ;;
21 cudy,x6)
22 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
23 macaddr_add $hw_mac_addr "$PHYNBR" > /sys${DEVPATH}/macaddress
24 ;;
25 dlink,dap-x1860-a1)
26 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
27 [ "$PHYNBR" = "0" ] && \
28 macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
29 [ "$PHYNBR" = "1" ] && \
30 macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
31 ;;
32 dlink,dir-853-a3)
33 [ "$PHYNBR" = "0" ] && \
34 macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
35 > /sys${DEVPATH}/macaddress
36 ;;
37 dlink,dir-853-r1|\
38 phicomm,k2p)
39 if [ "$PHYNBR" = "0" ]; then
40 base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
41 macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
42 fi
43 ;;
44 glinet,gl-mt1300)
45 [ "$PHYNBR" = "1" ] && \
46 macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
47 ;;
48 h3c,tx1800-plus|\
49 h3c,tx1801-plus|\
50 h3c,tx1806)
51 addr=$(macaddr_setbit $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 7)
52 [ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress
53 [ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress
54 ;;
55 haier,har-20s2u1|\
56 jcg,y2|\
57 sim,simax1800t)
58 [ "$PHYNBR" = "1" ] && \
59 macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
60 ;;
61 hiwifi,hc5962)
62 label_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
63 [ "$PHYNBR" = "0" ] && [ -n "$label_mac" ] && \
64 echo -n "$label_mac" > /sys${DEVPATH}/macaddress
65 [ "$PHYNBR" = "1" ] && [ -n "$label_mac" ] && \
66 macaddr_unsetbit "$label_mac" 6 > /sys${DEVPATH}/macaddress
67 ;;
68 iptime,a3002mesh|\
69 iptime,a3004t)
70 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
71 [ "$PHYNBR" = "0" ] && \
72 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
73 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
74 ;;
75 iptime,ax2004m)
76 if [ "$PHYNBR" = "1" ]; then
77 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
78 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
79 fi
80 ;;
81 jcg,q20)
82 [ "$PHYNBR" = "1" ] && \
83 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
84 ;;
85 linksys,e5600|\
86 linksys,ea6350-v4|\
87 linksys,ea7300-v1|\
88 linksys,ea7300-v2|\
89 linksys,ea7500-v2|\
90 linksys,ea8100-v1|\
91 linksys,ea8100-v2)
92 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
93 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
94 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
95 ;;
96 belkin,rt1800|\
97 linksys,e7350)
98 hw_mac_addr=$(mtd_get_mac_ascii Config wan_hwaddr)
99 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
100 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
101 ;;
102 netgear,wax202)
103 hw_mac_addr=$(mtd_get_mac_ascii Config mac)
104 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
105 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
106 ;;
107 mts,wg430223)
108 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
109 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
110 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 26)
111 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 27)
112 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
113 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
114 ;;
115 oraybox,x3a)
116 if [ "$PHYNBR" = "1" ]; then
117 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
118 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
119 fi
120 ;;
121 raisecom,msg1500-x-00)
122 [ "$PHYNBR" = "0" ] && \
123 macaddr_setbit_la "$(mtd_get_mac_ascii Config protest_lan_mac)" \
124 > /sys${DEVPATH}/macaddress
125 ;;
126 tenbay,t-mb5eu-v01)
127 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
128 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress
129 ;;
130 tplink,eap615-wall-v1)
131 hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
132 macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
133 ;;
134 yuncore,ax820)
135 [ "$PHYNBR" = "1" ] && \
136 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress
137 ;;
138 yuncore,fap640|\
139 yuncore,fap690)
140 hw_mac_addr="$(mtd_get_mac_binary Factory 0x4)"
141 [ "$PHYNBR" = "0" ] && macaddr_setbit_la "$hw_mac_addr" > /sys${DEVPATH}/macaddress
142 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
143 ;;
144 zyxel,nwa50ax|\
145 zyxel,nwa55axe)
146 hw_mac_addr="$(mtd_get_mac_binary mrd 0x1fff8)"
147 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
148 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
149 ;;
150 esac