Jetson Troubleshooting
General troubleshooting steps include ensuring that:
- Its lights are turned on
- The correct SD card is inserted
- The power cable is plugged into the barrel jack of its carrier board
- The other end of the power cable is connected to power
- All USB cables are connected to Jetson either directly or through the USB hub
- All of the ports on the USB hub are active (the light should be on and the button depressed)
- The ethernet cable is connected to the endcap
Unexpected Reboot When Arming
If the Jetson loses power and reboots when you arm the robot, ensure that both batteries are actually connected inside of the battery hulls. This problem was observed when both battery hulls were connected to the robot, but one battery hull was disconnected from its battery internally.
Checking Connection
Important
Most connection problems can be resolved by waiting for a few minutes and retrying.
However, you should never have to wait longer than 3 minutes. If you do, continue to the troubleshooting steps below.
To establish an SSH connection to the Jetson, two important things must happen:
- The computer must obtain an IP address from the DHCP server running on the Jetson
- The SSH server running on the Jetson must be available to receive connections from the computer
1. Checking IP
Linux (Team laptop)
When using the team laptop or another computer running Linux, follow these instructions:
- Disconnect the robot from the computer
- If using an ethernet dongle, disconnect if from the computer
- Open a new terminal
-
Run the following command:
You should see output that looks similar to the following. Comments (lines starting with "#") have been added for explanation.ip a
# This is the first entry (notice it start with "1:") 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 noprefixroute valid_lft forever preferred_lft forever # This is the second entry (it start with a "2:") # The "enp4s0" is the name of one of the computer's network interfaces (https://simple.wikipedia.org/wiki/Network_card) # By naming convention, "enp4s0" starts with "enp" and is therefore a wired network interface # Notice the "state DOWN" here. This means that this network interface is not connected to anything 2: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether b0:25:aa:3f:f4:24 brd ff:ff:ff:ff:ff:ff altname enxb025aa3ff424 # This is the third entry (it start with a "3:") # By naming convention, "wlan0" is a wireless network interface because it starts with "wlan" # This is the interface my computer uses to make a WiFi connection # This interface has "state UP", meaning that it is connected to a network # Notice that this entry has a line that begins with "inet" # The "192.168.86.24/24" indicates the ip address that your computer has on the network 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 70:9c:d1:fa:44:de brd ff:ff:ff:ff:ff:ff inet 192.168.86.24/24 metric 1024 brd 192.168.86.255 scope global dynamic wlan0 valid_lft 85906sec preferred_lft 85906sec inet6 fe80::729c:d1ff:fefa:44de/64 scope link proto kernel_ll valid_lft forever preferred_lft forever # There may more entries depending on the system
-
If using a ethernet dongle, connect it to the computer
- Connect the robot to the computer
- Run
ip a
again- If you are using an ethernet dongle, you should now see a new entry in the output (the dongle acts as a network interface). The interface should now have "state UP" and have an "inet" line:
10: enp195s0f4u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 56:66:c9:8b:0f:92 brd ff:ff:ff:ff:ff:ff altname enx5666c98b0f92 inet 192.168.82.177/24 metric 1024 brd 192.168.82.255 scope global dynamic enp195s0f4u1 valid_lft 3590sec preferred_lft 3590sec inet6 fe80::5466:c9ff:fe8b:f92/64 scope link proto kernel_ll valid_lft forever preferred_lft forever
- If you are connecting the robot to the computer using your computers built-in ethernet port, the "enp" interface from before should now have "state UP" and have an "inet" line
- If you are using an ethernet dongle, you should now see a new entry in the output (the dongle acts as a network interface). The interface should now have "state UP" and have an "inet" line:
- If the interface is up (has "state UP") and is assigned an ip address (has "inet" line), continue to SSH. Otherwise, wait roughly 10 seconds and repeat step 7. If, after a few tries, you are still not assigned an ip address, continue to Trouble Shooting IP Issues
Windows
Warning
The team laptop is known to work, unless you know what you are doing, please use it instead
The following steps have not been tested
- Disconnect the robot from the computer
- If using an ethernet dongle, disconnect if from the computer
- Open a new terminal
- Run the command
gip
- If using and ethernet dongle, connect it to the computer
- Connect the robot to the computer
- Run the
gip
command again - Check if you have been assigned an ip address:
- If using an ethernet dongle, a new network interface should have appeared
- If connecting directly to the computer's ethernet port, the ethernet interface should now have an ip address ("IPv4Address")
- If you have been assigned an ip address, continue to SSH. Otherwise, wait roughly 10 seconds and repeat step 8. If, after a few tries, you are still not assigned an ip address, continue to Trouble Shooting IP Issues
Trouble Shooting IP Issues
- If the interface remains down, the Jetson likely does not have power. Make sure that the power cable is plugged into the barrel jack of its carrier board and that the other end of the power cable is connected to power.
- If you have confirmed that it is powered on, there is likely a physical break in the connection between the computer and the Jetson. Ensure that all cables in the chain between the Jetson and the computer are connected.
- If the interface is up but does not have an ip address, the DHCP server may be misbehaving. Power cycle the robot. If the issue continues, you should ask a member of the software team.
- If you are using an ethernet dongle and the new interface does not appear, try a different one. If multiple dongles do not work, it is likely an issue with the computer you are using. Please use the team laptop instead (it has a builtin ethernet jack, eliminating the need for the dongle)
SSH
The following instructions should apply to both Linux and Windows.
- Run the following command in a terminal:
ssh sw8@192.168.2.5
- You should almost immediately be prompted about a fingerprint or for a password. If so, everything is fine and you should continue dryrunning.
- Otherwise, if you receive a connection refused error, the SSH server is likely still starting
- Wait at most two minutes
- Rerun
ssh sw8@192.168.2.5
- If the error persists, power cycle the robot
- If the error persists even after power cycling, ask a software team member
- Otherwise, if the command hangs with no output or you receive a connection timed out error:
- Kill the ssh command if running (press Ctrl and C at the same time)
- Wait at most 2 minutes
- Rerun
ssh sw8@192.168.2.5
- If the problem persists, power cycle the robot
- If the problem persists even after power cycling, kill the ssh command and run:
ping 192.168.2.5
-
Let it run for about 5 seconds, then kill it (press Ctrl and C at the same time)
The output should look like the following if the Jetson is up:
This means that you can communicate with the Jetson, but that SSH server is misbehaving. Ask a member of the software team for help.PING 192.168.2.5 (192.168.2.5) 56(84) bytes of data. 64 bytes from 192.168.2.5: icmp_seq=1 ttl=57 time=48.3 ms 64 bytes from 192.168.2.5: icmp_seq=2 ttl=57 time=148 ms 64 bytes from 192.168.2.5: icmp_seq=3 ttl=57 time=62.6 ms 64 bytes from 192.168.2.5: icmp_seq=4 ttl=57 time=50.9 ms 64 bytes from 192.168.2.5: icmp_seq=5 ttl=57 time=70.2 ms 64 bytes from 192.168.2.5: icmp_seq=6 ttl=57 time=48.5 ms ^C --- 192.168.2.5 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5010ms rtt min/avg/max/mdev = 48.338/71.487/148.450/35.342 ms.5: icmp_seq=6 ttl=57 time=48.5 ms
If the Jetson is unreachable or not responding, it should look like this:
Are you sure you that you actually got an ip address assigned by the Jetson in Checking IP?PING 192.168.2.5 (192.168.2.5) 56(84) bytes of data. ^C --- 192.168.2.5 ping statistics --- 18 packets transmitted, 0 received, 100% packet loss, time 17406ms