Resetting password on apalis-imx8 board in a custom carrier

I’m in the situation that I managed to lose the admin password for the iMX8 that I am using for development.

On the positive side,

  1. It is nicely connected to the Torizon OTA system and I can send new images to it all day long.
  2. I can ssh to it locally (but no variation of the password I thought I had set works)
  3. I can connect over the serial port and get to the password prompt that way
  4. I can also abort the bootup process on the serial port and get to the Apalix iMX8 u-boot which gives me access to the host of boot commands
  5. I can successfully log into the portainter interface as an admin and install/uninstall containers.

Unfortunately what I can’t do is connect anything to the USB port. For some reason it doesn’t seem to recognize any devices on the USB port.

So without a working USB port, I don’t seem to be able to use the factory reset method.

Is there any way using either the OTA or u-boot commands on the serial port that I can force reset the password or convince the board to go back to a factory default?

Thank you very much!

Hi @toebes

Can you try to boot Easy Installer from an SDCard or a USB stick? Maybe U-Boot will have better luck with your USB or you can try an SDCard

Drew

Unfortunately USB doesn’t seem to work on this carrier board with the iMX8. If I put a TK1 module in it, the USB works perfectly fine. An identical carrier board in the midwest works perfectly fine with the iMX8 SOM but we have no idea why this board doesn’t seem to recognize the USB, which seems to lock me out of quite a few options.

Understood but do you have access to the serial console? It’s possible that U-Boot will be able to access the USB and boot TEZI from there. Alternatively you can try an SDCard.
Drew

I have full access to the serial console and have been working through all the possible commands. I’m able to halt the boot process, but I’ve not been able to convince it to boot into single user mode or even step to the point where it encounters the fstab issue. I would definitely welcome any advice on the right combination of bootargs to convince it to stop earlier.

If you can get into the U-Boot prompt you may be able to have it load TEZI from USB or SDCard rather than needing to go into recovery mode. From there you can reinstall.

Drew

If only life were that simple. The carrier board with the SOM doesn’t have an SDCard slot. The one removable media I have is a 512GB mSATA SSD (which incidentally is what I was trying to configure in the fstab when I got into this situation in the first place). The hardware engineer is still scratching his head as to why the USB port doesn’t work with the iMX8 but does work when I put in a TK1 module.

If I could figure out how to access the file system that /etc/fstab is on, I’m sure I could manage to load/save it with the right fixes. I only need to replace a single character with a # to comment out the offending line and I should be good.

However, I’m only able to see the boot information stored in mmc 0:1.

Any suggestions there?

Do you have one of our standard carrier boards you can try?

Alternatively you could try to setup a system to boot off of either the mSATA or off of NFS and then mount the eMMC for modification.

If your U-Boot has the “bmode” command you may be able to force it into recovery mode at the U-Boot prompt by running “bmode usb”. However if the USB port is non-functional even in U-Boot this may not work.

A riskier alternative is to wipe the eMMC contents from U-Boot. But this again requires a functional USB port. You can erase the eMMC with:

U-Boot> mmc dev 0 1
U-Boot> mmc erase 0 100

and then power cycle the board. It should come up automatically in recovery mode assuming the USB is functional. If you monitor the dmesg on the connected PC you should see a device connect with logs similar to:

[90730.807622] usb 5-1.3.4.3.4: New USB device found, idVendor=1fc9, idProduct=0129, bcdDevice= 0.02
[90730.807629] usb 5-1.3.4.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[90730.807632] usb 5-1.3.4.3.4: Product: SE Blank 8QM 
[90730.807634] usb 5-1.3.4.3.4: Manufacturer: NXP       SemiConductor Inc 
[90730.866082] hid-generic 0003:1FC9:0129.000E: hiddev2,hidraw9: USB HID v1.10 Device [NXP       SemiConductor Inc  SE Blank 8QM ] on usb-0000:46:00.1-1.3.4.3.4/input0

This is of course, a last ditch effort because it does overwrite the eMMC.

Drew

After poking at it for quite a while and a few reboots the system actually accepted the password that I had set originally. Just to make sure that everything was good, I tried resetting the password to the same value and ran into the dreaded Authentication token manipulation error.

root@apalis-imx8-06945459:~# passwd torizon
passwd: Authentication token manipulation error
passwd: password unchanged

However another reboot and I managed to get it accept the password. To be honest, I’m a bit baffled as to why it is behaving this way, but I am working again.

I don’t have a standard carrier board available here, but may look into getting one. There are still a couple of oddities that don’t make a lot of sense here with it and I am starting to wonder if it is related.

This is the same carrier board that we have been using with a TK1 SOM. I can put the TK1 SOM in there and the USB port works just perfectly fine. But when I put in the new iMX8 SOM in there the USB port doesn’t work. Also the CPU runs VERY VERY hot (100 C) unless I put a Huge heat sink on it. Even then, it only drops it down to 75C. Note that two identical carrier boards in Kansas City work perfectly fine with the new iMX8 replacing the TK1 and don’t run as hot.

I’m definitely open to any thoughts.

Yeah, I can understand your bafflement here. I’ve never seen the “token manipulation error” like this and I don’t have any theory as to why it can happen.

I definitely recommend you get a standard carrier board as it is always a good sanity check to isolate issues.

As for the heat, I know the apalis-imx8 definitely runs hotter than most of our other SOMs. It ships by default with a heat sink and I normally run an active fan on it as well. If you see this SOM behaving differently than others then I would be concerned but I think this is normal and expected.

Drew

@toebes the steps in this page may get more logging for your unexplained reboot issue:

It won’t help with the lack of persistence in the logs but if you keep the serial console open there may be more details there that may help.

Drew

Great idea… I have been doing that… Nothing seems to show up, but perhaps I am missing something in what comes out. The first line is the login from the previous reboot and then everything else is what comes out when it reboots. Other than the times for initializing, they all seem to be the same.

apalis-imx8-06945459 login: 

U-Boot 2020.04-5.5.0+git.81bc8894031d (Jan 01 1970 - 00:00:00 +0000)

CPU:   NXP i.MX8QM RevB A53 at 1200 MHz

DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB IT V1.1C, Serial# 06945459

 BuildInfo:
  - SCFW 778670e2, SECO-FW d63fdb21, IMX-MKIMAGE 8947fea3, ATF 835a8f6
  - U-Boot 2020.04-5.5.0+git.81bc8894031d

switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
1182 bytes read in 14 ms (82 KiB/s)
## Executing script at 83100000
5967 bytes read in 28 ms (208 KiB/s)
166807 bytes read in 34 ms (4.7 MiB/s)
43 bytes read in 26 ms (1000 Bytes/s)
Applying Overlay: apalis-imx8_hdmi_overlay.dtbo
2177 bytes read in 35 ms (60.5 KiB/s)
11612693 bytes read in 278 ms (39.8 MiB/s)
Uncompressed size: 28715520 = 0x1B62A00
9176228 bytes read in 228 ms (38.4 MiB/s)
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Loading Ramdisk to fcd8d000, end fd64d4a4 ... OK
   Loading Device Tree to 00000000fcd41000, end 00000000fcd8cfff ... OK

Starting kernel ...

[    0.161573] 002: No BMan portals available!
[    0.162837] 002: No QMan portals available!
[    1.994277] 001: imx-audmix imx-audmix.0: failed to find SAI platform device
[    2.130688] 003: imx6q-pcie 5f000000.pcie: pcie_ext clock source missing or invalid
[    2.133184] 004: imx6q-pcie 5f010000.pcie: pcie_ext clock source missing or invalid
[    2.611712] 000: debugfs: Directory '59050000.sai' with parent 'apalis-imx8qm-sgtl5000' already present!
[    3.773775] 004: imx6q-pcie 5f010000.pcie: failed to initialize host
[    3.773782] 004: imx6q-pcie 5f010000.pcie: unable to add pcie port.
[    3.893945] 003: imx6q-pcie 5f000000.pcie: failed to initialize host
[    3.893954] 003: imx6q-pcie 5f000000.pcie: unable to add pcie port.
Starting version 244.5+
[   10.136285] 002: debugfs: Directory '59090000.sai' with parent 'imx-audio-hdmi-tx' already present!
[   10.154162] 002: debugfs: File 'Capture' in directory 'dapm' already present!

TorizonCore with PREEMPT_RT 5.5.0+build.11 apalis-imx8-06945459 ttyLP1

apalis-imx8-06945459 login:

Ok I bought an Apalis Evaluation Board and put the iMX8 on it. Unfortunately, following the First Steps with Apalis Evaluation Board documentation it doesn’t want to talk to the VGA port. So I’ve tried to go into
iMX Recovery Mode | Toradex Developer Center and following the directions it seems that I need to remove the heat sink and jumper the two tiny pads on the iMX8. I’ve tried several different ways and don’t seem to get it into recovery mode. Is there some other trick that I might be missing?

Nothing obvious. You do have the correct USB port connected to your PC right? Assuming it is a Linux box can you open a shell prompt and run the command sudo dmesg --follow and let that run while you power on the board? There should be some logs indicating the USB connection is being made.

Drew

This is from my Windows 10 PC connected to the USB port on the Evaluation board. I can see all the boot messages on the USB port connected to my PC, so I know that works and I can even interrupt the boot to stay in U-Boot. However I am unable to log into the board because this is the SOM that I lost the password to. I’m attempting to reset so I can recover the SOM and set a new password.

The USB console is a different port than the one used for recovery mode. Specifically you need to connect X49 or X50 to your PC when attempting to boot into recovery mode. When you do that, do you see anything different in the USB devices section of the Windows “Device Manager”?

Drew

DOH! Thank you, I missed that in reading the instructions.

Ok I was able to successfully install the easy installer, and reflash the SOM and then install the default containers. However, the iMX8 on the Evaluation board still doesn’t talk to the VGA monitor plugged into the board. Is there some other option I am missing?

The apalis-imx8 SOMs do not have VGA; they only support HDMI and LVDS. See section 5.6.4 of the apalix-imx8 datasheet.

Drew