Colibri IMX7 problem with external USB device

I use 10 IMX7D 512M V1.1D modules.
I have problem with external USB driver and WINCE registry.
I have seen the latest discussion of this problem at the address below

I have connected FT232 (FTDI USB to serial device) to my designed board.
Like KSHAH I have no problem with VF61 and IMX6.
But many IMX7 modules have problems when connecting FT232 devices before WINCE boots. Also, when the FT232 is plugged in after WINCE is booted, there is no problem.
Some IMX7 modules are ok but after a few hours the problem occurs.
I flash the module and install WINCE, .Net framework and some other programs. “It just works for a few hours without any problems and after a reboot it shows ‘Usb Derive not defined’.”
I have downloaded all versions of WINCE and tried them, this did not solve the problem.
I tried all the recommendations mentioned in the KSHAH thread (Wait4FlashDisk, DependON, LoadAsync, … but I still have this problem.

A new thing I noticed is that when this is the problem and the driver doesn’t load, other parts of the registry don’t load completely.

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


It sounds like you’re experiencing issues with USB device recognition and driver loading on the Colibri iMX7D 512MB modules running Windows CE. Here are a few steps and considerations that might help resolve the issue:

  1. Driver Installation and Registry Settings:

    • Ensure that the driver for the FT232 device is correctly installed and that the registry settings are properly configured. You mentioned trying various registry tweaks like Wait4FlashDisk, DependON, and LoadAsync. Double-check these settings to ensure they are correctly applied.
  2. USB Device Initialization Timing:

    • Since the issue occurs when the FT232 device is connected before Windows CE boots, it might be related to the timing of USB device initialization. You could try delaying the initialization of the USB driver to ensure that the system is fully booted before the driver attempts to load.
  3. Power Supply and Stability:

    • Verify that the power supply to the USB device and the Colibri iMX7 module is stable. Power fluctuations can sometimes cause USB devices to fail to initialize correctly.
  4. Firmware and BSP Updates:

    • Ensure that you are using the latest firmware and BSP (Board Support Package) for the Colibri iMX7D module. Sometimes, updates can include fixes for USB-related issues.
  5. Debugging and Logs:

    • Enable detailed logging to capture more information about the USB initialization process. This can help identify where the process is failing. Look for any error messages or warnings in the logs that might provide clues.
  6. Alternative USB Ports and Cables:

    • Try using different USB ports and cables to rule out any hardware-related issues with the USB connection.
  7. Contact Toradex Support:

    • If the issue persists, consider reaching out to Toradex technical support for further assistance. They might have additional insights or solutions based on similar cases.

Given that some modules work fine initially but develop issues after a few hours, it might also be worth investigating any potential hardware differences or environmental factors that could be affecting the modules.

If you have already tried all the above steps and the problem persists, providing detailed logs and specific configurations to Toradex support can help them diagnose the issue more effectively.

Please, also check if these links can help you solve your problem:

Unidentified USB Device.

Hello
As I mentioned earlier, the FT232 is fine with the VF61 and IMX6, so most of the things that could be causing the problem can be ruled out.
But 1) for the power case, I restarted the IMX7 without restarting the FTDI device and saw the problem.
2) To choose the right driver, I tested many drivers for FTDI, all are good with VF61 and IMX6, but only problem with IMX7.
3) I added DependOn to Wait4flashDisk in the registry in many places before loading FDDI_Device, … but it looks like FlashDisk being ready might be ok.
4) I checked Add DependsOn and LoadAsync correctly in registry
5) I am using the WINCE package, imx7_winceimage_1.3-20211125. I will be surprised if you tell me which part of BSP I can use. (For example, with 4-wire resistive touch driver, the original imx7_winceimage driver has a lot of problem. I used another touch driver, it’s better than the original one, but not quite OK).
6) I tried to solve the problem with some cables and USB ports, but the cables and ports are not the cause of the problem.
7) I haven’t debugged yet, I have to look for ways to debug.

Hi,
For example, to illustrate the error, I selected an IMX7 module, reflashed it and installed .Net Frame work, then added FTDI_ser.dll to the \FlashDisk\System folder. After adding the required information in the registry, it was OK. But after reinstalling the .Net framework, the FTDI driver problem appeared. I checked the registry, no changes in the registry! I mean, it’s very easy for this error to appear, especially with any registry changes.
Interesting topic and helpful to find the cause of the error, I have added a large keyboard to Windows. Without plugged in FD232 device , after Windows boots up, the large keyboard appears as selected keyboard to use. If the FT232 is connected and this error occurs, many times it is observed that no keyboard is selected by default and calling the keyboard is encountered with an error. Or in many cases, it has been observed that if this problem exists, the mouse connected to the USB port with the hub switch does not work.

Have you tried to install latest FTDI divers?

Hi
Finally I was able to solve the problem.
Wiat4FlashDish registry is empty in all Windows images files (WINCE7 and WINCE8 images). I was able to find the appropriate registry for it in the Workspace section.
(Windows CE Platform Builder Workspace | Toradex Developer Center)
solution: The registry for Wait4FlashDish should be replaced with the following statements.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\HCD_HSH1\DependsOn]
“FlashDisk”=“Drivers\BuiltIn\Wait4FlashDik”
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Wait4FlashDisk]
“Prefix”=“WFD”
“Dll”=“w4fd.dll”
“Folder”=“\FlashDisk”
“Timeout”=dword:A
“Order”=dword:2
“Flags”=dword:0

best regards
Siminfar