AnsweredAssumed Answered

How to enter a iMX6 when locked out

Question asked by Jochen Bauer on Mar 26, 2019
Latest reply on May 16, 2019 by Victor Linnik

It happens that I have a couple of Yocto based iMX6 based devices here on my desk. One of them was provided by the manufacturer with a so called "unsecured" firmware, which leaves the access to the serial port open and therefore I always can access the uboot console to re-flash the whole firmware when something goes wrong.

 

The other devices have a so called "secured" firmware on them. That means the linux has a root password which is secret and (if at all) only known to the manufacturer. The serial port also seem not to fully work, the boards not even have the serial header soldered on.

 

As a user, you have exactly one try to install your own applications to the linux system via a manufacturer enabled USB setup manager, which will disable itself after the first successful execution. So with that one update, you have to apply something, that you need to have further access to the device. If you make a mistake, you find yourself locked out.

 

I now accidentially put myself in such a situation. The system is up and running, it answers to pings but does not accept incoming ssh connections anymore. My own applied usp update mechanism seems to be not correctly working. So in fact, I am locked out from the system. 

 

I first soldered the serial header onto the board and connected to it, expecting uboot to show up, as I know it from the board with the "unsecured" developer firmware image. But to my surprise, nothing showed up. After a while I can see watchdog messages printed in the terminal that originate from the running linux system. So on the hardware level, the serial port is working for sure. 


But no access to u-boot. The manufacturer refuses to help with the problem. They want us to send the device back in so that they can unlock it. 

 

As a developer who needs to have control of the system, this is a frustrating situation. 

 

Is there a way, how I can reset the device so that I can re-flash any firmware I want?

I have access to a set of files that the manufacturer provides.

 

Namely

 

* A directory "mfgtools" with a console application "mfgtool2-mx6-xxx-yyy-zzz (noUi).vbs" that I use to install the recovery image after issuing 

    sf probe
    sf erase 0x000000 0xc0000

from the uboot console.

* A direcory called "factory_images", which I usually use to re-flash the firmware from an usb flash drive once I have the recovery installed successfully.

* Two files, *.sysimage and *.firmware, which are used to install the system and firmware from within the manufacturer provided dbus-api in the running yocto.

 

I am sure, that it is really easy to do a low level re-flash of the device, but I have no experience in that. The manufacturer is unable to deliver developer friendly versions of their board at the moment, that are equipped with the "unsecured" firmware, so I have to deal with the devices I have and would really appreciate a way do flash the device no matter what software restrictions exist.

 

I appreciate any help.

 

Thanks in advance

 

Jochen

Outcomes