GooglePlayにあるMACアドレス変更アプリ(Wifi Mac Changer など)では、変更できても一時的なものが多い。デバイスの再起動などでMACアドレスは再びデフォルト値に戻ります。
この状態でWiFiに繋げると、「認証に問題」というステータスになって接続できなかった。これはどうやら変更前のMacアドレスを参照したままWiFiの認証している様子。
WiFiの認証過程におけるHandshakeでは、MACアドレスから認証鍵を生成しているので、このままではWiFiに接続できる見込みがない。
Android Debug Bridge(adb) コマンドでやる場合は、
$ adb shell
$ su
# ifconfig wlan0 down
# ifconfig wlan0 hw ether 00:11:22:33:44:55
# ifconfig wlan0 up
結果の確認
$ ip link | tail
22: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 100
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
ただしこの変更も一時的なものです。
永続的に更新する場合は、以下
# echo -n "001122334455" > /persist/wifi/.macaddr
ただしこの後、この人みたいな状態になってしまった。
https://androidforums.com/threads/corrupted-wifi-mac-address.919147/
・再設定できない
・後半の3セットは再起動のたびに変動(00:11:22:XX:XX:XX)
これを解消するために試したのがこれ。
https://www.androidiani.com/forum/modding-google-nexus-4/344310-mac-address-cambiato-ad-ogni-riavvio-persistent-partition.html
# chown root:root /persist/wifi
# chmod 755 /persist/wifi
# chown wifi:wifi /persist/wifi/.macaddr
# chmod 660 /persist/wifi/.macaddr
# /system/bin/conn_init
これでMacアドレスを更新できるようになった。