How to change MAC address of Colibri iMX6 running WinCE

We’ve been changing the MAC address of Colibri T20 modules to use our company’s MAC address range with WinCE successfully for many years. I set the MAC address on the T20 by setting the registry key [HKLM\Comm\AX88772B1\Params\NetworkAddress] as described in this post:

We are in the process of migrating our products from the T20 to the iMX6 due to the T20 becoming obsolete. But this technique doesn’t work on the iMX6. I tried simply writing to the registry key [HKLM\Comm\ENET1\Params\NetworkAddress] on the iMX6 but that had no effect.

Can you tell me how to change the MAC address on the iMX6 with WinCE?

The MAC address can be configured through the bootloader menu using the set mac.tid and set mac.cid commands. To view the current values, use the set mac command.

Hi @alex.tx modifying those settings also changes the serial number of the module which is returned by calling Sys_GetConfigInt(hSys, L"Serial8", &serial)
Is it not possible to set the MAC address without corrupting the serial number in the config block? The T20 had this issue too, but using the registry key was a way to work around it and change only the MAC address without affecting the serial number.

Unfortunately change of the MAC address via registry is not implemented in iMX6 BSP

Recording my solution in case anyone else needs to do this.

I’m looking for a method which can be easily automated on our production line. Using a registry key on the T20 was very convenient and easy to automate. Accessing the bootloader menu isn’t easy as we don’t expose the serial port used by the bootloader in our product design, and it wouldn’t be elegant to have to use the bootloader menu on the production line. So what I have implemented is to have my firmware store a backup copy of the Colibri serial number so I can access it later to track the modules, and then call the ConfigBlockEditor tool using a batch file as a command line parameter. The batch file looks like this:

setconfig mac.tid=0xXXXX
setconfig mac.cid=123456

Using this method works well to set a unique MAC address for each module from the block of addresses registered with my company.