JetPack 4.3 - L4T R32.3.1 released

Just tried it straight from the sdk. Figured I have had enough issues, what one more try. Worked great thank you for fixing the bug. Now I have room to really use it for my project. I’ve already applied for the Jarvis sdk. Any idea on how long that takes to get approved for or is my previous approval to the Isaac sdk messing things up? I would gladly give up my Isaac access to be allowed into the Jarvis sdk. It fits my project better.

Hi odiezapha and dusty_nv,

There are spi0.0 and spi1.0 in /dev directory by default in R32.3.1, but spi0.0 can’t be tested by spidev_test tool as you can see in /dev/spi0.0 not work in l4t32.3.1.
Thanks

I ran ‘jetson-io.py’ on jetson nano. but ‘jetson-io.py’ is turned off immediately when run without error code.

Hello!

Can you provide some more details please? When you say is turned-off do you mean that the board powered-down or the tool did nothing?

Can you confirm what command you executed? Did you launch jetson-io from a terminal?

Per the documentation before running jetson-io for the first time you need to open a terminal execute the following command (this will be fixed in future releases).

$ sudo find /opt/nvidia/jetson-io/ -mindepth 1 -maxdepth 1 -type d -exec touch {}/__init__.py \;

Once the above have been executed you just need to execute the following from a terminal …

$ sudo /opt/nvidia/jetson-io/jetson-io.py

You can also try the following command as well as this should display some output …

$ sudo /opt/nvidia/jetson-io/config-by-pin.py

Regards,
Jon

Experiencing the same issue with beargomer.

I got the following error.

$ sudo /opt/nvidia/jetson-io/config-by-pin.py
Traceback (most recent call last):
File “/opt/nvidia/jetson-io/config-by-pin.py”, line 51, in
main()
File “/opt/nvidia/jetson-io/config-by-pin.py”, line 34, in main
jetson = board.Board()
File “/opt/nvidia/jetson-io/Jetson/board.py”, line 149, in init
self.dtb = _board_get_dtb(self.compat, self.model, dtbdir)
File “/opt/nvidia/jetson-io/Jetson/board.py”, line 88, in _board_get_dtb
raise RuntimeError(“No DTB found for %s!” % model)
RuntimeError: No DTB found for NVIDIA Jetson Nano Developer Kit!

In my case, dtb files are under /boot/ , while script expects /boot/dtb/

the following change works for me.

line 135@/opt/nvidia/jetson-io/Jetson/board.py.

    #dtbdir = os.path.join(self.bootdir, 'dtb')
    dtbdir = os.path.join(self.bootdir, '')
1 Like

Thanks for the feedback. Can you …

$ cat /sys/firmware/devicetree/base/compatible

Regards,
Jon

Hello!

You should have one dtb file under /boot/dtb/ which is the dtb file for the platform and then dtbs for all Jetson platforms under /boot/. Can you tell me what you see from the following comands …

$ cat /sys/firmware/devicetree/base/compatible
$ fdtget /boot/dtb/*.dtb / compatible

Regards,
Jon

Here it is.
$cat /sys/firmware/devicetree/base/compatible
nvidia,p3449-0000-b00+p3448-0000-b00nvidia,jetson-nanonvidia,tegra210

Thanks can you also dump …

$ fdtget /boot/dtb/*.dtb / compatible

Regards,
Jon

dj@dj-desktop:/boot$ fdtget /boot/dtb/.dtb / compatible
Couldn’t open blob from '/boot/dtb/
.dtb’: No such file or directory

dj@dj-desktop:/boot$ fdtget /boot/*.dtb / compatible
Error at ‘/boot/tegra210-jetson-tx1-p2597-2180-a02-devkit-24x7.dtb’: FDT_ERR_NOTFOUND
dj@dj-desktop:/boot$

Thanks. That’s very odd. It appears that you have no dtb file under /boot/dtb. Can you confirm that you have no files there?

ls -l /boot/dtb/

I have flashed the released version of L4T r32.3.1 and I don’t see this issue. I have a slightly older board version (A02), but that shouldn’t matter.

$ fdtget /boot/dtb/*.dtb / compatible                                                                                                                                                                                  
nvidia,p3449-0000-a02+p3448-0000-a02 nvidia,jetson-nano nvidia,tegra210

$ cat /sys/firmware/devicetree/base/compatible
nvidia,p3449-0000-a02+p3448-0000-a02nvidia,jetson-nanonvidia,tegra210

Can you tell me exactly how you flashed the board? Or are you using the SD card image? Ah looking at the SD card image there is no /boot/dtb directory so that will be a problem if you are using this image. Please confirm. We will look into a fix for this.

Regards,
Jon

Hello!

I have reproduced the issue with the SD card image. Please note that although the above will fix the initial problem, this change will cause further issues. So at the moment please refrain from making this change. We will have a fix for you to try shortly.

Regards,
Jon

Hello!

On further the review, the simplest fix for the Jetson.IO tool when using the SD card is to do the following …

$ sudo mkdir /boot/dtb
$ sudo cp -v /boot/tegra210-p3448-0000-p3449-0000-[ab]0[012].dtb /boot/dtb/

Let me know if this works. I will ensure that this is fixed for future releases.

Regards,
Jon

1 Like

Apparently my worship of the old ones is insufficient. Switching to Satan. The apt configuration is incorrect on the rootfs. As such, the OTA updates would appear to be broken (maybe something happens to the sources at first boot, idk) (edit: it does).

$ sudo enter_chroot.sh rootfs
+ cp /usr/bin/qemu-aarch64-static rootfs/usr/bin
+ mount -t sysfs -o ro none rootfs/sys
+ mount -t proc -o ro none rootfs/proc
+ mount -t tmpfs none rootfs/tmp
+ mount -o bind,ro /dev rootfs/dev
+ mount -t devpts none rootfs/dev/pts
+ mount -o bind,ro /etc/resolv.conf rootfs/run/resolvconf/resolv.conf
+ chroot rootfs
root@hostname:/# apt update
Hit:1 https://repo.download.nvidia.com/jetson/common r32 InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic InRelease                                                 
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB]                               
Hit:4 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease                
Hit:5 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Ign:6 https://repo.download.nvidia.com/jetson/<SOC> r32 InRelease
Err:7 https://repo.download.nvidia.com/jetson/<SOC> r32 Release
  404  Not Found [IP: 23.194.212.195 443]
Get:8 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 Packages [603 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 Packages [924 kB]
Reading package lists... Done                                                      
E: The repository 'https://repo.download.nvidia.com/jetson/<SOC> r32 Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

If I comment out “Index” in the sources, apt update works, but I assume I’m missing packages in this case. Any idea what’s supposed to go in “” for the nano?

Edit:
To those looking for how to update these packages prior to first boot (in a chroot, for example), the script that fills in the apt sources on first boot is rootfs/etc/systemd/nvfb.sh

important bit:

# Update chipid to apt source list file
SOURCE="/etc/apt/sources.list.d/nvidia-l4t-apt-source.list"
if [ -e "${SOURCE}" ]; then
	CHIP="$(cat /proc/device-tree/compatible)"
	if [[ "${CHIP}" =~ "tegra210" ]]; then
		sed -i "s/<SOC>/t210/g" "${SOURCE}"
	elif [[ "${CHIP}" =~ "tegra186" ]]; then
		sed -i "s/<SOC>/t186/g" "${SOURCE}"
	elif [[ "${CHIP}" =~ "tegra194" ]]; then
		sed -i "s/<SOC>/t194/g" "${SOURCE}"
	else
		logger "nvfb: Updating apt source list failed with exit code: 1"
	fi
fi

so if you run into this issue, edit rootfs/etc/apt/sources.list.d/nvidia-l4t-apt-source.list to match the following for Nano (t210 is nano, right?):

deb https://repo.download.nvidia.com/jetson/common r32 main
deb https://repo.download.nvidia.com/jetson/t210 r32 main

Aha, thanks for digging into that - yes, T210 is Nano (and TX1)

YW. Thanks for the confirmation. Perhaps in future releases, SDKM could fill it in, rather than a first boot script? For those who ask, is there anything that’s not available through the online repos, that in a case of a chroot must still be installed via dpkg?

These online repos are great, btw. I just did a full system update and installed deepstream, all before first boot. Many thanks again for moving to this system rather than requiring SDKM or manual .deb installation for this step!

Do I have to reflash / reimage the Jetson Nano everytime a new Jetpack SDK is released?

I cannot for the life of me figure out how to “update” jetson nano jetpack sdk… I originally flashed the SD card using the image from the nvidia site about 4 months ago. There have been a few jetpack SDK upgrades I need that I cant figure out how to update.

thanks . this works for me.

Hi mitchross09, you will need to re-flash your SD card to upgrade to JetPack 4.3. Be sure to backup any files you want to save from your SD card, because the SD card will be wiped during the flashing process.

Then for future upgrades, you will simply be able to upgrade to the next JetPack version from the command line without re-flashing, as JetPack 4.3 introduced a new APT server for hosting JetPack packages. You still need to re-flash to get on JetPack 4.3, but future upgrades can just use the APT server.