Same MAC address on two devices! [TOTOLINK X5000R]

I recently received a second device and was having issues getting devices to associate with the second 5GHz radio. After some investigation I noticed that the MAC was the same on both devices.

I tried various configurations of setting the mac address in /etc/config/wireless and in /etc/config/network but nothing worked. Eventually I had to rewrite the factory partition.

I added 1 to the last octet in the mac address and rebooted, which finally worked. Here's what I did:

I'm pretty sure that getting this wrong will brick the router, so be careful!

# Make the mtd device writeable:
# opkg install kmod-mtd-rw
# insmod mtd-rw i_want_a_brick=1
# mtd unlock /dev/mtd2
# dd if=/dev/mtd2ro bs=131072 skip=0 count=8 of=/tmp/factory-fixed

# The MAC addresses are stored in bytes 4 through 9 for radio0 and 10 through 16 for
# radio1. You can view then with:
# dd if=factory-fixed iseek=4 bs=1 count=12 | xxd

# Update the last byte in of radio1's MAC:
# printf '\x4f' | dd of=factory-fixed bs=1 seek=15 count=1 conv=notrunc

# Write the partition back:
# mtd write /tmp/factory-fixed /dev/mtd2

Thanks for this. A less technical approach will be this one, as I faced the same issue:

BTW, different routers in my case, mine where 2 Ubiquiti NanoHDs.

I tried doing that at it wasn't working, which is why I resorted to updating the factory partition. This is a "better" solution, since it will survive any re-flashing.

I would be surprised if OpenWRT re-writes the factory partition during install, since the 2.4GHz radios weren't affected. If that is the case, it's a bug in the installer.

that pull will fix that without factory modification

alternative way is to mod dts with
mac-address-increment = <(+2)>

1 Like