Jetson TX2 NX Module - Flashing, booting from NVME...
# │forum
c
I would like to share the process of how I managed to flash a Jetson TX2 NX Module using the Turing Pi 2 cluster board. The process described in the attachment failed when the module was located in slot 1, but it worked perfect in Slot 2.
d
I ran into this problem while running through this script from Ubuntu 23.04 and had to create a
python
symlink to python2.7 to get around it. https://forums.developer.nvidia.com/t/flashing-xavier-nx-emmc/187379/5
Turning the node off and on again from the web interface didn't seem to get me to a booted node. I ended up using the bmc reset button and then powering on the node through the web ui and it worked.
m
Hi @cyliew, love your process description! Tiny addition though, to your Mark Down file. Prerequisite is to have Qemu installed on the host machine where you prepare the System Image. simple sudo apt-get install qemu-user-static solves it!
d
nvme root was working after running through the script. I did this all from node 1 which helped since I could watch the boot over HDMI. The next thing I tried doing is upgrading Ubuntu to the next LTS release (20.04). This seems to have reverted the nvme root boot. Despite updates to extlinux.cfg and fstab, it continues to boot the old kernel and mount the emmc root. The next thing that I need to understand is how to make these kinds of changes persisted from within the OS (if possible). The nv_* tools seem like they'll be used for this, but I haven't figured out how yet.
One of the reasons that I want an updated kernel is because I have the Coral Edge TPU mini PCIe device installed and the 18.04 kernel is reporting lots of mpcie errors. I'm hoping this is all just a software/kernel problem.
c
I would recommend to stay with the official supported 18.04 kernel. I also ran into the same issue where the kernel log was flooded with a lot of errors: ===== Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.752396] pcieport 0000:00:03.0: can't find device of ID0060 Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.752398] pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0060 Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.752404] pcieport 0000:00:03.0: can't find device of ID0060 Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.752406] pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0060 Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.752412] pcieport 0000:00:03.0: can't find device of ID0060 Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.752414] pcieport 0000:00:03.0: AER: Multiple Corrected error received: id=0060 ===== With once a while these errors popping up: ===== Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.783282] pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=0018(Receiver ID) Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.793451] pcieport 0000:00:03.0: device [10de:10e6] error status/mask=00000001/00002000 Apr 17 13:18:54 jetson-tx2-01 kernel: [ 8.801796] pcieport 0000:00:03.0: [ 0] Receiver Error (First) ===== I described here how I got rid off these errors: https://discord.com/channels/754950670175436841/1096365412029046874/1097538957161537556
m
Happy to announce that I had a successful flash using some old hardware, installing Ubuntu 18.04.6 LTS (upgrading from 12.04 LTS btw). One of the TX2 NX using a 50 cm and one using a 100cm USB A male to USB A male cable. Both on slot 2
t
would this method work on any of the jetson bo1?
p
I'm using Ubuntu 18.04 on vmware. I get:  /Linux_for_Tegra/bootloader/tegrasign_v3_internal.py", line 453, in do_aes_cmac [ 1.5150 ] write_file(raw_file, result_name.encode("utf-8")) [ 1.5150 ] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 36: ordinal not in range(128) when i run: /Linux_for_Tegra$ sudo ./flash.sh jetson-xavier-nx-devkit-tx2-nx mmcblk0p1 There's some issue with locale and python2.7 encode/decode. I was wondering if anyone ran into this. I did run sudo apt update. do we have to do anything special after installing ubuntu?
Hi has anyone managed to flash the tx2. I followed the steps in the document but no success.
a
Flash completed successfully, I see DHCP lease for host name specified in ‘l4t_create_default_user’, but I can’t ssh in, getting timeout …
p
Hello Ax did you follow the instructions in this forum? Or sometime else.
a
I followed instructions from this thread, I think only differences that I did it from VirtualBox and Jetpack 4.6.4 instead of 4.6.3
m
Same for me, following the instructions by Cyview above. But using physical hardware to do a fresh install of Ubuntu instead of VirtualBox
c
Anyone else get stuck at "[ 8.2664 ] Sending bct_mb1"? Error: Return value 3 Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt Failed flashing t186ref.
Running install per guide posted above on Ubuntu 18.04 installed using dual boot on my custom gaming desktop.
Also what is mmcblk0p1 from
sudo ./flash.sh jetson-xavier-nx-devkit-tx2-nx mmcblk0p1
Is that some sort of storage device? How does that relate to the TX2 NX module I am connecting to via USB?
i
@pradg73 It was a unicode issue, indeed. The short answer is use Python3 not Python2.7 I put together these instructions and I figured out the the problems flashing when I encountered the same errors. Consider it a troubleshooting addendum to @User instructions. https://cdn.discordapp.com/attachments/1102175059973509120/1167745857974702131/jetson-tx2-nx-module-flashing-unicode-error.md?ex=654f3f14&is=653cca14&hm=2aae28247137b81f6d16236ef54b4b7e94f7f1fff288fd16db302766e7c02075&
d
Python 2.7 is long dead. Leave it 😛
p
I had ultimately managed to flash the tx2 nx but I'm unable to ssh into it. The session simply closes connection. I tried the USB mpcie adapter but the keyboard and mouse don't respond. Gave up and moved on.
d
SSH would not work if you did not use unattended installation (SSH will only activate when you finish setup using keyboard/mouse/screen)
Which USB adapter did you use?
i
I tried to ssh into mine, while my board and Jetson did pick up DHCP addresses. I had troubles last night ssh'ing in, even though I did the unattended setup. I wonder what USB mpcie adapter I should buy?
p
trouble as in? Were you able to ssh in or not?
i
I couldn't SSH into the device nor could I ping. No route to host, which is strange because it picked up an IP. Last night I moved the Jetson TX2 NX to Slot 1, and I saw the NVIDIA splash screen and Ubuntu log in prompt via HDMI
On Monday I am having a mini PCIe to USB adapter shipped. So I'll install it and use a keyboard and mouse.
p
Good luck... I came to the same point but for me the keyboard mouse didn't work. I got the mpice mentioned in the docs somewhere. Maybe the USB cable wasn't, right.. I don't know. I spent too much time on it and it didn't work.
i
Update, I installed the mpcie, but I couldn't get the USB Mpcie to work, I'm going to try and reseat the card tomorrow. However something strange happened and I was able to SSH in today! I am super happy. I installed XRDP and XFCE4. I had some extra steps that I will document on what I had to do to copy the rootfs over to my Nvme and then manually update my /etc/fstab afterwards to boot the OS from my NVMe SSD.
p
Wow! Glad it worked for you. I have the exact same hardware.. didn't work nor could I ssh in. Happy for you. Alas, some of us are not so lucky...
a
I have tried various iterations of the SDK manager (4.6.4, 4.6.3, 4.6.2). I also followed the instructions provided at the top of the topic.... all roads lead me to the flashing itself hanging on this message:
Copy code
tegracrm_v2 --isapplet
I've tried hooking up the uart but I'm not sure if I'm doing something wrong or what but I get a bunch of messages like the baud rate is wrong though I've followed what I can tell is right for the tx2 nx (115200 8N1; minicom set for software flow control). I tried 115200 and different baud rates in gtkterm and have been able to view the BMC UART just fine-- but never the tx2 nx. I upgraded my BMC firmware to the most recent RC from just a few moments ago and am having the same issue. Has anyone been successful with UART? or have recommendations of what to try to flash?
i
Hey Aztzak yes I've successfully connected to BMC UART with a Jetson TX2 NX and the TPI 2 Board. I purchased and used this cable https://www.amazon.com/dp/B00DJUHGHI?psc=1&ref=ppx_yo2ov_dt_b_product_details and used the CP210x Drivers
a
Thanks for replying, were you able to use the UART for the Jetson? I was able to work with the BMC OK just not the Jetson.
as for the failing on the
tegracrm_v2 --isapplet
command... I bought a different USB AA cable and got passed this step immediately.
I failed later on the
Writing partition APP with system.img
but this may be on my end
i
Oh for the Jetson yes I think so, I bought a USB A to A cable Monoprice USB 2.0 Type-A Male to Type-A Male Cable - Gold Plated, For Data Transfer Hard Drive Enclosures, Printers, Modems, Cameras and More, 28/24AWG, 6 Feet, Black https://a.co/d/eyWVbET
@ajtzak when I first went on this journey I tried to use the NVIDIA SDK manager (the graphical user interface) and I would run into flashing issues. I later discovered this thread and cyliew's instructions and followed them and that's what worked for me
a
Yeah, both fail for me :/
SDK manager fails with:
Copy code
flash: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 17: invalid start byte
CLI fails with:
Copy code
[  11.4026 ] Writing partition APP with system.img
[  50.6531 ] [.......                                         ] 015%
Error: Return value 1
Command tegradevflash_v2 --pt flash.xml.bin --create
Failed flashing t186ref.
I'll try another cable ...
yep... different cable worked
s
Hey folks, did anyone here ever manage to interact with their TX2 over UART or mPCIe USB adapter? I borked mine a while back (maybe dodgy fstab edit, can't remember) and now it only boots into emergency mode -- not recovery mode. All it wants me to do is press enter to go to maintenance mode but nothing I've tried lets me send any kind of keypress to it.
I can connect to the serial port via the BMC
microcom /dev/ttyS2 -s 115200
but this doesn't let me send keypresses, I have an mPCIe to USB adapter in node 1 but this does nothing (it weirdly redirects the input back out of the rear USB slot when I left my A-to-A cable plugged into my laptop), and using a USB to UART cable directly into any of the nodes does anything from nothing to garbled outputs
a
I could not get USB UART to work, same issue you’re describing where it seemed like I had the wrong baud rate ( so I tried every common combination )… I eventually gave up after I was able to flash over usb with a good quality cable.
not very helpful- I know but glad to hear someone else experienced the same issues with uart. I had asked but nobody else was able to confirm. I was almost to the point of buying a dev board to try and fix the issues. I’ll eventually circle back but I was trying to get Plex to run but couldn’t get the hardware accel to work
s
Yeah it feels like there's something about TX2s and Turing Pis that doesn't mesh well, once it's flashed you're all good but trying to interact directly is a nightmare
I think a Jetson carrier board might be the only way for me to get this thing out of emergency mode, it completely ignores any USB connection and I don't know if there's any way to jump the force recovery pins on a TPi
(side note: back when mine was working I had similar issues trying to get hardware acceleration working on plex/jellyfin)
m
I think I have the same issue with the Orin. It seems completely dead. It was working, been trying to flash it for 2 days. Made progress this morning switching to vmplayer but it stalled and now I can't get response out of it. Did you make any progress? I was looking at the Seeedstudio carrier but it's out of stock.
LIttle update after spending all afternoon. I put usb mode in flash mode and used a linux desktop and it works again. In Windows I would get USB device descriptor errors. But native Linux shows the device correctly. So far it's flashing from Ubuntu 22.04 with a USB A-C with C to A adapter. Hope that helps you all.
s
Oh that's interesting, lots of the advice here and online says to only use Ubuntu 18.whatever with USB A-A, maybe Orin is a little more tolerant of different configurations but I'll check later if my TX2 plays along with anything like this
m
More specifically I had a desktop with Budgie which is based on Ubuntu. Maybe because the TX2 is older it doesn't support 20+.
i
Would love to hear more about your success story on flashing with Ubuntu 22.04 as I really have a bunch of issues with the older Ubuntu 18.04
m
I just followed the guide from the Turing pi site but on 22.04. But it's for orin, not sure about the tx2
Orin uses USB OTG flashing method
s
I got my tx2 successfully flashed on 18.04 when I first got it about a year ago but it wasn't a very fun experience, I think the main reason it's necessary is probably because the new JetPack SDK isn't supported so tx2 havers are stuck using the old 4.6.x version
That said, a quick look at the docs says Nvidia SDK manager should (https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html) run on Ubuntu 20.04 too, so if you're really having trouble with 18.04 maybe give it a shot
Ah wait no this table says you can't install JetPack 4.x with the SDK manager from anything later than 18.04 https://docs.nvidia.com/sdk-manager/system-requirements/index.html
d
You need 20.04. I mentioned it in the docs exactly for this reason, so people do not try to use 22.04. In general 4.5/4.6 (I'm not sure which other older versions too) need ubuntu 18.04, and 5.x requires ubuntu 20.04
18.04 for JP 4.5/4.6, 20.04 for 5.x
m
22.04 worked fine for 5.x. I went through hell flashing it before in a VM with 20.04. Native Linux worked best and I had to use flash usb mode otherwise no response from Orin NX after failed flash attempt. I think everyones mileage various for some reason. The TX2 is older so I see that needing 18.04
I think the turning point for me was flash usb mode so that might help recover the TX2.
d
I'm not sure why would it work on Ubuntu 22.04, maybe something has changed and I missed it, but in general you match the host OS with the flashed OS
a
yea i'm sort of regretting the tx2 nx... 18.04 sucks in itself but i also can't get nvidia-container working or native support for Plex (hardware transcoding was my primary use case to replace a server with a beefy graphics card)...
i
I'm having the same experience with my TX2 nx. I bought it so I could get started with... something. As finding CM4s was difficult and still waiting on the RK1s. That said you're right 18.04 sucks and I'm not getting any use either.
s
Definitely feel the same, I bought mine right before they announced jetpack 4.x was EOL, if I'd known that I would've just held off and bought an Orin module a few months later for about the same price
Same story as you guys, CM4s were tough to find and I just wanted something to get started with (plus hardware acceleration for a media server)
z
I'm trying to flash using the procedure outlined at the start of this thread and running into the following error during the flash process. Anyone seen this or know how to fix it? [ 1.1577 ] Boot Rom communication [ 1.1595 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml [ 1.1602 ] BootRom is not running [ 6.8902 ] [ 7.8963 ] tegrarcm_v2 --isapplet [ 1019.8825 ] [ 1019.9506 ] tegradevflash_v2 --iscpubl [ 1019.9524 ] CPU Bootloader is not running on device. [ 2035.6902 ] [ 2036.6952 ] tegrarcm_v2 --isapplet [ 3051.4981 ] [ 3051.4998 ] tegradevflash_v2 --iscpubl [ 3051.5002 ] CPU Bootloader is not running on device. [ 4067.3098 ] [ 4068.3156 ] tegrarcm_v2 --isapplet
55 Views