USB stick not recognized reinstalling TEZI

I am trying to reinstall Toradex Easy Installer (TEZI)
I have connected my host PC to the apalis board via the RS232 debug port
I plug in a usb stick with the TEZI files on it
Then I power up the board
As the board powers up I hit a key on the host to stop the autoboot.
At the prompt I type run bootcmd_usb0
I get the following messages finishing with unknown device and no TEZI
Any suggestions?

Apalis iMX8 # run bootcmd_usb0
starting USB...
Bus usb@5b0d0000: usb dr_mode not found
Port not available.
Bus usbh3: XHCI-imx8 init hccr 0x000000005b130000 and hcor 0x000000005b130080 hc_length 128
Register 2000820 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usbh3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello! Thank you for providing detailed information about your process and the error messages.

Your board is detecting the USB host controller and at least one device on the bus, but it is not recognizing your USB stick as a storage device. Here are some recommended troubleshooting steps for this scenario:

  1. USB Stick Compatibility
    Some USB devices are not fully compatible with the U-Boot USB stack and may fail to enumerate correctly (reference). Please try:

    • A different USB stick, preferably from another manufacturer.
    • Using a USB 2.0 stick instead of USB 3.0, as sometimes there are better results with simpler devices.
  2. Power Supply
    Ensure your board’s USB port provides enough power for the USB stick. Some sticks require more current, and insufficient power can cause detection failures (reference).

  3. USB Stick Preparation
    Double-check that your USB stick is:

    • Formatted as FAT32.
    • The TEZI files are unzipped and present in the root directory, not within a folder.
    • If you are following the external media loading method, make sure that you have renamed boot-tezi.scr to boot.scr (reference).
  4. Unsupported Method Caveat
    The method you’re using (external media loading with a USB stick) is not officially supported by Toradex and depends on “Distro Boot,” which does not always work reliably across all U-Boot versions (reference).

  5. Alternative - Official Method
    For the most reliable experience, it is strongly recommended to use the USB OTG recovery method.

    • Put your module in recovery mode.
    • Use the recovery script from the TEZI package on your host to load the installer over the USB OTG interface.
    • This method is supported and more robust for loading TEZI (reference).

Summary of recommended actions:

  • Test with a different, FAT32-formatted USB stick.
  • Check your power supply and USB port.
  • Ensure correct file preparation and naming.
  • If possible, use the USB OTG recovery method for best results.

Let me know if you need step-by-step instructions for the official OTG recovery method or further troubleshooting.

Best regards,
Toradex AI Assistant.

The carrier board is Apalis v1.2 with 3 buttons

How should I put it into recovery mode?

There is a button labelled recovery (next to Reset and Power)
Holding Recovery button down during power up does not appear to do anything. The board still boots with its current image.

Note the current image does run properly but I still need to change the image for my new project.
For instance I can mount the usb stick once the board has booted up. Can I run recovery from there? Or can I set the board to boot from SD card where I also have a TEZI image?

Hello @Gideon1 !

Could you just clarify: Which module and carrier board specifically are you using?

Regardless, you can input that info on this page and find out how to properly re-flash TEZI into your module.

Apalis Evaluation Board v1.2a
imx8 apalis SoM

For this combination of SoM and Carrier Board, you can follow this guide on how to properly enter recovery mode:

So it is still necessary to remove the heatsink from the SoM to short the Recovery pins :frowning:
I had hopped the Recovery button would do that more easily

Yes, it is necessary; but as I mentioned before, it should not be an issue to operate your SoM without the heatsink for the duration of the recovery process.

Actually it’s not mandatory if you are using an Ixora board heatsink doesn’t block access to the recovery header:

You can use tweezers or a jumper wire, as shown in the picture.

On the Apalis Evaluation Board, you can use the Apalis iMX8 Mezzanine, which has a dedicated recovery button.

Thanks for the suggestion but on an apalis board the recovery pins are hidden on the SoM

Still trying u boot before I remove the heatsink and go for Recovery.
With the USB stick attached to the USB c port on the Apalis carrier board then run bootcmd_usb0 is finding the TEZI image and starting to boot

starting USB...
Bus usb@5b0d0000: usb dr_mode not found
USB EHCI 1.00
Bus usbh3: XHCI-imx8 init hccr 0x000000005b130000 and hcor 0x000000005b130080 hc_length 128
Register 2000820 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@5b0d0000 for devices... 2 USB Device(s) found
scanning bus usbh3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Device 0: Vendor: Generic  Rev:  Prod: Flash Udisk
            Type: Removable Hard Disk
            Capacity: 2001.0 MB = 1.9 GB (4098192 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot.scr
1834 bytes read in 4 ms (447.3 KiB/s)
## Executing script at 83100000
117 bytes read in 3 ms (38.1 KiB/s)
42958743 bytes read in 2641 ms (15.5 MiB/s)
Bootargs: quiet video=LVDS-1:d video=HDMI-A-1:640x480-16@60D initcall_blacklist=vpu_driver_init rootfstype=squashfs root=/dev/ram autoinstall
## Loading kernel from FIT Image at 8a000000 ...
   Using 'conf-freescale_imx8qm-apalis-v1.1-eval.dtb' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x8a0000f4
     Data Size:    7740927 Bytes = 7.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x96000000
     Entry Point:  0x96000000
     Hash algo:    sha256
     Hash value:   a0cd44cfd64480c66c3639a01cbe893325bcf0d37f55f6998d5060aa317fc2ef
   Verifying Hash Integrity ... sha256+ OK

and more similar messages

but then fails with the error

## Loading fdt from FIT Image at 8a000000 ...
   Using 'conf-apalis-imx8_spi2_spidev_overlay.dtbo' configuration
   Trying 'fdt-apalis-imx8_spi2_spidev_overlay.dtbo' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x8a949064
     Data Size:    551 Bytes = 551 Bytes
     Architecture: AArch64
     Load Address: 0x870f0000
     Hash algo:    sha256
     Hash value:   8a1c004369d8f1318cace660c7581c3016c2952099acc4864abc2da5f5ba535f
   Verifying Hash Integrity ... sha256+ OK
   Loading fdt from 0x8a949064 to 0x870f0000
   Booting using the fdt blob at 0x87000000
   Uncompressing Kernel Image
   Loading Ramdisk to fb6a1000, end fd64e000 ... OK
ERROR: Failed to allocate 0x2e34c bytes below 0xffe00000.
device tree - allocation error
FDT creation failed! hanging...### ERROR ### Please RESET the board ###

I see the same error booting from an SD card
How to make a SD card with boot image of TEZI - Technical Support - Toradex Community

The SD card worked fine on an older apalis carrier board v1.1

Perhaps it is a hardware problem?

Apalis iMX8 Mezzanine is an add-on board for the Apalis Evaluation Board which provides access to the type specific interfaces available on the Apalis iMX8 module.