Jetson Nano unable to boot and flash

While trying to flash my Jetson Nano 2GB with JetPack 4.6, the system crashed.
When trying to reboot the system, the setup does not appear and only a black screen is shown.
The green LED on the board does turn on each boot, but nothing happens.

I have tried reflashing the sdcard several times but still nothing happens.
I thought maybe the sdcard was bad. So, I tried a new one, still does not work.
Afterwards, I tried older versions of JetPack but to no avail.

The forums suggested that I give the SDKManager a try, so that I am able to flash the Jetson Nano itself and not just the sdcard.
I plugged in a micro-usb cable and put the device in recovery mode.
The first attempt failed on my laptop running Ubuntu 20.04.
I later realised that the SDKManager does not work on 20.04, but only on 18 and 16 according to the documentation.
So, I tried the docker image for SDKManager instead.

The docker command I used was

docker run -it --rm --privileged -v /dev:/dev --name JetPack_Jetson_Nano sdkmanager:1.6.0.8170 --cli install --logintype devzone --product Jetson --version 4.6 --targetos Linux --host --target JETSON_NANO_TARGETS --flash all --license accept --staylogin true --datacollection enable

The first attempt failed because I was missing the qemu-user-static library on the host machine.
So, I installed it and tried again.
This time the docker image failed to flash the device due to missing libraries in the container.

I wrote a Dockerfile which includes this missing library in the container.

FROM sdkmanager:1.6.0.8170
RUN sudo apt update && sudo apt install -y libxml2-utils
ENTRYPOINT [ "docker-entrypoint.sh" ]

Then by a simple docker build command I rebuild the image.

docker build -f Dockerfile -t sdkmanager:fixed .

Afterwards, I updated the command to use the fixed version and ran it again.

docker run -it --rm --privileged -v /dev:/dev --name JetPack_Jetson_Nano sdkmanager:fixed --cli install --logintype devzone --product Jetson --version 4.6 --targetos Linux --host --target JETSON_NANO_TARGETS --flash all --license accept --staylogin true --datacollection enable

This time the flashing gets stuck at 99% and notices that it is taking longer than expected.

What is left for me to try?

Furthermore, I suggest that the docker image gets updated to reflect this change.

1 Like

Hi,

For the latest SDKmanager v1.6, it supports ubuntu 20.04 already.

Could you try to install SDK manager on your host directly.
And see if you can flash Nano 2GB successfully?

Thanks.

That is what I tried on 2 different machines running ubuntu 20, but it didn’t work.

I performed a sdkmanager —query and it returned only commands for ubuntu 18 and 16.

So, I have bought a serial cable and managed to read the output of the serial console.
It seems that the bootloader is corrupted.

[0000.524] Loading NvTbootKernelDTB
[0000.590] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode
[0000.613] NvTbootKernelDTB is corrupted!                 
[0000.617] Error in NvTbootLoadBinary: 0x14 !                                      
[0000.621] Error is 14 

@AastaLLL What should I do?
Comeplete log:
jetson_nano_2gb_debug_log.txt (6.8 KB)

Thanks for your testing.

We are trying to reproduce this issue in our environment.
Will share more information with you later.

If there is anything you would like me to try, feel free to ask me.

In the mean time I have bought a second Jetson Nano. And flashing the system with sdkmanager or sdcard works just fine on that one.

Any progress? Or should this Jetson Nano be RMA’d?

Hi,

What is your flash result after 8/24? The log you shared from uart is indeed a corrupted log, but that one is a boot failure log, not a flash failure log.

We already knew that your board has the boot problem and re-flash the board with sdkmanager shall fix it.

Thus, would like to know is that log after re-flashing? Or the reflash is not yet started and you just want to share current log?

Using sdkmanager I can’t flash the board. Whenever I try this it gets stuck at 99%.

I will give this another try today and report back.

iirc, the boot flow for the jetson nano requires the board to pass the Tegraboot stage before it can be flashed, right? Since that makes flashing possible.

No, the flash process does not care what is pre-installed on the board.

If the flash always stuck, please click the “export logs” on the sdkmanager UI and attach it here.

I think it finally managed to flash the board!
I did the same process I tried last time, but this time it worked…

1 Like

To conclude this post, I managed to get my Jetson Nano working again.

I used the same command I used on the start of the post with the fix for the docker image, but this time it managed to pass the flashing step.