Based on the first suggestion :
I have connected jetson nano using Ethernet cable, While using the following command , getting "Connection timed out
" error
Having an address on wired will require (by default) a router which will assign an address via DHCP. Sometimes routers have security such that you’d have to tell it that it is ok to assign an address. If you just have a consumer router and have not set up anything special, then I would expect an address to be automatically assigned.
I see it sent 279 bytes, but had 2 errors (it should be 0). Something (probably the router) sent 51 bytes to the Jetson, and those were received without error.
What do you see from “dmesg | egrep -i '(eth|enp)'”?
If you monitor “dmesg --follow”, what do you see from the actual command below, plus any log seen in dmesg due to the command:
But couldn’t ssh user@10.42.1.1 , getting timeout error.
Command :
dmesg | egrep -i '(eth|enp)'
Output :
[ 0.914652] wmi_bus wmi_bus-PNP0C14:02: WQ data block query control method not found
[ 0.914655] wmi_bus wmi_bus-PNP0C14:02: WQ data block query control method not found
[ 0.914657] wmi_bus wmi_bus-PNP0C14:02: WQ data block query control method not found
[ 0.914658] wmi_bus wmi_bus-PNP0C14:02: WQ data block query control method not found
[ 0.944409] r8169 0000:07:00.0 eth0: RTL8168h/8111h, 08:97:98:b8:c8:ad, XID 541, IRQ 130
[ 0.944410] r8169 0000:07:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[ 0.973986] r8169 0000:07:00.0 enp7s0: renamed from eth0
[ 3.974778] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 4.214464] r8169 0000:07:00.0 enp7s0: Link is Down
[ 183.743950] r8169 0000:07:00.0 enp7s0: Link is Up - 1Gbps/Full - flow control off
[ 183.743974] IPv6: ADDRCONF(NETDEV_CHANGE): enp7s0: link becomes ready
[ 203.982142] ipheth 1-2:4.2: Apple iPhone USB Ethernet device attached
[ 203.982183] usbcore: registered new interface driver ipheth
[ 203.986661] ipheth 1-2:4.2 enx8282235f9bef: renamed from eth0
[ 204.572208] r8169 0000:07:00.0 enp7s0: Link is Down
[ 207.837150] r8169 0000:07:00.0 enp7s0: Link is Up - 1Gbps/Full - flow control rx/tx
It actually looks like it should work if the route to the Jetson can be traversed. Normally ssh is enabled as a default. Is there any modification of networking on this Jetson, or is it a custom carrier board?
On both host PC and Jetson, what do you see from this with the current 10.42.1.1 assigned and after one attempt to log in via ssh (the login attempt should add some data packet statistics which ifconfig will print)?
Not a custom carrier board, Its a Jetson nano 2GB Developer kit. Also I’m using ubuntu OS , which is recently installed.
I have connected internet to my laptop from a mobile phone using usb cable.
0 updates can be installed immediately.
0 of these updates are security updates.
Last login: Wed Dec 30 09:48:24 2020 from 10.42.1.1
/home/sam/.zshrc:source:108: no such file or directory: ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Warning: I may be misinterpreting which of the ifconfig and route logs are for Jetson versus host PC. It isn’t entirely clear which log belongs to which computer, I am guessing.
In the first ifconfig there is a correctly assigned address and netmask:
enp7s0 10.42.2.1/255.255.255.0
enx8282235f9bef: 10.42.1.1/255.255.255.0
Note that the two interfaces above are on two different subnets and this is valid. No errors there.
For the ping to make sense I would need to know for sure that this is on the same computer as the above ifconfig items. If the ping is from the listed ifconfig computer, then it is just pinging itself and will never see the outside world. If the ping is from another computer, then the ping says it was able to reach the computer from the first ifconfig. We basically need to define which computer we are talking about.
Similar for “ssh username@10.42.2.1”. The original ifconfig listing shows two subnets, and if 10.42.2.1 was intended to go to another computer, then it will fail and be connecting to enp7s0 or the same computer. If that command was run from a different computer, then the meaning changes. Every command above needs a label for the computer, e.g., you could add “nano” or “pc” as a label next to each of the outputs.
We can say there was no error, and that although I might be missing some information on which computer is which, that the “technical” part of this is working without error.
I see only one “route” command, and once again, I need this for each computer, and I need to know if that computer is the Nano versus if it was the PC.
You’re almost there, mostly it just needs some labels.
I have inserted a memory card into my jetson nano with a “jetson nano developer kit sd card image“. Then i have connected jetson nano into my laptop through a ethernet cable, also connected to the power supply.
Also connected internet to the laptop using mobile through usb cable. Now i was trying to ssh into the jetson nano. But not able to do that…
But you were asking me for the output of ifconfig from jetson nano… I can’t understand how to run ifconfig from jetson nano without ssh into it.
And all the ifconfig, route and other outputs mentioned in the earlier reply was from a my laptop
Is your nano there locally with you? You could use either a monitor/keyboard, or serial console. If not local, then I see the problem :P If you are local, then you might check out serial console since it is incredibly useful: https://www.jetsonhacks.com/2019/04/19/jetson-nano-serial-console/
It is hard to debug network failure when you can only access via network. The same is true with the GUI when graphics fails…but serial console has so few requirements it is hard to imagine developing without it even if you have a local keyboard/monitor setup.
Btw, if all of the above ifconfig and route is from the laptop, then your ping and ssh was never told to reach the Jetson. Those addresses of those two interfaces were local to the laptop (assuming once more that what I saw was produced from the laptop). The Jetson would have a different IP address. If both Jetson and laptop had been assigned the same addresses, then you would also see collision errors, and those were not present.
(base) ~ systemctl status isc-dhcp-server
● isc-dhcp-server.service - ISC DHCP IPv4 server
Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2021-01-03 23:26:29 IST; 2s ago
Docs: man:dhcpd(8)
Process: 12408 ExecStart=/bin/sh -ec CONFIG_FILE=/etc/dhcp/dhcpd.conf; if [ -f /etc/ltsp/dhcpd.conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi; [ -e /var/lib/dhcp/dhcpd.leases ] || touch /v>
Main PID: 12408 (code=exited, status=1/FAILURE)
Jan 03 23:26:29 sam3 dhcpd[12408]:
Jan 03 23:26:29 sam3 dhcpd[12408]: If you think you have received this message due to a bug rather
Jan 03 23:26:29 sam3 dhcpd[12408]: than a configuration issue please read the section on submitting
Jan 03 23:26:29 sam3 dhcpd[12408]: bugs on either our web page at www.isc.org or in the README file
Jan 03 23:26:29 sam3 dhcpd[12408]: before submitting a bug. These pages explain the proper
Jan 03 23:26:29 sam3 dhcpd[12408]: process and the information we find helpful for debugging.
Jan 03 23:26:29 sam3 dhcpd[12408]:
Jan 03 23:26:29 sam3 dhcpd[12408]: exiting.
Jan 03 23:26:29 sam3 systemd[1]: isc-dhcp-server.service: Main process exited, code=exited, status=1/FAILURE
Jan 03 23:26:29 sam3 systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Actually, there are multiple ways to access jetson nano… my previous comment is also one of them.
Connecting a monitor to nano is also a method.
Some other users also share methods in previous comments.
To me, It seems you are not that familiar with Linux/ubuntu system or how network connection is set up.
In that case, please directly try my suggestion from previous comment to save your own time.
I really want to figure out why ssh is not working , I’m familiar with ubuntu , but not with “how network connection is set up” . Could you suggest anything to solve this issue based on my previous comments ?
Any time you run ifconfig or route on your non-Jetson host PC, then that is for your host PC, not the Jetson. You would need to run those commands on the actual Jetson to know its address.
What @Andrey1984 mentions is a way to use serial console to do this even if networking and local monitor/keyboard are unavailable. Using serial console is your best method of accessing any Jetson when something goes wrong. It is hard to overemphasize the value of serial console.
As @linuxdev’s comment here, what you are trying to do now are all on your host side.
I also have few things to tell here:
It looks like you didn’t configure the dhcp server well on your host. Dhcp server configuration needs you to write a config file. I am not sure if you did that or not.
Even if you configure dhcp server correctly, you may not able to know the correct IP assigned on your nano.
It sounds like you are using a computer with only a ethernet cable connected and you are keeping asking why there is no remote access. Back to the basic question, are you really sure your jetson board is booting into OS? If the system does not boot into system at all, ssh will surely not work.
I have connected the Jetson Nano to ethernet. My router gives DHCP IP addresses.
Is there a way to set up Jetson Nano to request the same IP address every time?
If you have admin access to your router, then many of them allow binding the IP address it assigns for a specific MAC address. That’s a function of the router, not the Jetson. Or, you could manually assign a static address on the Jetson, stop using DHCP, while finding a way to guarantee that nothing else will use that IP address (which would once again require admin access to the router to tell it to never assign that IP address via DHCP).
Note: I always assign every Jetson’s MAC address to a specific IP address on the router. Then I let the Jetson use DHCP.