Cannot enter recovery mode after flash failure

I tried to setup jetson AGX Xavier with 18.04.6. While flashing Jetson OS, it was stuck at 99% as described in AGX Flasing Stuck at 99% - #20 by ryan74

After that, now I cannot reenter recovery mode and so I don’t know how to flash again. When I tried to enter recovery mode, it just goes to black screen and the host cannot connect to the device.

The unit was not set up before. It was just out of the package.

Hi,

Flashing a board does not check anything that was previously installed on the board. For example, flashing the board does not care about your board was previously installed Android/ Linux or any other kind of OS. A board should be abel to start the flash process when it is in recovery mode. Please be aware that “flash got stuck” is not related to what I am talking about. I only mentioned the “start of flash”.

So your “cannot enter recovery mode” is probably from something else. If this is your first time flashing a board through sdkmanager or flash.sh, I think we need to ask how you put your board into RCM.

If I just use power button to start, I can boot into linux. I used “sudo reboot --force forced-recovery” to “reboot”. But it never reboots. The power light is on but the screen went black and the host can’t see the connection.

I also tried to unplugged power cable, plugged back power cable, press and hold recovery button, press and release power button, release recovery button. Same result.

You didn’t answer the question. Is this your first time doing any kind of flash on jetson platform?

Also, I already mentioned in previous comment, please clarify whether your problem is “cannot enter recovery mode” or “flash starts but gets stuck”. These two issue are different cases.

Your description sounds like you already entered the recovery mode.

I could enter recovery mode once and then flash started but got stuck at 99%.

Now, it seems that I cannot reenter recovery mode. Since I am new with the board, I don’t know what to expect for the recovery mode. But flash doesn’t get started anymore. Last time I was in the recovery mode (I assumed I was in RCM since flash started), I didn’t turn on the screen and so I don’t know if it is normal to have a black screen for the recovery mode. But in any case, the host cannot see any new connection when I entered recovery mode. When I boot in the normal mode, the host can see a new wired connection (even though I need to manually assign IP for it). But when I tried to boot into recovery mode, the host does not see any new connection.

Sorry for missing your “question”. But I cannot find any “?” in your original reply.

What is your method to put your board into recovery mode?

If I just use power button to start, I can boot into linux. I used “sudo reboot --force forced-recovery” to “reboot”. But it never reboots. The power light is on but the screen went black and the host can’t see the connection.

I also tried to unplugged power cable, plugged back power cable, press and hold recovery button, press and release power button, release recovery button. Same result.

-Just copied from my previous message.

  1. I use command “sudo reboot forced-recovery”.

  2. Do you have any other jetson board on your side to validate whether your host really can flash any kind of jetson platform?

  3. Are you sure you are using the same type C port that was able to start the flash? Only one type C usb port is able to flash the board. Another one cannot.

  1. Yes. I used “sudo reboot --force forced-recovery”
  2. Unfortunately, I don’t have any other board to test.
  3. Yes. I use the one on the same side with the led light.

Could you check the lsusb and dmesg on host when you put the board into RCM?

lsusb:
Bus 002 Device 002: ID 0bda:0328 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 06cb:009a Synaptics, Inc.
Bus 001 Device 004: ID 04f2:b61e Chicony Electronics Co., Ltd
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 007: ID 056a:5148 Wacom Co., Ltd
Bus 001 Device 008: ID 0955:7019 NVidia Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

dmesg:
[162195.021565] usb 1-1: new high-speed USB device number 8 using xhci_hcd
[162195.170073] usb 1-1: New USB device found, idVendor=0955, idProduct=7019
[162195.170079] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[162195.170082] usb 1-1: Product: APX
[162195.170085] usb 1-1: Manufacturer: NVIDIA Corp.

ip addr:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 54:ee:75:f0:44:b4 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 74:e5:f9:64:11:03 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.143/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp2s0
valid_lft 6651sec preferred_lft 6651sec
inet6 fe80::4861:1a42:ec10:d4e2/64 scope link noprefixroute
valid_lft forever preferred_lft forever

It seems that the host can see the device but cannot create a network interface. Thanks.

Hi,

It is normal. The network interface will only be shown when linux kernel is up.

If the board is in recovery mode, then there is no OS running. No OS means no kernel, so it won’t have a network interface. Also, our flash process does not use that interface to flash either.

I think the board is in recovery mode. Could you share the flash command you are using and the result?

Thanks for the reply.

I used the sdkmanager to flash/install.

And I used “manual setup”, it complained

The target is in a bad state

The Jetson target is in a bad state and cannot be flashed. Please manually put the target into recovery mode and then retry flashing.

Do you have other host or type C usb cable to test?

Also, the flash port is the type C port on the opposite of the power cable. Please make sure you are using the correct port.

I don’t have another host to test. My other two laptops are 20.04. I tried two other type C usb cables and just got the same error.

Yes. I am aware that only the port on the opposite side of the power cable works. I am using that one.

Have you also tried to use reset + FRC button to trigger the recovery mode?

Just tried that also. But got the same error. I probably will just try to look for another 18.04 or 16.04 host.

Try another host, this time it started flashing okay. But it seems to be stuck at 99%. Will wait for maybe overnight to see.

You can check the uart log from device “when it got stuck”.