Installation: IGX system running IGX OS 1.0 DP with CX7 SmartNIC

Sensor Bridge v1.0.0

Here are instructions to set up an IGX system running IGX OS 1.0 DP with CX7 SmartNIC. While sensor bridge applications normally run in a container, these settings are all to be configured in the IGX system directly–not within the container. These instructions are remembered across power cycles and therefore only need to be set up once.

  1. Determine the name of the network device associated with the first CX7 port. This is the rightmost QSFP port when looking at the back of the IGX unit.

    igx-rear-qsfp0.png

    Copy
    Copied!
                

    $ ls /sys/class/infiniband mlx5_0 mlx5_1

    This will produce a list of CX7 ports; your device names may vary. The lowest numbered one, in this case mlx5_0, is the first CX7 port. Next, determine which host ethernet port is associated with that device.

    Copy
    Copied!
                

    $ ls /sys/class/infiniband/mlx5_0/device/net eth0

    This indicates that the host network interface associated with mlx5_0 is eth0; as before, your system may produce a different name.

  2. IGX OS uses NetworkManager to configure network interfaces. By default, the sensor bridge device uses the address 192.168.0.2 for the first port. Set up your first ethernet device (e.g. eth0) to use the address 192.168.0.101 with a permanent route to 192.168.0.2 using the following commands. Replace eth0 with your network interface as necessary. (Here is more information about configuring your system if you cannot use the 192.168.0.0/24 network in this way.)

    Copy
    Copied!
                

    $ sudo nmcli con add con-name hololink-eth0 ifname eth0 type ethernet ip4 192.168.0.101/24 $ sudo nmcli connection modify hololink-eth0 +ipv4.routes "192.168.0.2/32 192.168.0.101" $ sudo nmcli connection up hololink-eth0

    Apply power to the sensor bridge device, ensure that it’s properly connected, then ping 192.168.0.2 to check connectivity:

    Copy
    Copied!
                

    $ ping 192.168.0.2 PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data. 64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.225 ms 64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.081 ms 64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.088 ms 64 bytes from 192.168.0.2: icmp_seq=4 ttl=64 time=0.132 ms ^C --- 192.168.0.2 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3057ms rtt min/avg/max/mdev = 0.081/0.131/0.225/0.057 ms

  3. The second SFP+ connector on the sensor bridge device is used to transmit data acquired from the second camera on a stereo camera module (like the IMX274). By default, the sensor bridge device uses the address 192.168.0.3 for that second port. Connect the second IGX QSFP port (indicated with the red arrow below) to the second SFP+ port on the sensor bridge device. Use the process above to determine the host Ethernet device on the second port (e.g. mlx5_1 might be associated with eth1).

    igx-rear-qsfp1.png

    Use nmcli to configure the second QSFP network port with an appropriate address and permanent route. Replace eth1 with your network interface as necessary.

    Copy
    Copied!
                

    $ sudo nmcli con add con-name hololink-eth1 ifname eth1 type ethernet ip4 192.168.0.102/24 $ sudo nmcli connection modify hololink-eth1 +ipv4.routes "192.168.0.3/32 192.168.0.102" $ sudo nmcli connection up hololink-eth1

    Now test the second connection with ping 192.168.0.3:

    Copy
    Copied!
                

    $ ping 192.168.0.3 PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data. 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.210 ms 64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.271 ms 64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.181 ms 64 bytes from 192.168.0.3: icmp_seq=4 ttl=64 time=0.310 ms 64 bytes from 192.168.0.3: icmp_seq=5 ttl=64 time=0.258 ms ^C --- 192.168.0.3 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4102ms rtt min/avg/max/mdev = 0.181/0.246/0.310/0.045 ms

    When the second port is configured, the first port should continue to respond to pings as appropriate.

  4. Install git-lfs

    IGX OS 1.0 DP does not come with git-lfs installed; but some data files in the Holoscan sensor bridge source repository use LFS. If you plan on using git to fetch the sensor bridge host software, you’ll need to install git-lfs:

    Copy
    Copied!
                

    sudo apt-get update sudo apt-get install -y git-lfs

  5. For IGX with iGPU only: Install NVIDIA DLA compiler. Applications using inference need this at initialization time; the IGX OS image for iGPU doesn’t include it.

    Copy
    Copied!
                

    sudo apt update && sudo apt install -y nvidia-l4t-dla-compiler

To run example sensor bridge applications, continue with instructions on the setup page.

© Copyright 2022-2024, NVIDIA. Last updated on Apr 2, 2024.