Registry save causes hang

I have one module which now hangs when attempting to save the registry. I have trid clearing the registry and it doesn’t help. The only way to get out of the hang is to reset.

This happens whether I use the SaveReg in Regedit or from the menu. It also happens if I call the native function RegFlushKey.

Could you please specify WEC2013 BSP version, Colibri iMX7 full name and its HW version ?

Yes it’s an iMX7D 512MB V1.1D serial# 06415001. The BSP is V1.2 (colibri-imx7wince8bsp12-20190201)

Could you pleas re-flash that module using procedure described below?

1.Prepare SD card as described here

2.Flash WinCE :

a. Insert the SD-card in the carrier board slot.

b. Connect the serial port and start any terminal software

c. Power up module

d. You should see this text “Press [SPACE] to enter Bootloader Menu”. Press space now.

e. Press X to enter eBoot menu.

f. Type “eraseflash filesystem” and press enter. This will erase the filesystem partition of NAND

g. Type “flashimage nk8.bin” to flash WEC2013

This doesn’t seem to fix the issue. Iniially it appeasr to be OK with the NK8.bin loaded, but when I then update to my custom OS, the problem seems to come back. I notice that my custom OS is considerably bigger than the default at 43MB vs 30MB. Could this cause an issue?

The problem however hasn’t been seen on other modules with the same custom OS.

I also notice that erasing doesn’t seem to erase the saved registry, only the OS?

Would installing the easy installer via recovery mode first completely clear all data including the registry. And then use this to reinstall the custom OS?

What is your custom OS and how did you run an update?
What kind of erasing you are talking about? eBoot has an option to clear registry.
Toradex Easy installer has a issue with flashing WinCE to some raw NAND imx7 modules. Please flash its latest build from CI feed if you want to use Easy Installer.

The custom OS is my own build based on the Toradex workspace V1.2. The update to the OS was done using the Toradex update tool.

By erasing, I’m just asking if the “eraseflash filesystem” command is expected to erase both the installed OS and any saved registry because it doesn’t appear to do so?

As the OS and registry are in the same area of the flash memory (Flash Layout Vybrid and iMX7 | Toradex Developer Center) I’m wondering if some sort of corruption has occurred that could be fixed with a complete erase.

I need to understand if possible why this problem exists with just this one module and whether it could affect other modules.

Registry and File system located separately. You erase the whole flash using eraseflash command.
Please also check this article.

What kind of modification have you done to OS ?

The main changes were to fix a bug in the touch screen driver and to add a second ethernet so nothing that should affect the flash as such. I will try the process again tomorrow.

Ok looks like it’s related to bug we recently fixed. If NAND region reserved to registry has a bad block it handled unproperly and can cause a frees.
New OS release and BSP should be available in 2-3 weeks.

Hi,

Is there a date for the delivery of this fix? This is critical as it can render modules useless in the event a bad block occurs.

Any timing update please? Even a beta release will be helpful to prove it really is the problem and it’s fixed with the module we have.

Hi @dnicholls,

Due to other high priority tasks we just now have a test version which fixes the registry bad block issue. Official release will be in a few weeks.
Here is the Test Version in case you want to try:
CE7:
https://share.toradex.com/ob5ojb051qfgjpt
CE8:
https://share.toradex.com/jddijzi5qjk2672

In case you build your own image thee is also the oemregistry.dll file you need to replace which fixes the issue.