New Motorola RAZR XT910 - Randomised WiFi MAC address


Vatazhka

Members
Aug 26, 2011
29
15
I noticed a bug in setting MAC address of the WiFi interface on a Motorola RAZR XT910 (umts_spyder) running MIUI 2.12.14.

The MAC address of the WiFi interface is set to a value which seems randomised (although few users reported that two RAZRs running MIUI on the same WiFi network clashed due to non-unique MAC addresses being assigned, so it seems that the build enforces a pre-defined MAC address for all installations). This causes unexpected behaviour on networks which are configured to use MAC filtering or DHCP based on MAC addresses.

I tried to reconfigure WiFi driver by manually calling /system/bin/wifical.sh, however it fails due to a missing input file (/system/etc/wifi/TQS_D_1.7.ini) and erases WiFi driver non-volatile storage file (wl1271-nvs.bin) which forced me to reinstall MIUI.

Manually calling /system/bin/wifiupgradecal.sh didn't help as well (at least the config file wasn't erased and I was able to use WiFi).

I also wonder whether regeneration of wl1271-nvs.bin config file doesn't break WiFi regulatory settings.
 
It seems that I found out where the bug is... Symlinks need to be sorted out in order to set the unique MAC address assigned to a given device. Once the symlinks are changed to point at the same files as in the stock firmware, I get the expected behavior.

WiFi calibration scripts (/system/bin/wifical.sh and /system/bin/wifiupgradecal.sh) should be probably removed or at least made non-executable as they may irreversibly damage a device by removing/overwriting configuration files in /pds filesystem.

Stock firmware:
Code:
$ adb shell ls -l /system/etc/firmware/ti-connectivity/
-rw-r--r-- root    root      266772 2012-07-16 05:56 wl1271-fw-multirole-plt.bin
-rw-r--r-- root    root      279504 2012-07-16 05:56 wl1271-fw-multirole-roc.bin
-rw-r--r-- root    root        1113 2012-07-16 05:56 wl1271-nvs.bin
-rw-r--r-- root    root      271580 2012-07-16 05:56 wl128x-fw-multirole-plt.bin
-rw-r--r-- root    root      285924 2012-07-16 05:56 wl128x-fw-multirole-roc.bin
lrwxrwxrwx root    root              2012-07-16 08:45 wl12xx-fac-nvs.bin -> /pds/wifi/nvs_map_mac80211.bin
lrwxrwxrwx root    root              2012-07-16 08:45 wl12xx-upd-nvs.bin -> /data/misc/wifi/firmware/wl12xx-nvs.bin

MIUI 2.12.29:
Code:
$ adb shell ls -l /system/etc/firmware/ti-connectivity/
-rw-r--r-- root    root      266772 2008-08-01 14:00 wl1271-fw-multirole-plt.bin
-rw-r--r-- root    root      279504 2008-08-01 14:00 wl1271-fw-multirole-roc.bin
-rw-r--r-- root    root        1113 2008-08-01 14:00 wl1271-nvs.bin
-rw-r--r-- root    root      271580 2008-08-01 14:00 wl128x-fw-multirole-plt.bin
-rw-r--r-- root    root      285924 2008-08-01 14:00 wl128x-fw-multirole-roc.bin
lrwxrwxrwx root    root              2012-12-30 23:46 wl12xx-fac-nvs.bin -> nvs_map_mac80211.bin
lrwxrwxrwx root    root              2012-12-30 23:46 wl12xx-upd-nvs.bin -> wl12xx-nvs.bin
 
This bug is still present in MIUI 3.1.11.

Sent using a touch screen
Napisane na ekranie dotykowym