I have a clean wl18xx-conf.bin file in /lib/firmware/ti-connectivity/ that works great with my wl1831 module. I can associate with my router, download files from the internet, and everything works.
I am now trying to change the MAC address on the wlan0 device.
Reading the TI wiki, I should be able to unload the wl18xx / wlcore drivers and then do this:
/usr/bin/calibrator set nvs_mac /lib/firmware/ti-connectivity/wl18xx-conf.bin "$WIFI_MAC"
That command succeeds, and I can subsequently read back my new value with this command:
/usr/bin/calibrator get nvs_mac /lib/firmware/ti-connectivity/wl18xx-conf.bin
However, when I try to re-load the wireless modules to get a wlan0 device, it fails to load with this error:
wlcore: ERROR configuration binary file magic number mismatch, expected 0x10e100ca got 0xffe100ca
I traced the driver code down to this bit:
if (conf_file->header.magic != cpu_to_le32(WL18XX_CONF_MAGIC)) { wl1271_error("configuration binary file magic number mismatch, " "expected 0x%0x got 0x%0x", WL18XX_CONF_MAGIC, conf_file->header.magic); ret = -EINVAL; goto out; }
Why is this happening? How can I set the mac address and ensure the magic number is OK?
Thank you,
Phil