I was unable to change the MAC address of the Wi-FI device on a MacBook Air (M1 2020) running macOS Monterey due to the following error: ifconfig: ioctl (SIOCAIFADDR): Can't assign requested addres
.
By running the commands in following sequence I was able to change it successfully:
- Turn WiFi device off
- Turn the WiFi device on again:
networksetup -setairportpower en0 on
- Change the MAC:
ifconfig en0 ether <mac-address-here>
- Run:
networksetup -detectnewhardware
FYI I turned this into a script if anyone is interested. https://gist.github.com/mbierman/03b2a962ac04963ef5bbc8354d0ed5d1
It handles Wi-Fi and Ethernet. Not as "fully automated" as I'd like but makes it easier.