Does this mean that a FW sysupgrade is not enough?
A firmware sysupgrade will not touch the factory partition! So no, it will not fix the the addressing schema
Can the workaround what you suggested in this post correct only the MAC address collision but can't not set the new addressing schema?
Are you referring to the uci set network.wan.macaddr= ... workaround? And setting the eth0 mac address to ra0 + 1?
The wifi driver will still read the apcli0 mac address from the factory partition at "The 6 bytes starting at 0x002e - the apcli0 MAC address".
So you will end up with a collision.
The last post in that topic mentions we put out a Warp Core wifi driver fix for address duplication.The Takeaway
With this fix, the apcli0 address will always be the 6 bytes starting at 0x002e from the factory partition.
And the eth0 address will always be the 6 bytes starting at 0x0028 from the factory partition. (This was true before the warp core update).
No matter how the MAC addresses were allocated in the factory, your device will work 100% normally.
As long as you're on firmware 0.3.x you will not have any collision issues and all three interfaces will have unique mac addresses.
If your device was manufactured before mid 2018, then it will not follow the mac address allocation schema that's published in our docs:
Instead eth0 mac address will be ra0 + 2
and apcli0 mac address will be ra0 + 1
However this will not cause any issues and your device will operate 100% normally
If your device was manufactured after mid 2018, the Mac addresses will follow the schema.If not matching the mac address allocation on your older devices continues to bug you
Like I mentioned, the factory partition is writeable. So it's possible to edit the factory partition to adjust the two mac addresses.
Here are the steps in broad strokes. I haven't tested these so proceed at your own riskinstall the xxd package dump the factory partition to hex: xxd /dev/mtd2 > factory.hex create a backup just in case edit the two mac addresses (can use vi) convert the edited hex file to binary: xxd -r factory-new.hex > factory.bin write the binary file to the factory partition: mtd -r write factory.bin factory