Hello Marek, On 9/26/24 21:52, Marek Vasut wrote: > It seems it is necessary to set WILC MAC address after operation mode, > otherwise the MAC address of the WILC MAC is reset back to what is in > nvmem. This causes a failure to associate with AP after the WILC MAC > address was overridden by userspace. > > Test case: > " > ap$ cat << EOF > hostap.conf > interface=wlan0 > ssid=ssid > hw_mode=g > channel=6 > wpa=2 > wpa_passphrase=pass > wpa_key_mgmt=WPA-PSK > EOF > ap$ hostapd -d hostap.conf > ap$ ifconfig wlan0 10.0.0.1 > " > > " > sta$ ifconfig wlan0 hw ether 00:11:22:33:44:55 > sta$ wpa_supplicant -i wlan0 -c <(wpa_passphrase ssid pass) > sta$ ifconfig wlan0 10.0.0.2 > sta$ ping 10.0.0.1 # fails without this patch > " > > AP still indicates SA with original MAC address from nvmem without this patch: > " > nl80211: RX frame da=ff:ff:ff:ff:ff:ff sa=60:01:23:45:67:89 bssid=ff:ff:ff:ff:ff:ff ... > ^^^^^^^^^^^^^^^^^ > " Good catch, thanks for the fix. I tracked a bit the issue history and it seems to have been introduced by my recent change about reading the mac address early from the chip nvmem (to set correctly mac address reported to userspace once net device has been registered). I indeed reproduce the issue, and reverting the commit below makes it disappear, so the following can be added: Fixes: 83d9b54ee5d4 ("wifi: wilc1000: read MAC address from fuse at probe") > Signed-off-by: Marek Vasut <marex@xxxxxxx> Tested-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx> Thanks, Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com