Hello,
I have Jetson Nano and my laptop connected to my Android phone as hotspot. I can see the Jetson’s IP in my phone, but I cannot connect using an SSH client from either my phone (Juice SSH) or my laptop (Ubuntu). However, if I connect my laptop to the Jetson microUSB port, and login, then I can connect using SSH from both devices, and the connection is maintained even if I disconnect my laptop from the microUSB port, but I cannot login again using SSH until the I connect it again!
I would very much like to have Jetson accept SSH connections once booted, with no need to connect my laptop to the microUSB port.
I have reproduced it using my home WiFi. Jetson has address 192.168.100.170 and my laptop has address 192.168.100.4. Now, if I try to SSH to Jetson without any cable connection, I get
$ ssh 192.168.100.170
ssh: connect to host 192.168.100.170 port 22: No route to host
$
Same if I just connect the USB cable. However, if I login to Jetson using
$ sudo screen /dev/ttyACM0 115200`
then I can ssh to 192.168.100.170 from another terminal window, and from other computers, and my phone, as long as I am connected through the USB cable.
Once the connection through the USB cable finish, existing SSH sessions remain active, but I cannot establish a new one.
Sorry, I am getting lost. What do you mean by AP? The last ifconfig ouput I sent correspond to the microUSB connected and login through it. Is it that what you requested? I am not sure now.
If I start the jetson with a monitor, keyboard and mouse, but no microUSB, it works fine. I can browse the Web, install and upgrade packages.
If I login with the microUSB, then login using SSH through the WiFi (not 192.168.55.1), and then logout and disconnect the microUSB cable, the SSH session keeps working, with Internet connection. At home at least, I can even SSH from another computer without problems. However, once all SSH connections are finished, I cannot connect again without firstly connecting the microUSB and login throught (either using screen or SSH to the 192.168.55.1 address).
I see the wired eth0 never has an IP address, so I am assuming wired is not plugged into any router or AP.
I see when it works wlan0 has the suggested 192.168.100.170 address. Typical for having WiFi active. When not working wlan0 has no address. Typical for WiFi going down. Do note that the micro-USB virtual ethernet of 192.168.55.1 is a different subnet, and so it is possible that route setup (a combination of both the host and the Jetson) might be of interest.
Is it possible to see the “route” on your Android? Also, what does the “route” command show on both working and failing circumstances from the Jetson? I am basically interested in a more verbose list of information from what @WayneWWW is suggesting with the “traceroute” command (hoping your Android can run traceroute, it might be able to). Knowing simultaneously these three things for both failing and working circumstances would be useful, especially if this can be run on both Android and Jetson:
ifconfig to show addresses;
route to show which gateways or direct routes would be used;
traceroute to see what devices are being traversed.
Also, a Jetson has the ability to do some testing via ssh from itself to itself. In theory, if the micro-B USB is connected (even if the other end doesn’t work, this is just to set up address 192.168.55.1), then you could log in to the Jetson locally and test:
ssh localhost
ssh 192.168.55.1
ssh 192.168.100.170
Further, one could do some similar ping tests, but to the connected Android from the Jetson:
ping 192.168.55.100 # Note that this is the IP address from virtual micro-USB at the Android end.
ping 192.168.100.170 # This is essentially self-ping, but through another interface.
ping 192.168.100.4 # Note that direction of ping from Jetson to Android might differ compared to ping from Android to Jetson due to any kind of firewall rule or due to route setup.