Search by Tags

Colibri PXA3xx BSP V4.4 Update Tool Issue


Article updated at 28 Oct 2017


Due to a bug in BSP V4.4, updates of the Config Block or updates of the complete flash using the Update Tool will overwrite the MAC Address (serial number) and hardware version with the information stored in the .bin file used for the update. This only applies to Colibri PXA3xx modules. Customers using other operating systems than Windows CE 5/6 or are using PXA 270, Vybrid, Tegra, or i.MX 7 modules are not affected!
Note: This problem doesn't affect most customers. It could only lead to problems if two affected devices are used in the same Ethernet network or for some specific module hardware/software combinations. See Implication for details.

Affected Products

All Colibri PXA3xx modules running V4.4 BSP are affected.

Product NumberProduct Name
00031202Colibri PXA320 806MHz V1.2C
00031203Colibri PXA320 806MHz V1.2D
00031204Colibri PXA320 806MHz V1.2E
00031205Colibri PXA320 806MHz V1.2F
00031206Colibri PXA320 806MHz V1.2G
00032000Colibri PXA320 806MHz V2.0A
00032001Colibri PXA320 806MHz V2.0B
00032002Colibri PXA320 806MHz V2.0C
00041100Colibri PXA300 208MHz V1.1A
00041101Colibri PXA300 208MHz V1.1B
00041300Colibri PXA300 208MHz V1.3A
00041301Colibri PXA300 208MHz V1.3B
00051300Colibri PXA310 624MHz V1.3A
00051301Colibri PXA310 624MHz V1.3B
00061201Colibri PXA320IT 806MHz V1.2B
00061202Colibri PXA320IT 806MHz V1.2C
00061203Colibri PXA320IT 806MHz V1.2D
00062000Colibri PXA320IT 806MHz V2.0A
00062001Colibri PXA320IT 806MHz V2.0B
00062002Colibri PXA320IT 806MHz V2.0C
00071300Colibri PXA300 208MHz XT V1.3A
No other hardware versions are affected.


Detailed Information

To improve durability of the data stored in the config block area of Colibri PXA3xx modules we introduced ECC error correction for this flash area in V4.4 of the BSP. This change lead to a problem when accessing the config block from the kernel under some circumstances. Such circumstances apply when using the Update Tool to update the config block of a module. This happens for example if you make use of the "cloning" on a module in your production programming process. If your update process overwrites the config block, the MAC address (same as serial number) and the hardware version will be overwritten with the settings from the original module you used to create the clone master copy .bin file. Normally this gets adjusted back to the right settings for each module during the update process executed by the Update Tool. A bug in the kernel prevented this from happening which leads to losing the correct MAC address and hardware version.

We've been using BSP V4.4 as pre-installed image on our computer on modules. Therefore you might be affected by this problem even if you don't use the V4.4 BSP by yourself. We started using BSP V4.4 as pre-installed image on April 24th, 2015. Modules you received prior to that date won't be affected by the problem. The affected modules are mainly within the following serial number ranges:

Modules with V4.4 BSP pre-installed
00043922 - 00045422
02683983 - 02687797
02714634 - 02714729
02718504 - 02733071


  • Single modules outside of these ranges might also be affected.
  • Single modules within these ranges might not be affected.
  • A detailed list of affected serial numbers can be requested from Toradex.


Wrong MAC Address

Having modules with the same MAC address could lead to problems when used in the same Ethernet network. This might not be a problem for most customers as their devices aren't operating in the same Ethernet network.

Wrong hardware version

Having modules with the wrong hardware version will lead to non functional Ethernet driver for the following combinations:

Product NumberProduct NameProgrammed HW Version
00031xxxColibri PXA320 806MHz V1.xV2.x
00032xxxColibri PXA320 806MHz V2.xV1.x
00061xxxColibri PXA320IT 806MHz V1.xV2.x
00062xxxColibri PXA320IT 806MHz V2.xV1.x


Preventing the Problem

Solution 1: Use new Update Tool V5.11.0 for Update (preferred)

A new Update Tool V5.11.0 is available for download. Using this Update Tool prevents overwriting the MAC address and hardware version on V4.4 BSPs. Just use this tool in your production programming process instead of the pre-installed one in the V4.4 image or any other older update tool.

Solution 2: Use new Update Tool V5.11.0 to create a patched .bin file

You can use the new Update Tool V5.11.0 to create a clone (backup.bin) file. The new update tool patches the config block section in a way which allows you to use older update tools in combination with BSP V4.4 without overwriting the MAC address and hardware version. This solution might be interesting for you, if you cannot or don't want to change the update tool which is used to do the update on a V4.4 BSP. This is also the case if you are using the UpdateLib to create your own update tool. Using the .bin file created by the new Update Tool V5.11.0 would allow you to continue using your current update process.

Solution 3: Update to BSP V4.5

We just released a BSP and image V4.5 for PXA modules which fixes the problem in the kernel and includes the new Update Tool V5.11.0. Upgrading to V4.5 is only recommended if you use BSP or image V4.4 on a Colibri PXA3xx module in your product. Using V4.5 would prevent problems when updating V4.4 based products in the future. You can download the BSP and image V4.5 from our download page. Information about the changes can be found on the release notes page.


Restoring wrong Data

In case you have modules with a wrong MAC address or hardware version and you would like to set it correctly, you can restore the information manually by using the Bootloader command prompt mode or the Config Block Editor tool:

Command example when using the bootloader command prompt:

When in Bootloader menu:
x (to enter the command prompt mode)
set mac.cid=00000000 (use 8-digit serial number found on the barcode label of the module)
save mac
set hw.vermaj=2
set hw.vermin=0
set hw.variant=1 (0=A, 1=B, 2=C, etc.)
save hw (this saves the HW version to V2.0B. You can find the HW version on the barcode label of your module)

Note, restoring it to the right values is only necessary if you are affected by the implications mentioned above.