kernel: fix fraglist GRO on linux 6.12
[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 arcadyan,we410443)
14 label_mac=$(mtd_get_mac_ascii config mac)
15 [ "$PHYNBR" = "0" ] && \
16 macaddr_add $label_mac 1 > /sys${DEVPATH}/macaddress
17 [ "$PHYNBR" = "1" ] && \
18 macaddr_add $label_mac 2 > /sys${DEVPATH}/macaddress
19 ;;
20 arcadyan,we420223-99)
21 if [ "$PHYNBR" = "0" ]; then
22 mac24=$(macaddr_add "$(get_mac_label)" "0xf00001")
23 echo -n "$mac24" > /sys${DEVPATH}/macaddress
24 elif [ "$PHYNBR" = "1" ]; then
25 mac5=$(macaddr_add "$(get_mac_label)" 1)
26 echo -n "$mac5" > /sys${DEVPATH}/macaddress
27 fi
28 ;;
29 beeline,smartbox-flash)
30 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
31 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
32 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 26)
33 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 27)
34 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
35 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
36 ;;
37 buffalo,wsr-2533dhpls)
38 lan_mac_addr=$(mtd_get_mac_ascii board_data "mac")
39 [ "$PHYNBR" = "0" ] && \
40 macaddr_add $lan_mac_addr 1 > /sys${DEVPATH}/macaddress
41 [ "$PHYNBR" = "1" ] && \
42 macaddr_add $lan_mac_addr 8 > /sys${DEVPATH}/macaddress
43 ;;
44 comfast,cf-e390ax)
45 [ "$PHYNBR" = "0" ] && echo -n "$(mtd_get_mac_binary factory 0x0004)" > /sys${DEVPATH}/macaddress
46 [ "$PHYNBR" = "1" ] && echo -n "$(mtd_get_mac_binary factory 0x8004)" > /sys${DEVPATH}/macaddress
47 ;;
48 cudy,x6-v1|\
49 cudy,x6-v2)
50 hw_mac_addr="$(mtd_get_mac_binary bdinfo 0xde00)"
51 [ "$PHYNBR" = "1" ] && \
52 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
53 ;;
54 dlink,dap-1620-b1|\
55 dlink,dir-853-a1|\
56 dlink,dra-1360-a1)
57 lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
58 [ "$PHYNBR" = "0" ] && \
59 macaddr_add $lan_mac_addr 1 > /sys${DEVPATH}/macaddress
60 [ "$PHYNBR" = "1" ] && \
61 macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
62 ;;
63 dlink,covr-x1860-a1)
64 label_mac=$(mtd_get_mac_ascii config2 factory_mac)
65 [ "$PHYNBR" = "0" ] && \
66 macaddr_add $label_mac 1 > /sys${DEVPATH}/macaddress
67 [ "$PHYNBR" = "1" ] && \
68 macaddr_add $label_mac 2 > /sys${DEVPATH}/macaddress
69 ;;
70 dlink,dap-x1860-a1)
71 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
72 [ "$PHYNBR" = "0" ] && \
73 macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
74 [ "$PHYNBR" = "1" ] && \
75 macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
76 ;;
77 dlink,dir-3040-a1)
78 lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
79 [ "$PHYNBR" = "0" ] && \
80 macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
81 ;;
82 dlink,dir-853-a3)
83 [ "$PHYNBR" = "0" ] && \
84 macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
85 > /sys${DEVPATH}/macaddress
86 ;;
87 dlink,dir-853-r1|\
88 phicomm,k2p)
89 if [ "$PHYNBR" = "0" ]; then
90 base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
91 macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
92 fi
93 ;;
94 glinet,gl-mt1300|\
95 z-router,zr-2660)
96 [ "$PHYNBR" = "1" ] && \
97 macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
98 ;;
99 h3c,tx1800-plus|\
100 h3c,tx1801-plus|\
101 h3c,tx1806)
102 addr=$(macaddr_setbit $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 7)
103 [ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress
104 [ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress
105 ;;
106 haier,har-20s2u1|\
107 jcg,y2|\
108 sim,simax1800t)
109 [ "$PHYNBR" = "1" ] && \
110 macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
111 ;;
112 hiwifi,hc5962)
113 [ "$PHYNBR" = "1" ] && \
114 macaddr_unsetbit "$(cat /sys${DEVPATH}/macaddress)" 6 > /sys${DEVPATH}/macaddress
115 ;;
116 iptime,a3002mesh|\
117 iptime,a3004t)
118 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
119 [ "$PHYNBR" = "0" ] && \
120 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
121 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
122 ;;
123 iptime,ax2004m)
124 if [ "$PHYNBR" = "1" ]; then
125 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
126 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
127 fi
128 ;;
129 jcg,q20)
130 [ "$PHYNBR" = "1" ] && \
131 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
132 ;;
133 jdcloud,re-sp-01b)
134 hw_mac_addr=$(mtd_get_mac_ascii config mac)
135 [ "$PHYNBR" = "0" ] && echo $hw_mac_addr > /sys${DEVPATH}/macaddress
136 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 0x800000 > /sys${DEVPATH}/macaddress
137 ;;
138 keenetic,kn-1910)
139 lan_mac_addr="$(mtd_get_mac_binary RF-EEPROM 0x4)"
140 [ "$PHYNBR" = "1" ] && \
141 macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
142 ;;
143 keenetic,kn-3510)
144 [ "$PHYNBR" = "1" ] && \
145 macaddr_setbit_la "$(mtd_get_mac_binary rf-eeprom 0x4)" > /sys${DEVPATH}/macaddress
146 ;;
147 linksys,e5600|\
148 linksys,ea6350-v4|\
149 linksys,ea7300-v1|\
150 linksys,ea7300-v2|\
151 linksys,ea7500-v2|\
152 linksys,ea8100-v1|\
153 linksys,ea8100-v2)
154 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
155 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
156 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
157 ;;
158 belkin,rt1800|\
159 linksys,e7350)
160 hw_mac_addr=$(mtd_get_mac_ascii Config wan_hwaddr)
161 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
162 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
163 ;;
164 netgear,eax12)
165 hw_mac_addr=$(mtd_get_mac_ascii Config mac)
166 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
167 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
168 ;;
169 netgear,wax202)
170 hw_mac_addr=$(mtd_get_mac_ascii Config mac)
171 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
172 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
173 ;;
174 netgear,wax214v2)
175 hw_mac_addr=$(mtd_get_mac_ascii Config ethaddr)
176 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
177 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
178 ;;
179 netis,n6)
180 hw_mac_addr="$(mtd_get_mac_binary Factory 0x4)"
181 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 28)
182 hw_mac_2g=$(macaddr_unsetbit $hw_mac_addr 26)
183 hw_mac_5g=$(macaddr_setbit $hw_mac_addr 27)
184 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_2g" > /sys${DEVPATH}/macaddress
185 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_5g" > /sys${DEVPATH}/macaddress
186 ;;
187 mercusys,mr70x-v1|\
188 tplink,archer-ax23-v1)
189 hw_mac_addr="$(mtd_get_mac_binary config 0x8)"
190 [ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" -1 > "/sys${DEVPATH}/macaddress"
191 ;;
192 mts,wg430223)
193 hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
194 [ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
195 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 26)
196 hw_mac_addr=$(macaddr_setbit $hw_mac_addr 27)
197 hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
198 [ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
199 ;;
200 oraybox,x3a)
201 if [ "$PHYNBR" = "1" ]; then
202 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
203 macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
204 fi
205 ;;
206 raisecom,msg1500-x-00)
207 [ "$PHYNBR" = "0" ] && \
208 macaddr_setbit_la "$(get_mac_label)" > /sys${DEVPATH}/macaddress
209 ;;
210 ruijie,rg-ew1200g-pro-v1.1)
211 hw_mac_addr="$(mtd_get_mac_ascii product_info ethaddr)"
212 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
213 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
214 ;;
215 snr,snr-cpe-me2-sfp)
216 hw_mac_addr="$(mtd_get_mac_binary factory 0x8004)"
217 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
218 ;;
219 tenbay,t-mb5eu-v01)
220 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
221 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress
222 ;;
223 totolink,x5000r)
224 hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
225 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
226 ;;
227 tplink,eap613-v1|\
228 tplink,eap615-wall-v1)
229 hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
230 macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
231 ;;
232 tplink,ex220-v1)
233 hw_mac_addr="$(mtd_get_mac_binary rom_file 0xf100)"
234 [ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" 2 > "/sys${DEVPATH}/macaddress"
235 ;;
236 yuncore,ax820|\
237 yuncore,g720)
238 [ "$PHYNBR" = "1" ] && \
239 macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress
240 ;;
241 yuncore,fap640|\
242 yuncore,fap690)
243 hw_mac_addr="$(mtd_get_mac_binary Factory 0x4)"
244 [ "$PHYNBR" = "0" ] && macaddr_setbit_la "$hw_mac_addr" > /sys${DEVPATH}/macaddress
245 [ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
246 ;;
247 zyxel,nwa50ax|\
248 zyxel,nwa55axe)
249 hw_mac_addr="$(mtd_get_mac_binary mrd 0x1fff8)"
250 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
251 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
252 ;;
253 zyxel,wsm20)
254 hw_mac_addr="$(mtd_get_mac_binary Factory 0x1fdfa)"
255 [ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
256 [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
257 ;;
258 esac