Skip to content

Wi-Fi connection setup

Info

You can skip this page if you already have a wireless connection to your JetBot from your computer.

To go through the actual example applications on JetBot, you interact with JetBot from your (laptop) PC through Wi-Fi network.

This document explains how you can initially set up the Wi-Fi connection on your Jetson.

Monitor-attached Mode

The easiest way to set up the Wi-Fi connection on your Jetson, is to operate on the GUI desktop.
For this you need to fisrt connect the following to the Jetson on your JetBot.

  • HDMI monitor
  • USB keyboard
  • USB mouse

With this setup, you can use Jetson like a standard Linux computer.
We call this Monitor-attached Mode.

Hint

If you don't have above items handy, then you can also try the headless way of configuring Wi-Fi. Head down to the next section, Headless Mode.

Connect to Wi-Fi AP

If a Wi-Fi adaptor (either Intel 8265 M.2 card or a USB Wi-Fi dongle) is attached, you can configure the wireless network from the desktop.

Check IP address

After the connection established, check the IP address.

Note this IP address.

Verify the IP address

To test the IP address is valid and your Jetson is accesible, try connecting to the IP address from your separate (laptop) PC.

SSH server is enabled by default on Jetson.
Open your SSH client software (PuTTY, etc) on your PC, and try to connect the SSH server on the IP address.

This is how you connect to your JetBot using SSH client software.
Once you confirm you can connect to your Jetson remotely from your PC via Wi-Fi, you can now remove the HDMI monitor, keyboard and mouse from Jetson, and let your JetBot free!

And at this point, you are now using Jetson effectively in the Headless Mode.

Hint

Alternatively, even on the GUI deskop, you can open the terminal by pressing Ctrl + Alt + T keys, and follow the command-line based setup described below for headless setup.

Headless Mode

When you put your Jetson in a deployed system, like a mobile robot, it is often difficult to attach an HDMI monitor.
We can still control such Jetson remotely through network from a (laptop) PC, WHEN you already know the IP address.
We call this operation mode Headless Mode.

However you face a chiken-or-egg dillemna here, because you want to remotely login to the console to set up a Wi-Fi connection, but to do that you first need the IP address of your Jetson that you get after establishing the Wi-Fi connecton.

USB Device Mode

What comes handy here is USB Device Mode.

You connect your (laptop) PC and Jetson using a Micro-USB cable. (Type-A end goes to your PC, Micro-B end goes to Jetson)
Using this wired connection, you can access the terminal on Jetson from your (laptop) PC.

With USB Device Mode, Jetson presents 3 different USB Device Class end-points to the PC that it got connected to.
They function as

  • USB mass storage device (you see L4T-README drive mounted on your PC, like a USB thumbdrive)
  • USB serial (like the common "FTDI" USB to serial adapter)
  • USB network interface card (like a virtual Ethernet adapter)

With the virtual Ethernet adapter functinality, Jetson forms a virutal local Ethernet network with Jetson being 192.168.55.1 and your PC being 192.168.55.100. So you can actually SSH login from your (laptop) PC by specifying 192.168.55.1, if you have already set up your acount (with username and password).

If you are using Jetson for the first time right after you flash your SD card, then you don't have this user account set up.
In that case, you want to use the USB serial functinality, and use your serial terminal software on your PC to have accesss to the Jetson's serial terminal.

So either way, with a Micro USB cable, you can have an access to Jetson's terminal.

Connect Wi-Fi using nmcli command

If a Wi-Fi adaptor (either Intel 8265 M.2 card or a USB Wi-Fi dongle) is attached, you can configure the wireless network using nmcli command.

You can first check if you want a wireless adapter on your system.
Look for wlan0.

$ nmcli device
DEVICE  TYPE      STATE         CONNECTION
l4tbr0  bridge    connected     l4tbr0
wlan0   wifi      disconnected  --
eth0    ethernet  unavailable   --
dummy0  dummy     unmanaged     --
rndis0  ethernet  unmanaged     --
usb0    ethernet  unmanaged     --
lo      loopback  unmanaged     --

Then you can list all the wirelss networks (SSDI) in the area.

$ nmcli device wifi list
IN-USE  SSID                           MODE   CHAN  RATE        SIGNAL  BARS  SE
        --                             Infra  6     195 Mbit/s  82      ▂▄▆█  WP
        --                             Infra  6     195 Mbit/s  82      ▂▄▆█  WP
        --                             Infra  6     195 Mbit/s  75      ▂▄▆_  WP
        MY_WIFI_AP                     Infra  6     195 Mbit/s  70      ▂▄▆_  WP
        --                             Infra  6     195 Mbit/s  70      ▂▄▆_  WP
        *********                      Infra  1     405 Mbit/s  64      ▂▄▆_  WP
        ************                   Infra  153   405 Mbit/s  64      ▂▄▆_  WP
...

To connect to your wireless network (AP, access point), issue the commands below.

$ sudo nmcli device wifi connect <MY_WIFI_AP> password <MY_WIFI_PASSWORD>
Device 'wlan0' successfully activated with '2a26d5ca-****-****-****-**************'.

Check IP address

To check your IP address, use ifconfig. Check the wlan0 part at the very bottom.

$ ifconfig
dummy0: flags=195<UP,BROADCAST,RUNNING,NOARP>  mtu 1500
        inet6 fe80::d854:8ff:fe87:e631  prefixlen 64  scopeid 0x20<link>
        ether da:54:08:87:e6:31  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 3376 (3.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

l4tbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.55.1  netmask 255.255.255.0  broadcast 192.168.55.255
        inet6 fe80::1  prefixlen 128  scopeid 0x20<link>
        inet6 fe80::943c:9dff:fe90:eb89  prefixlen 64  scopeid 0x20<link>
        ether 96:3c:9d:90:eb:89  txqueuelen 1000  (Ethernet)
        RX packets 15189  bytes 1343038 (1.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4344  bytes 411009 (411.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 3954  bytes 287737 (287.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3954  bytes 287737 (287.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rndis0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::943c:9dff:fe90:eb89  prefixlen 64  scopeid 0x20<link>
        ether 96:3c:9d:90:eb:89  txqueuelen 1000  (Ethernet)
        RX packets 15414  bytes 1360470 (1.3 MB)
        RX errors 0  dropped 7  overruns 0  frame 0
        TX packets 4378  bytes 667985 (667.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 96:3c:9d:90:eb:8b  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.58  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::b5a0:c2e3:50bc:29a4  prefixlen 64  scopeid 0x20<link>
        ether b4:4b:d6:23:9a:12  txqueuelen 1000  (Ethernet)
        RX packets 26825  bytes 40675884 (40.6 MB)
        RX errors 0  dropped 32746  overruns 0  frame 0
        TX packets 16406  bytes 1673647 (1.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Verify the IP address

To test the IP address is valid and your Jetson is accesible, try connecting to the IP address from your separate (laptop) PC under the same network.

Open your SSH client software (PuTTY, etc) on your PC, and try to connect the SSH server using the IP address you obtained on the wireless adapter.

This is how you connect to your JetBot over Wi-Fi.
Once you confirm you can connect to your Jetson remotely from your PC via Wi-Fi, you can now remove the Micro USB cable and let your JetBot free!

Info

Next, you move on to either page below.

Once your JetBot software is configure, you should see JetBot's IP address on the small OLED display.
You would only need to come back to this step to re-connect to the network or to find the IP address when your JetBot fails to get the IP address and show the current IP address on the OLED display.