Troubleshooting for Image Flashing (Windows)

This section applies to Windows only.

Missing Image or Binary (Windows Only)

This issue might happen to compressed image archive in .zip or .tar.gz format. You might encounter the following error on Windows after executing aiot-flash:

Traceback (most recent call last):
...
with open(f"{path}/{name}-{machine}.testdata.json", 'r') as fp:
FileNotFoundError: [Errno 2] No such file or directory: './rity-demo-image-i350-evk.testdata.json'

This is usually caused by incompletely extracted file archives. In this case, try the following:

  1. Rename the image archive to a short name, such as image.tar.gz.

  2. Unextract the images to root directory, such as D:\ on Windows.

Missing “Yocto” Device Driver (Windows Only)

If you are connecting the board and switching it to Download Mode for the first time, you might find that

  1. There is an unrecognized Yocto device, and

  2. aiot-flash keeps waiting for the device after Jumping to bootstrap:

aiot-flash
AIoT Tools: v1.2
Yocto Image:
        name:     Rity Demo Image (rity-demo-image)
        distro:   Rity Demo Layer 21.2-dev (rity-demo)
        codename: hardknott
        machine:  i350-sb35
        overlays: []

Looking for MediaTek SoC matching USB device 0e8d:0003
Opening COM14 using baudate=115200
Connected to MediaTek MT8168 SoC
Sending bootstrap to address: 0x201000
Jumping to bootstrap at address 0x201000 in AArch64 mode
erasing mmc0
< waiting for any device >

This is likely caused by an unrecognized device driver. To confirm if this is exactly the issue:

  1. Press Windows+R and type devmgmt.msc then press ENTER.

  2. Check the Device Manager dialog and see if it has a Other devices > Yocto device that is not recognized:

    ../../../../_images/sw_rity_get-started_flash_unrecog_dev.png

    Unrecognized “Yocto” device in Windows Device Manager

To install driver for the unrecognized device, please follow steps below:

  1. Right-click on the Yocto device, and select Update Driver Software.

  2. Click Browse my computer for driver software.

  3. Click Let me pick from a list of device drivers on my computer.

  4. Choose Android Device.

  5. Choose Android Bootloader Interface.

  6. Click Yes if a “Update Driver Warning” dialog pops.

../../../../_images/sw_yocto_get-started_flash_update-yocto-device-driver-on-windows.gif

After updating the Android Bootloader Interface driver, aiot-flash should be able to detect the device and start the flashing procedure.

Windows Device Drivers

Different ports on AIOT-i350-EVK require different Windows drivers when connected to your windows host pc. Here is a list of the drivers and the corresponding location in the Windows Device Manager:

  • UART-to-USB-Serial

    ../../../../_images/sw_yocto_get-started_flash_flash-troubleshoot-windows_UART-to-USB-Serial.jpg
  • FastBoot (for aiot-flash)

    ../../../../_images/sw_yocto_get-started_flash_flash-troubleshoot-windows_FastBoot-for-aiot-flash.jpg
  • RNDIS (After boot into Yocto and connected to Windows via USB port)

    ../../../../_images/sw_yocto_get-started_flash_flash-troubleshoot-windows_RNDIS.jpg
  • ADB (After boot into Yocto and connected to Windows via USB port)

    ../../../../_images/sw_yocto_get-started_flash_flash-troubleshoot-windows_ADB.jpg

Flash Process Paused

On Windows, you might find that the flashing process is “paused” during writing operation:

../../../../_images/sw_yocto_get-started_flash_windows_pause.png

And the flash process can be resumed by pressing ENTER in the console window.

To remedy this problem, please follow these steps:

  • Click the console icon in the upper-left corner of the console window, and select Defaults

    ../../../../_images/sw_yocto_get-started_flash_windows_open_console_setting.png
  • In the Console Window Properties window:

    1. Click Options tab.

    2. Uncheck QuickEdit Mode in Edit Options

    3. Click OK

    ../../../../_images/sw_yocto_get-started_flash_windows_disable-quick-edit.png

This should prevent the flashing process being paused in the future console sessions.