JetPack 3.2 — L4T R28.2 Production Release for Jetson TX1/TX2

We’re pleased to announce that a developer preview release of JetPack 3.2 is now available for Jetson TX1 and TX2!

Highlights include support for TensorFlow models in TensorRT 3.0 GA, up to 15% perf/W improvement for DL applications, out-of-the-box kernel support for Docker, and support for Ubuntu 16.04 on your host PC (Ubuntu 14.04 on your host PC will also work, except cross-development packages for OpenCV and VisionWorks will be unavailable on that host PC). With JetPack 3.2, NVIDIA has also enabled Jetson TX2i for industrial environments. For more info, please view the full Release Notes.

JetPack 3.2 components:

  • L4T R28.2
  • CUDA 9.0
  • cuDNN 7.0.5
  • TensorRT 3.0 GA
  • OpenCV 3.3.1
  • VisionWorks 1.6

Release Notes…https://developer.nvidia.com/embedded/jetpack-notes
Download JetPack…https://developer.nvidia.com/embedded/jetpack
Software Overview…https://developer.nvidia.com/embedded/develop/software
L4T R28.2 Release…https://developer.nvidia.com/embedded/linux-tegra
L4T Archive Page…https://developer.nvidia.com/embedded/linux-tegra-archive

There’s a error in tegra210-jetson-cv-camera-imx274-hdmi.dtsi when trying to compile the DTB:

make: Entering directory '/mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/kernel/kernel-4.4'
make[1]: Entering directory '/mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/compiled'
  CHK     include/config/kernel.release
  GEN     ./Makefile
  CHK     include/generated/uapi/linux/version.h
  Using /mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/kernel/kernel-4.4 as source for kernel
  CHK     include/generated/utsrelease.h
  DTC     arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-cv-base-p2597-2180-a00.dtb
  DTC     arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-cv-p2597-2180-a00.dtb
  DTC     arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dtb
  DTC     arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-cv-p2597-2180-imx274-hdmi.dtb
Error: /mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/kernel/kernel-4.4/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/jetson/kernel-dts/jetson-platforms/tegra210-jetson-cv-camera-imx274-hdmi.dtsi:86.31-32 syntax error
FATAL ERROR: Unable to parse input tree
/mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/kernel/kernel-4.4/arch/arm64/boot/dts/Makefile:94: recipe for target 'arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-cv-p2597-2180-imx274-hdmi.dtb' failed
make[2]: *** [arch/arm64/boot/dts/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/_ddot_/hardware/nvidia/platform/t210/jetson/kernel-dts/tegra210-jetson-cv-p2597-2180-imx274-hdmi.dtb] Error 1
make[2]: *** Waiting for unfinished jobs....
arch/arm64/Makefile:105: recipe for target 'dtbs' failed
make[1]: *** [dtbs] Error 2
make[1]: Leaving directory '/mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/compiled'
Makefile:150: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
make: Leaving directory '/mnt/data/l4t/3.2/64_TX1/Linux_for_Tegra/sources/kernel/kernel-4.4'

Error is caused by “CAM0_PWDN” not being defined.

Other DTSIs seem to define that as S7, so to fix I just added the definition to the top with the other two, but that should probably be checked.

#define CAM0_PWDN	TEGRA_GPIO(S, 7)

I’m currently working on installing the newly released Jetpack 3.2 on a TX1.

I’m having to install some software on the TX1, by hand, and allow the JetPack installer to continue once I’ve done that.

At this point in the installation, the JetPack installer is complaining, in XTerm, about not being able to find:
libopencv4tegra-repo-dev_2.4.13-17-g5317135_arm64_l4t-r24.deb
libopencv4tegra-repo-python_2.4.13-17-g5317135_arm64_l4t-r24.deb
libopencv4tegra-repo-samples_2.4.13-17-g5317135_arm64_l4t-r24.deb

libopencv4tegra-repo_2.4.13-17-g5317135_arm64_l4t-r24.deb was downloaded by the installer, but the above files weren’t. This is the only libopencv file I see in the jetson_download folder.

Has anyone else seen this behavior?

Any help would be appreciated.

Thanks.

Thanks for reporting your workaround, Altrer. We’ve confirmed that this issue will be fixed in a future release of JetPack-L4T.

Hi jpfulks, on my host flashing machine under jetpack_downloads I see 4 different libopencv packages:

libopencv_3.3.1_t186_arm64.deb
libopencv-dev_3.3.1_t186_arm64.deb
libopencv-python_3.3.1_t186_arm64.deb
libopencv-samples_3.3.1_t186_arm64.deb

You may want to try a clean install of JetPack-L4T and re-downloading the packages.

Thanks for the reply, dusty.

My first attempt, using the existing _installs folder from the previous JetPack, had ownership issues. This attempt was a clean install.

I’ll start it over again and keep an eye on it, rather than allowing it to go through the night.

Another issue I’ve run into with r28.1 and now r28.2 is that regulator@210 (tegra210-jetson-cv-power-fixed-p2180-p2597-a00.dtsi) was giving TEGRA_GPIO(S, 4) as it’s gpio.

en_vdd_vcm_2v8: regulator@210 {
            compatible = "regulator-fixed-sync";
            reg = <210>;
            regulator-name = "en-vdd-vcm-2v8";
            regulator-min-microvolt = <2800000>;
            regulator-max-microvolt = <2800000>;
            vin-supply = <&vdd_3v3>;
            gpio = <&gpio TEGRA_GPIO(S, 4) 0>;
            enable-active-high;
        };

This is the same pin as CAM0_RST_L, which is one of the reserved camera reset pins. Any driver that has this pin as a reset gpio will fail to probe because gpio_request() can’t take it away from the regulator. Below is an excerpt from the Sensor Driver Programming Guide showing that S4 is the Camera0 Reset pin.

In r24.2 this regulator had no GPIO, so to get my camera to probe I clear the gpio in my dtsi.

regulators {
        /* Clear CAM1_RST_L as the regulator@210 gpio. */
        en_vdd_vcm_2v8: regulator@210 {
            gpio = <>;
        };
    };

Hello all,

I am addressing an error about VisionWorks as installing JetPack 3.2 for TX1 on the Ubuntu 16.04 host machine.

The Error is as follows:

Installing VisionWorks 1.6 failed.

Return Code: 1
Error installing libvisionworks libvisionworks-dev libvisionworks-samples to host, please check /home/wds/Desktop/JetPack/_installer/logs/visionworks_host.log for more details

Then I checked the install log file where said:

"[b]The following information may help to resolve the situation:

The following packages have unmet dependencies:
libvisionworks-samples : Depends: libgstreamer1.0-dev but it is not going to be installed
Depends: libgstreamer-plugins-base1.0-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages[/b]."

I wonder is this a common error or just for me.

Any help will be appreciated! Thanks in advance!

@wdshc I also had a lot of problems with installing visionworks. But not that one specifically. Did you try installing libgstreamer1.0-dev yourself?

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

@Atrer Thanks a lot for your reply!

Yes, I did try to install those two packages you mentioned above separately. The results are same and are as follows:
"The following packages have unmet dependencies:
libgstreamer1.0-dev : Depends: libgstreamer1.0-0 (= 1.8.0-1) but 1.8.3-1~ubuntu0.1 is to be installed
Depends: gir1.2-gstreamer-1.0 (= 1.8.0-1) but 1.8.3-1~ubuntu0.1 is to be installed
E: Unable to correct problems, you have held broken packages.
"
Then I tried to install libgstreamer1.0-0 and gir1.2-gstreamer-1.0 , and the terminal indicated:

"wds@ubuntu16:~ sudo apt-get install libgstreamer1.0-0 Reading package lists... Done Building dependency tree Reading state information... Done libgstreamer1.0-0 is already the newest version (1.8.3-1~ubuntu0.1). 0 upgraded, 0 newly installed, 0 to remove and 95 not upgraded. wds@ubuntu16:~ sudo apt-get install gir1.2-gstreamer-1.0
Reading package lists… Done
Building dependency tree
Reading state information… Done
gir1.2-gstreamer-1.0 is already the newest version (1.8.3-1~ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 95 not upgraded.
"
I looks like both versions of these packages are exceeded the requirement of VisionWorks.

Since I am a fresh user of Linux, Would you please show me how to degrade those versions? TIA!

You could try this answer.

Are you on Ubuntu 16.04? I feel like something else might be going on.

@Atrer
Yes, I am running Ubuntu 16.04. I will have a careful look at your link, results will be replied!

Frustratingly, More and more errors has occurred.
In addtion, I foud a post (https://devtalk.nvidia.com/default/topic/1031226/libgstreamer1-0-on-r28-2/?offset=3#5246780) which is about my problem. The author told me to modify the content of file named as “sources.list”. Do you have an idea about how to do that? Really appreciated!

You can use any text editor on that file (you need sudo due to permissions). A common simple editor is “nano”, e.g.:

sudo nano /etc/apt/sources.list

Lines with a starting “#” are comments. Other lines are active. Changes are noted only after you run the command “sudo apt update”.

If you don’t have nano installed use “sudo apt-get install nano”. The reminder bar at the bottom has the carot “^” symbol to note this is control key, e.g., control-x to exit is shown as “^x”.

wdshc,

Did you manage to solve this problem? I’ve run across the same issue on Ubuntu 16.04 too

Hello, Ivan,
Sorry for the delay! I still have no idea what was going wrong. I just made advance by install it in a totally fresh ubuntu16.04 running in another computer. Maybe you too can have a try!

Well, after a few hours seems I solved it by installing aptitude. Then when prompted in

sudo aptitude install libgstreamer1.0-dev

` I selected not the 1st solution, but the 2nd and after that it resolved the broken package.

The gstreamer dependency issue appears to be between vision works and ubuntu desktop. The JetPack downloaded rootfs that is flashed to device has a bunch of extras you don’t really need. So if you aren’t particularly interested in preserving the default software on target then this is a heavy handed nuclear option that did the trick for me with JetPack 3.2 and Ubuntu 16.04 on TX2:

sudo apt purge *gstreamer*
sudo apt -y --allow-unauthenticated install libvisionworks libvisionworks-dev libvisionworks-samples
sudo apt autoremove

Then press Enter key 3x times in XTerm on host to continue push and cross-compile of samples.

P.S. you can reclaim a fair amount of your SD card by purging things you don’t need on device like libreoffice however it is probably more advisable to customize your rootfs on host before flashing the system image with JetPack in the first place.