Imx6ull Uboot Update via USB pendrive

Hi,

I’m currently attempting to run set update on a imx6ull board with the use of an Iris development board and an image loaded to a pendrive on the USB port. The board is clearly detecting the USB on USB1, but is finding 0 storage devices. Also when I let angstrom boot, the usb storage is clearly showing up as sda1 in /media and I can navigate all of the image files on the USB.

Shown below are the u-boot logs:

Colibri iMX6ULL # run setupdate
MMC: no card present
starting USB…
USB0: Port not available.
USB1: USB EHCI 1.00
scanning bus 1 for devices… 1 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
** Bad device usb 0 **

Do I have to somehow manually mount sda1 on USB1, or is there some bigger issue at play here. I have also worked with flashing regular imx6/imx6d Colibri modules in this way and have never run into this issue…

I have tried the micro sd slot, and it does work, but I require flashing through a USB port for a project I am currently working on.

Thanks,
-Matt

Is there any particular reason for you to set this question on private? With private questions there is no way for the community to provide feedback or profit from any feedback.

Please note that legacy update on the Colibri iMX6ULL is not officially supported in favor of the Toradex Easy Installer. Is there a particular reason you are not using that one?

Hi Marcel,

We are an engineering firm that implements our own Toradex images deployed using yocto, flashing is a part of our testing procedure. We typically flash the toradex using one of our project pcbs, something that is easier for us to do from the u-boot shell in high volume (It is integrated in the flash software we wrote). We also want to give our customers and collaborators an easy way to update our images without the use of an Iris board. Once our images are flashed, I find I have to reset the modules manually with Toradex Easy Installer through the USB if I want to upgrade to a new image (Toradex Easy Installer has to be reinstalled back onto the module). I do not have to do this when I use uboot . We could probably make some changes to our designs and software to accommodate easy installer, but at this point it would be easier if we could use the legacy method.

We have an image that works using the legacy method, but only though the micro SD slot on the iris board. The pcb’s I am currently working with only have a USB port and typically we use some external storage device like a pendrive or microSD hub to flash images. This is why I am asking about flashing through a USB interface.

We are an engineering firm that implements our own Toradex images deployed using yocto, flashing is a part of our testing procedure. We typically flash the toradex using one of our project pcbs, something that is easier for us to do from the u-boot shell in high volume (It is integrated in the flash software we wrote). We also want to give our customers and collaborators an easy way to update our images without the use of an Iris board.

No reason having to use the Toradex Easy Installer with an iris board. It supports installing pretty much on any board via any means.

Once our images are flashed, I find I have to reset the modules manually with Toradex Easy Installer through the USB if I want to upgrade to a new image (Toradex Easy Installer has to be reinstalled back onto the module).

Not at all. You may simply run it at any time from an SD card or USB memory stick using distro boot.

I do not have to do this when I use uboot . We could probably make some changes to our designs and software to accommodate easy installer, but at this point it would be easier if we could use the legacy method.

You may of course use the legacy method but it is no longer supported by us.

We have an image that works using the legacy method, but only though the micro SD slot on the iris board. The pcb’s I am currently working with only have a USB port and typically we use some external storage device like a pendrive or microSD hub to flash images.

This is exactly why we streamlined the whole installation process across all our modules with the Toradex Easy Installer.

This is why I am asking about flashing through a USB interface.

Unfortunately, U-Boot’s USB stack is somewhat delicate. You may try a different USB memory stick or going through an additional USB hub vs. direct connection.

I managed to get automatic image installations working, but I am still having issues with the reintroducing Toradex Easy Installer after I have flashed a toradex with our image.

I tried unpacking the Toradex easy installer folder in the root directory of my sd card, (boot.scr is in the root directory with the image file, tezi.itb, etc). I’m testing using the microSD slot for now, but the toradex isn’t booting to easy installer. I also can’t seem to detect usb storage when a usb device is connected in u-boot (I think it isn’t powering on the device), which is odd because the same devices are detected in uboot with our colibri imx6 and imx6d modules. I don’t think I can boot from USB if the modules aren’t being detected.

Distro boot is supposed to be automatic right? Does uboot check for a microSD image first before booting from flash?.

Is there a way I can manually boot using the sd card from uboot?

Thanks,

Matt

I managed to get automatic image installations working,

Congratulation!

but I am still having issues with the reintroducing Toradex Easy Installer after I have flashed a toradex with our image.

I tried unpacking the Toradex easy installer folder in the root directory of my sd card, (boot.scr is in the root directory with the image file, tezi.itb, etc). I’m testing using the microSD slot for now, but the toradex isn’t booting to easy installer. I also can’t seem to detect usb storage when a usb device is connected in u-boot (I think it isn’t powering on the device),

I don’t think that is the issue as the USB power LEDs are lit on the Colibri Evaluation Board plus a human interface device gets detected.

which is odd because the same devices are detected in uboot with our colibri imx6 and imx6d modules. I don’t think I can boot from USB if the modules aren’t being detected.

Yeah, I guess that is true.

I had a quick look but it seems that even in mainline U-Boot USB storage devices are not working on i.MX 6ULL which is rather odd.

Distro boot is supposed to be automatic right? Does uboot check for a microSD image first before booting from flash?.

Not quite, at least not in our U-Boot as it would be rather costly to always initialise and probe all interfaces.

Is there a way I can manually boot using the sd card from uboot?

Sure, have a look at bootcmd which uses it as a fallback should it no longer boot from on-module storage.

BTW: Alternatively, one may launch the Toradex Easy Installer via USB recovery mode even if everything including U-Boot got corrupted/erased or whatever.