I recently purchased at Jetson TK1 for an image processing project, however when I plug it into the internet there is no internet access. when I run ifconfig, it lists an ip address and when I contact the network administrator, they say that the device is listed as being on the network. Furthermore, the device itself says that it is connected. When I have tried pinging a website from the terminal there is no response and when I try from the internet browser it displays a “server not found” message. Where would be a good place to start debugging? Thanks in advance!
A lot depends on how the address is issued. Normally DHCP is used where the Jetson boots and sends out a broadcast to ask a router for what IP address it should use. If you are going direct to your ISP then the outside world will see an IP address from which the Jetson can be a server. If you are going to a router then only devices inside the router will be able to go to the Jetson without customizing port forwarding.
So far as web sites go, if you are looking for seeing the Jetson via a web server, then you’ll have to install and configure web server software (Ubuntu admin documents work for this, it isn’t different on a Jetson).
The real test as to whether things are functional is if ssh login works. Incidentally, if you don’t control everything behind your router, then you need to immediately change the user ubuntu’s password to avoid malicious logins.
To start with, is your Jetson being given its address from a development box, a router you own and control, or via a router somewhere outside of your control?
You said ping works, so I’m guessing ssh would work too.
If that works, have you looked into available web server options under Ubuntu? Apache is by far the most common, but you may want something smaller and lighter weight on an embedded system.
Thank you for your prompt response! One minor correction, so far pinging does not work. As for the other questions, I only need to connect to another local machine or I can also connect via a VPN, however receive my IP address from another router that I don’t control :) I tested sshing into the machine and was successful, so the last hurdle is being able to access external websites, ie for sudo apt-getting packages, updates, etc. Was there something else I could try? Thanks!
So it sounds like you can get into the Jetson, but reaching sites in the outside world from the Jetson is not working. Is this correct?
There are basically three topics. The first is whether basic networking is up without domain name serving…which comes down to whether dotted-decimal format IP addresses work.
Should that work, beware of firewalls and router settings which might block you even though your Jetson is set up correctly. On your own router this would not happen, but for a router you don’t control there is a chance that some ports are blocked.
The last issue is domain name services…the service which related a domain name to the dotted-decimal address.
As a simple test, from the Jetson, you should be able to ping a major server from inside of the Jetson. One of Google’s addresses is a good test:
If that dotted-decimal ping works, see if you can resolve Google’s address:
If this latter fails you could still browse google with 18.104.22.168 as the address.
Does ping to 22.214.171.124 work? If so, does the host lookup command work? Does a web browser work if either 126.96.36.199 or google.com are entered as the URL?
ok, I was talking to a system admin and after doing a few tests he said that “The dhcp is giving valid responses however the network manager config is ignoring them” and that after that point it wasn’t his job to help :), is there any ideas on where one would begin? again, thanks!
Typically I get irritated with NetworkManager as well. The default with WiFi usually makes wired badly behaved…I don’t use WiFi. What follows is one method to do network research without the initial frontal lobotomy for sanity (TM :P).
What’s probably happening is that you get a virtual interface, wlan0, and that interface interferes with wired depending on WiFi. Instead of thinking wired is a static address to always run, much of the time such configurations think you want WiFi OR ethernet…but not simultaneously to serve different subnets. Do you have any WiFi configured?
Here’s something to test. Run “ifconfig”, save it to a log file, e.g.:
ifconfig | tee iflog.txt
Next see what the last thing is in dmesg just for a reference point:
sudo dmesg | tail
Now tell the DHCP client to ask again for an address:
Make a second ifconfig log, and compare the two. Make a note of the next “dmesg | tail -n 25” and see what’s changed. There may be clues as to what is going up and down to interfere with wired. You could put a sprinkle of “iwconfig” in there too to see if WiFi changed.
thank you again for your help, The only difference in the log files is the ip address, as well as a “dummy0” interface found in the log file that was made after running dhclient. As for wifi, I don’t have wifi hardware installed and haven’t seen hide nor hair or anything wifi related. When double checking, I punched in iwconfig and all the connection points reported “no wireless extensions”
dummy0 is normal and can be ignored.
So far as WiFi goes this is the usual culprit, but if you don’t have WiFi, perhaps it is just one of the network settings from the GUI. When you reach graphical login (if autologin doesn’t run, or if you log out without rebooting from a normal login) I think there is some network setting possible…though as I recall it was on the JTX1 and not JTK1. From the graphical login do you see anything related to network settings (prior to being logged in)? Once logged in there is a systems settings app…I’m not sure what to look for there since mine is hard wired for static IP (vi beats NetworkManager in some cases).
Did dmesg say anything about network when you ran dhclient? Also, try “sudo systemctl restart networking.service” (I think that’s right, but I’m not where I can check…it may actually be “network.service” instead of “networking.service”…and then it may only be on the TX1). If you can’t do the systemctl commands, try “sudo service network restart”. Watch dmesg output before and after.
ok, so we finally got it fixed. In the end, we never figured out the problem although it is probably related to the network manager. To get internet access, we set up a static ip address and manually entered in all the network information. Thanks for all your help! One last question, is this image specific to the tegra, or could we hypothetically reimage the device with another flavor of linux if we had problems in the future?
There are several other Linux distributions which work on the Jetson, but I have not tried them out.
Usually the issue is that without the NVIDIA-specific hardware accelerated drivers you can’t use CUDA or hardware accelerated graphics. The GPU access is tied to a specific X11 interface ABI, but this ABI is a fast-moving target and I don’t know of any of the other distributions which the GPU driver would work with because of this ABI change. If you don’t mind losing hardware-accerated access, then many distributions become possible.