Basic Configurations for the Drive AGX Xavier with Software 10.0

Please provide the following info:
Hardware Platform: [DRIVE AGX Xavier™ Developer Kit]
Software Version: [ DRIVE Software 10]
Host Machine Version: [ native Ubuntu 18.04]
SDK Manager Version: [1.1.0.6343 ]

We’d like to share some Basic Configurations for the Drive AGX Xavier with Software 10.0, which may be helpful.

0.Hardware Connection

  1. Power: US Power Cord --> Power Adapter --> Vehicle Cable Harness --> AGX Device
    –Two functions for the Vehicle Cable Hardness: transfer energy to power the AGX, provide interfaces of the AGX (IMU/MCU/CAN etc.)
  2. Network:
    (1)Power: Power Adapter for Accessories --> Dual GbE Dongle
    (2)Data: the Black 1&2 1Gbps 802.3bp Ethernet Port of the AGX --> HSD Cable --> Dual GbE Dongle --> RJ45 Ethernet Cable
  3. Real-Time Clock:
    (1)Power: Power Adapter for Accessories --> Real-time Clock Module (RTC)
    (2)Data1: “PPS O/P” Port of the RTC --> PPS Cable --> “GPIO/PPS” connector on the Vehicle Cable Harness
    (3)Data2: CAN connector of the RTC --> “CAN 6&4” connector on the Vehicle Cable Harness

1.Install the SDK software on the host
(1)Setting up the development environment for DRIVE Software and DRIVE OS:https://developer.nvidia.com/drive/downloads
(2)Download the SDK Manager
(3)Install: sudo apt install ./sdkmanager_0.9.14-4964_amd64.deb
(4)Launch: sdkmanager
(5)Login & Setup

2.Flashing the Software 10.0 to AGX
(1)Ensure the RUN side of the Program/Run MCU programming switch is depressed
(2)the USB 2.0 Debug Port of the AGX --> USB 2.0 Type A to Type A Cable --> the USB 2.0 Port of the host
(3)Click the “Flash” until it’s completed

You can re-download and re-flashing the Software 10.0 to solve the following problems:
(1)the file /etc/apt/sources.list_default is empty (it’s okay if only the sources.list is empty)
(2)the rrLog are always generating, which can also be solved by /usr/local/service-framework/scripts/kill.sh

3.Reduce the Fan Noise: vim /etc/systemd/scripts/nv_fanctrl.sh
if [[$TARGET_BOARD == “e3550_t194a”]]; then
temp_server=0
remote_soc=1
dgpu_exit=0

4.Network:
Setting the NAT of the host:
(1)sudo vim /etc/sysctl.conf # uncomment the line: ipv4.ip_forward=1
(2)sudo sysctl -p
(3)sudo iptables -t nat -A POSTROUTING -j MASQUERADE

Setting the network of the AGX:
(1)sudo NetworkManager start
(2)IP: sudo ifconfig eth0 xx.xx.xx.xx netmask 255.255.255.0
(3)ROUTE:sudo route add default gw yy.yy.yy.yy # the yy.yy.yy.yy is the IP of the host

5.Clock
(1)Time Zone: for example, sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(2)Sync time:
sudo killall ptp4l
sudo killall phc2sys
sudo service ntp stop
sudo timedatectl set-ntp false
sudo ntpdate pool.ntp.org
(3)Update the apt:
cd /etc/apt/ && sudo cp sources.list_default sources.list
sudo apt update

6.Web browser: sudo apt install firefox

7.mount the new partition and move the /home folder:
Each Xavier (Xaiver A and Axiver B) has a partition named “vb1kdev1”

sudo fdisk /dev/vblkdev1
###############
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x6c2adfee.

Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-8388607, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-8388607, default 8388607):
Command (m for help): p
Command (m for help): w
###############
sudo mkfs -t ext4 /dev/vblkdev1p1
sudo mkdir /mnt/home
sudo mount /dev/vblkdev1p1 /mnt/home
sudo cp -a /home/* /mnt/home/
sudo rm -rf /home/*
sudo gedit /etc/fstab
–add a new line: /dev/vblkdev1p1 /home ext4 defaults 0 1

8.Install pip3
sudo apt-get install python3-pip # after the setting of Clock and the updating of apt

9.Install the opencv: OpenCV is not officially supported nor is it optimized on the Drive platform.

(1) the second option is better: native compiling OpenCV on AGX Drive
(2) If some files fail to download, you will find similar errors: fatal error: boostdesc_bgm.i: No such file or directory
–sudo vim /etc/hosts
–add a new line: 151.101.76.133 raw.githubusercontent.com # the raw.githubusercontent.com maybe blocked

10.Install the pytorch and torchvision: using PyTorch is not optimized for the Drive Platform, and using the TensorRT framework is the right way

Documents: https://developer.nvidia.com/DRIVE/secure/docs/NVIDIA_DRIVE_SW_10_References.zip
Forum: https://forums.developer.nvidia.com/c/agx-autonomous-machines/drive-agx/57

5 Likes