Hello,
I have an issue trying to recover my module. I was trying to assure that my device was secure and this is the test I did.
Reach a proper uboot with HAB features OK, and no HAB events.
Close the device programming proper fuse
Restart, everything was fine.
Now I wanted to load an untrusted uboot on purpose to simulate a hack try. Since I couldn’t get into recovery mode to load a new uboot, I started the board regularly, reboot into uboot menu, and then lauch Toradex Easy Installer from external SD (by running run distro_bootcmd)
The installation was performed correctly.
After the reboot, no output at stdout in debug serial port. Good sign. The new uboot doesn’t work as expected.
So, now, I want to load a working uboot again.
Now the module is bricked!
Here comes the problem: I couldn’t make it boot in uboot neither recovery mode.
I also tried with update.sh -d with no luck.
Unfortunately this fix won’t be very trivial. You can put your module into recovery mode via a hardware method as specified here.
Next in order to load software you could use the same method that our Easy Installer tool uses. The Toradex Easy Installer uses a utility that makes use of the i.MX SDP (serial download protocol) in order to load the Easy Installer image to the module. This utility does have the capability of loading signed binaries as well.
There is a good blog here where towards the bottom they talk about using the imx_usb_loader utility (similar utility to what Easy Installer uses) to load a HAB signed binary.
Unfortunately I don’t believe anyone here at Toradex including myself has ever tried this. So I will be unable to elaborte any further on this method.
I hope this helps lead you in the right direction where you are able to recover your module.
lsusb
Bus 002 Device 007: ID 15a2:0080 Freescale Semiconductor, Inc.
However, when I try
./recovery-linux.sh
Downloading Toradex Easy Installer...
[sudo] password for gaston:
Could not open device vid=0x1b67 pid=0x4000
Downloading Toradex Easy Installer failed...
Procedure 3 - through imx_usb_loader
I downloaded from git following the steps from the site.
I think it is not working correctly since I tried to load different u-boot.imx (to my bricked board and another sample) and there is no change reflected.
I think it is not working correctly since I tried to load different u-boot.imx (to my bricked board and another sample) and there is no change reflected.
I say this because in the “another sample”, I first load a regular uboot with no hab features (so hab_status command was not available) using Toradex Easy installer. Then, I tried to load a signed uboot containing hab features using imx_usb_loader and even showing correct flash, the hab_status command was not present either.
Procedure 1
Yes I would expect this outcome since the easy installer image doesn’t have a proper CSF attached.
Procedure 2
I don’t believe the update.sh script has support for signed binaries.
Procedure 3
Where did you get the imx_usb_loader source from? The one we use at Toradex for the easy installer is a separate fork located here:GitHub - toradex/imx_loader: USB/UART serial loader for i.MX51/53/6x/7/Vybrid. Also I’m not quite sure why you’re seeing that result on your other sample. Have you burned any fuses on your this other sample?
Also the binary you’re trying to flash with the loader tool. Has the CSF been modified as suggested in the boundary devices blog I linked in my original post?
Either way the hab_status command should be dependent on whether it was compiled into the U-Boot binary so this result is unexpected.
Hello,
Even I am facing the exact similar issue in I.MX7D module.
After closing the device I tried to flash an unsigned image to my board via easy installer application. The device didn’t booted up and is freezed.
So any solution to this .
How to recover the module back so that i can test both my signed and unsignd images via easy installer application .
Kindly address this at the earliest plz.