JetPack 4.3 - L4T R32.3.1 released

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.

Does it matter that my a02 board shows b00?

The module is labelled 180-13448-DAAA-A02
The carrier is labelled 180-13449-DAAF-A02

but

cat /sys/firmware/devicetree/base/compatible
nvidia,p3449-0000-b00+p3448-0000-b00 nvidia,Jetson-nano nvidia,tegra210

and the b00 dtb is the one that gets used as the base by jetson-io.

Hello!

No this is expected. A02 and B0x are compatible and going forward we use the B00 DTB for A02 as well.

Regards,
Jon

Hi Jon,

I am having some difficulty running the jetson-io as well. The issue I am seeing is that the curses “window” pops up for an instant and then disappears immediately.

DTB Files have been copied.

root@jetson-desktop:/home/benky58un# ls /boot/dtb
tegra210-p3448-0000-p3449-0000-a00.dtb  tegra210-p3448-0000-p3449-0000-a02.dtb  tegra210-p3448-0000-p3449-0000-b00.dtb
root@jetson-desktop:/home/benky58un#

Jetson-io fails to run as described above. Return code is 1

root@jetson-desktop:/home/benky58un# python3 /opt/nvidia/jetson-io/jetson-io.py
root@jetson-desktop:/home/benky58un# echo $?
1

Debugging information as requested.

root@jetson-desktop:/home/benky58un# cat /sys/firmware/devicetree/base/compatible
nvidia,p3449-0000-a01+p3448-0000-a01nvidia,jetson-nanonvidia,tegra210
root@jetson-desktop:/home/benky58un#
root@jetson-desktop:/home/benky58un# fdtget /boot/dtb/*.dtb / compatible
Error at '/boot/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb': FDT_ERR_NOTFOUND

Regards
Ben

Hi Ben,

Looks like you have an A01 board. Please try the following …

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

Regards,
Jon

Yes I just figured it out :-)

Thanks for the quick reply.

The issue is that curses clears the screen on exit and if you encounter an error, it’s not waiting for the user to press enter. The result is a quick flash and you’re back to your shell prompt.