Skip to content
nxpfrankli edited this page Dec 19, 2024 · 23 revisions
  • Win7 can’t found driver

  • Linux: Open device failure

    sudo uuu xxx
  • Some iMX8mm(845) chip failure write at linux system

    Need apply ROM patch, contact FAE to get it.
  • Failed with higher rate on i.MX8QXP C0 MEK board with Type-C port at linux system

    Linux Host PC to force USB driver behavior similar like Windows OS before connecting.
    echo Y > /sys/module/usbcore/parameters/old_scheme_first
  • How to use absolute path in scripts

    Default all paths in script is related uuu scripts. if you want to use absolute path in scripts
    Add ">" in path like
      >/home/xxx
  • uuu exit silence or report missed dll

    Please upgrade to 1.2.x
  • How to avoid sudo in linux

    Put below context into /etc/udev/rules.d/99-uuu.rules  (need sudo)
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="012f", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0129", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0076", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0054", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0061", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0063", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0071", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="007d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0128", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0126", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0135", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0134", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="012b", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="b4a4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a5", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="066F", ATTRS{idProduct}=="9BFF", MODE="0666"

run sudo udevadm control --reload-rules

'uuu -udev' can show above help.

  • How to get file in zip without decompress

    Assume there are file name uuu.auto in A.zip file.
    A.zip/uuu.auto
    for example:
    uuu A.zip/uuu.auto
  • How to send out uncompress bz2

    Added /* after bz2 file
    for example
    uuu -b emmc_all <bootloader> sdcard.bz2/*
  • Boot fail after burn > 4G Image

    uboot need below patch
      diff --git a/common/image-sparse.c b/common/image-sparse.c
      index ddf5772..86ff5a0 100644
      --- a/common/image-sparse.c
      +++ b/common/image-sparse.c
      @@ -59,7 +59,7 @@ void write_sparse_image(
              uint32_t bytes_written = 0;
              unsigned int chunk;
              unsigned int offset;
      -       unsigned int chunk_data_sz;
      +       uint64_t chunk_data_sz;
              uint32_t *fill_buf = NULL;
              uint32_t fill_val;
              sparse_header_t *sparse_header;
      @@ -130,7 +130,7 @@ void write_sparse_image(
                                       sizeof(chunk_header_t));
                      }

      -               chunk_data_sz = sparse_header->blk_sz * chunk_header->chunk_sz;
      +               chunk_data_sz = (uint64_t)sparse_header->blk_sz * (uint64_t)chunk_header->chunk_sz;
                      blkcnt = chunk_data_sz / info->blksz;
                      switch (chunk_header->chunk_type) {
                      case CHUNK_TYPE_RAW:
  • WCID failure load

Apply below uboot patch

diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c
index ae8fe80..cd46ca4 100644
--- a/drivers/usb/gadget/f_fastboot.c
+++ b/drivers/usb/gadget/f_fastboot.c
@@ -2543,10 +2543,10 @@ static int fastboot_bind(struct usb_configuration *c, struct usb_function *f)
 	f->os_desc_table->if_id = id;
 	INIT_LIST_HEAD(&fb_os_desc.ext_prop);
 	fb_ext_prop.name_len = strlen(fb_ext_prop.name) * 2 + 2;
-	fb_os_desc.ext_prop_len = 14 + fb_ext_prop.name_len;
+	fb_os_desc.ext_prop_len = 10 + fb_ext_prop.name_len;
 	fb_os_desc.ext_prop_count = 1;
-	fb_ext_prop.data_len = strlen(fb_ext_prop.data);
-	fb_os_desc.ext_prop_len += fb_ext_prop.data_len;
+	fb_ext_prop.data_len = strlen(fb_ext_prop.data) * 2 + 2;
+	fb_os_desc.ext_prop_len += fb_ext_prop.data_len + 4;
 	list_add_tail(&fb_ext_prop.entry, &fb_os_desc.ext_prop);

 	id = usb_string_id(c->cdev);
  • out of memory at 64bit system

If use bz2 or zip file, it is possible out of memory. Please increase swap partition size in linux. increase virtual memory size in windows.

  • How to write emmc to second boot partition

FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev $emmc_dev

FB: ucmd echo flashing first parttion

FB: ucmd setenv fastboot_buffer $loadaddr
FB: download -f imx-boot.bin
FB: ucmd setexpr fastboot_blk $fastboot_bytes
FB: ucmd setexpr fastboot_blk $fastboot_blk + 0x1FF
FB: ucmd setexpr fastboot_blk $fastboot_blk / 0x200
FB: ucmd mmc dev $emmc_dev 1
FB: ucmd echo fastboot_buffer: $fastboot_buffer
FB: ucmd echo fastboot_blk: $fastboot_blk
FB: ucmd mmc write $fastboot_buffer 0 $fastboot_blk

FB: ucmd echo flashing second parttion

FB: download -f imx-boot-ALTERNATE.bin
FB: ucmd setexpr fastboot_blk $fastboot_bytes
FB: ucmd setexpr fastboot_blk $fastboot_blk + 0x1FF
FB: ucmd setexpr fastboot_blk $fastboot_blk / 0x200
FB: ucmd mmc dev $emmc_dev 2
FB: ucmd mmc write $fastboot_buffer 0 $fastboot_blk

FB: ucmd mmc partconf $emmc_dev 1 1 0

FB: Done
  • How to use uuu in docker

libusb need udev event to get new devices appeared.

Added option

docker run --net=host -v /run/udev/control:/run/udev/control

  • How to use uuu in virtual machine

    • Map HID device into virtual machine

uuu1
  • Map fastboot device into virtual machine after uboot boot

uuu2
  • You can use uuu burn image in virtual machine