Linux

Open in Claude

Tested on Ubuntu 18.04 and 20.04.4 LTS. The sensor hostname is os-991234567890.local (serial number on the sticker on top of the sensor).

Connecting the Sensor

  1. Connect the sensor to an available Ethernet port on the host machine or router.
  2. The sensor automatically obtains an IP address via link-local or DHCP, depending on network configuration.
  3. When connecting directly to the host machine, set the Ethernet interface to Link-Local Only mode via CLI or GUI. See Setting the Interface to Link-Local Only.

Note: It can take up to 60 seconds to obtain an IP address after initial power-up.

Via Command Line:

Command

$nmcli con modify [interface_name] ipv4.method link-local ipv4.addresses ""

Note: To find your connection name, run nmcli connection show.

Example — with interface name eth0:

$username@ubuntu:~$ nmcli con modify eth0 ipv4.method link-local ipv4.addresses ""

Response: (no output)

Note: Verify the change with ip addr. Once the sensor is reconnected, the inet line for eth0 will show the negotiated link-local address (e.g., 169.254.1.100).

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:00:11:22:33 brd ff:ff:ff:ff:ff:ff
inet 169.254.1.100/16 brd 169.254.255.255 scope link noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::be9f:d2a4:4451:3dfe/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:00:44:55:66 brd ff:ff:ff:ff:ff:ff
inet 192.0.2.232/24 brd 192.0.2.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe28:7a8a/64 scope link
valid_lft forever preferred_lft forever

Via GUI: Set the interface to Link-Local Only mode in the network manager GUI.

The Sensor Homepage

  1. Enter http://os-991234567890.local/ in your browser’s address bar to open the sensor homepage.

Note: If the sensor homepage does not load, follow the steps in Determining the IPv4 Address of the Sensor to verify the sensor has a valid IP address.

Determining the IPv4 Address of the Sensor

  1. Open a Terminal (Ctrl+Alt+T).

  2. Ping the sensor to find its IPv4 address:

Command

$ping -4 -c3 [sensor_hostname]

Example

$username@ubuntu:~$ ping -4 -c3 os-991234567890.local

Note: If this command hangs, configure your interface to link-local first (see Setting the Interface to Link-Local Only).

Response

PING os-991234567890.local (192.0.2.130) 56(84) bytes of data.
64 bytes from os-991234567890.local (192.0.2.130): icmp_seq=1 ttl=64 time=1.56 ms
64 bytes from os-991234567890.local (192.0.2.130): icmp_seq=2 ttl=64 time=0.893 ms
64 bytes from os-991234567890.local (192.0.2.130): icmp_seq=3 ttl=64 time=0.568 ms
--- os-991234567890.local ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2025ms
rtt min/avg/max/mdev = 0.568/1.008/1.565/0.416 ms

Note: In this example, the sensor IPv4 address is 192.0.2.130. An address of the form 169.254.x.x means it is connected via link-local.

  1. Alternatively, browse by service type using avahi-browse:

Command

$avahi-browse -lrt [service type]

Example

$username@ubuntu:~$ avahi-browse -lrt _ouster-lidar._tcp

Response

+ eth0 IPv6 Ouster Sensor 991234567890 _ouster-lidar._tcp local
+ eth0 IPv4 Ouster Sensor 991234567890 _ouster-lidar._tcp local
= eth0 IPv6 Ouster Sensor 991234567890 _ouster-lidar._tcp local
hostname = [os-991234567890.local]
address = [fe80::be0f:a7ff:fe00:1852]
port = [80]
txt = ["path=/api/v1" "fw=ousteros-image-prod-bootes-v3.2.0" "sn=991234567890" "pn=840-102145-B"]
= eth0 IPv4 Ouster Sensor 991234567890 _ouster-lidar._tcp local
hostname = [os-991234567890.local]
address = [192.0.2.130]
port = [80]
txt = ["path=/api/v1" "fw=ousteros-image-prod-bootes-v3.2.0" "sn=991234567890" "pn=840-102145-B"]

Note: An address of the form 169.254.x.x means the sensor is connected via link-local.

Determining the IPv4 Address of the Interface

Identify the IPv4 address of the interface the sensor is connected to (e.g., eth0 in the example below).

  1. Open a Terminal (Ctrl+Alt+T).

  2. View all interface addresses:

Command

$ip addr

Example

$username@ubuntu:~$ ip addr

Response

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:00:11:22:33 brd ff:ff:ff:ff:ff:ff
inet 169.254.1.100/16 brd 169.254.255.255 scope link noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::be9f:d2a4:4451:3dfe/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:00:44:55:66 brd ff:ff:ff:ff:ff:ff
inet 192.0.2.232/24 brd 192.0.2.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe28:7a8a/64 scope link
valid_lft forever preferred_lft forever
  • In this example, the sensor is plugged into interface eth0.
  • The host IPv4 address is on the inet line — here, 169.254.1.100.

Note: An interface address of the form 169.254.x.x means Linux self-assigned a link-local address in the absence of a DHCP server.

Setting the Host Interface to DHCP

Set the interface to obtain an IP address automatically via DHCP.

Note: Unplug the cable from the interface before making changes.

Via Command Line:

Command

$nmcli con modify [interface_name] ipv4.method auto ipv4.addresses ""

Example — with interface name eth0:

$username@ubuntu:~$ nmcli con modify eth0 ipv4.method auto ipv4.addresses ""

Response: (no output)

Note: Verify the change with ip addr. The inet line for eth0 will be absent until a cable is connected to a device with a DHCP server.

Via GUI: Set the interface to Automatic (DHCP) mode in the network manager GUI.

Setting the Host Interface to Static IP

Assign a static IPv4 address to the interface.

Note: Unplug the cable from the interface before making changes.

Via Command Line:

Command

$nmcli con modify [interface_name] ipv4.method manual ipv4.addresses [ip_address]

Example — with interface eth0 and IPv4 address 192.0.2.1/24:

$username@ubuntu:~$ nmcli con modify eth0 ipv4.method manual ipv4.addresses 192.0.2.1/24

Note: /24 is shorthand for Subnet Mask 255.255.255.0.

Response: (no output)

Note: Verify the change with ip addr. The inet line for eth0 will show the static address, e.g., 192.0.2.1.

Via GUI: Set the interface to Manual (static) mode in the network manager GUI.

Finding a Sensor with mDNS Service Discovery

The sensor announces itself via mDNS with service type _ouster-lidar._tcp. Use avahi-browse to find all sensors on the network.

  1. Find all sensors and their IPv4 addresses using service type _ouster-lidar._tcp:

Command

$avahi-browse -lrt [service type]

Example

$username@ubuntu:~$ avahi-browse -lrt _ouster-lidar._tcp

Response

+ eth0 IPv6 Ouster Sensor 991234567890 _ouster-lidar._tcp local
+ eth0 IPv4 Ouster Sensor 991234567890 _ouster-lidar._tcp local
= eth0 IPv6 Ouster Sensor 991234567890 _ouster-lidar._tcp local
hostname = [os-991234567890.local]
address = [fe80::be0f:a7ff:fe00:1852]
port = [80]
txt = ["path=/api/v1" "fw=ousteros-image-prod-bootes-v3.2.0" "sn=991234567890" "pn=840-102145-B"]
= eth0 IPv4 Ouster Sensor 991234567890 _ouster-lidar._tcp local
hostname = [os-991234567890.local]
address = [192.0.2.130]
port = [80]
txt = ["path=/api/v1" "fw=ousteros-image-prod-bootes-v3.2.0" "sn=991234567890" "pn=840-102145-B"]

Note: In this example, the sensor IPv4 address is 192.0.2.130.