Jetson TK1 jetpack installation

Hello all,

I am installing JetpackTK1-1.1 and I’ve been completely successful in following the tutorial up to the point of pushing the CUDA toolkit over LAN by inputting my IP address, username, and password. No matter what I do I can’t seem to get the devices to connect to each other so I’m assuming it’s a network issue on my end. My question is is there a way to manually transfer and install files, or could someone at least point me in the right direction? Thanks in advance.

To install CUDA 6.5, there are a couple of resources:

The Jetson Wiki (These instructions are a bit old, you’ll have to substitute the correct version numbers):
http://elinux.org/Jetson/Installing_CUDA

JetsonHacks.com (These instructions are specific to L4T 21.1, but you should be able to substitute 21.3 appropriately):
http://jetsonhacks.com/2014/11/19/nvidia-jetson-tk1-install-cuda-6-5-lt4-21-1/
There’s a script file and a video there that shows what to expect. Uncomment the end of the shell file if you want to compile the samples. Also, in the script I’m not sure that the line:

$ sudo dpkg -i cuda-repo-l4t-r21.1-6-5-prod_6.5-14_armhf.deb

is required anymore, it may be sufficient just to:

$ sudo apt-get install cuda-toolkit-6-5 -y

It’s been several months since I looked at it, and NVIDIA has done a lot of work on the process since then.

My host is fedora, rather than ubuntu, so I don’t use JetPack. Transferring files is easy though, the L4T on Jetson is a full Ubuntu, so any information on Ubuntu networking is correct for Jetson. You can use scp, sftp, wget, so on. Plus SD card or USB thumb drive.

The default for Jetson/Ubuntu is to use DHCP for network setup, so if networking is failing, a router might not be assigning an address, or else the address was assigned but you need to know the dotted-decimal address. What devices are failing? How is each device connected, e.g., via router?

Thank you Kangalow, I’ve been watching the Jetsonhack videos on Youtube to familiarize myself with the process but I’ll do my research from there.

Linuxdev, I work at Oak Ridge National Laboratory in Tennessee so they have their own network. My office space has a 5-port Gb switch which I have everything connected to, however I have to register all devices to be able to allow internet traffic to be sent. Unfortunately I’ve found that I cannot register the JetsonTK1 on the network so I will have to do all transfers manually.

As for the devices connecting, are we talking about a Linux desktop host and a single Jetson? It sounds like this is what you meant, but I want to be sure. Also, can I assume your host is automatically assigned an address?

The Gb switch should be able to route traffic which is directly connected to its ports, but the devices would need an IP address and each device would need to know the other device’s IP address…the addresses would need to be in the same subnet. If the Jetson is given an address reachable by the outside world, you’ll need to first change the default password; if Jetson is behind a router using non-internet-routable IP addresses, password change is far less important.

A serial console would help because you can check what Jetson thinks its IP address is (or a GUI login), using ifconfig. You would then want to compare to the host’s address, and see if they are in the same subnet. Each device could then have the other device’s address entered into “etc hosts” (had to leave out slash mark, forum formatting is trying to use it wrong) with a “name” to use instead of dotted-decimal address (but beware a DHCP assigned address might change).

Yes I’m using an desktop host with Ubuntu 14.04 and yes my host is on the network and is automatically assigned an address. When running “ifconfig eth0” on the Jetson it shows that it has an IP address. When run on the host PC the Masks are the same, not sure if that’s what you’re referring to by subnet.

Can the ubuntu host and Jetson ping each other using the dotted decimal address? If the subnets are the same they should both be listening to ping requests directly over the gigabit.

UPDATE: So I was able to make the host and Jetson communicate with each other over the network, however when I get to the end of Push and Install Components for Target I get an error warning which states

“CUDA cannot be installed on device. Please make sure following packages are installed correctly on device before continuing:
cuda-toolkit-6-5 libgomp1 libfreeimage-dev libopenmpi-dev openmpi-bin”

Not sure what to do from here. Again I appreciate all of your help. I used to think I was pretty tech savvy until I used Linux…

This is a known bug which sometimes pops up in JetPack. Unfortunately, since I use Fedora and cannot use JetPack, I don’t remember what the exact fix is. Some threads here step through it and show how to solve the issue.

The gist of what I remember though is that when you get to a failure point you can back up and find out which package is needed, then manually install that, followed by continuing. Likely you can use apt-get to fix this and keep going so long as the cuda repo .deb file is in place (and it probably is in place at this point).

Okay I will look through the forums to see what I can find. Thank you.

The fix is to use apt-get command to manually install packages mentioned in popup dialog box, i.e., cuda-toolkit-6-5 libgomp1 libfreeimage-dev libopenmpi-dev openmpi-bin.

Possible reasons for this problem include debian source repository server temporarily not available from host/device, or apt-get system has problem. Sometimes, using “apt-get -f install” can fix apt-get system problems. Manually installing these packages will help to find out the root cause, however. After these packages are installed, you can close the popup dialog box and continue with JetPack installation.