when installing jetpack 3.2.1,the Installation process stopped in :jetpack is unable to determine the IP address of......

when installing jetpack 3.2.1,the Installation process stopped in :“jetpack is unable to determine the IP address of the jetson developer kit failure to run bash command “timeout 180 nc -l 33338”bacause of error:exit status 1, nc:address already in use
please select which action do you want:
1.retry
2.manually enter IP address
your option is <1/2>:”
here if I input 1 and press enter,system will repeat this question,and if I input 2 and press enter,system will quit installation but TX2 didn’t installed CUDA or anything other software.so how to I can solve this problem?

If you flash a TX2 it uses only the micro-B USB cable. Once flash is done the TX2 reboots, and all operation after that is over the wired ethernet cable. In the case where you pick to both flash and install packages there is a mechanism in place for the TX2 to try and report its IP address to JetPack, but this can easily fail. In that case you need to manually tell it the address. If you’ve chosen to only add packages and to not flash, then once again you’d have to tell JetPack the IP address since the mechanism to tell JetPack about the address won’t exist at that point.

There is a bit of complication there because either the TX2 can be connected to a router appliance, or the TX2 can use the host PC as a router if you’ve checked that configuration before starting the package additions. Which did you choose, to use an actual router appliance, or to have JetPack set up the host PC as a router?

Now if there were some sort of software process which went bad, and was still using the IP address which the system was trying to use with the TX2, then you might get a message about address already in use. Perhaps the address is already in use from a previous attempt. Or perhaps for other reasons. Probably the simplest thing to do to test if something temporary was going on is to reboot (although the reason might have something to do with router configuration it is easy to reboot).

My installation steps are like this:
1.Suppose I have JETPACK installed on my PC now.
2.then I use two wired ethernet cable cable to conneted PC and TX2 in Same router appliance
3.Enter TX2 into RECOVER mode,then pc system will prompt:please put your device to force USB Recovery mode…
4.Follow the instructions above,I use micro-B USB cable to connected PC with TX2,then press enter
5.Then the system will be installed until the above problems occur.
According to my current installation steps, where should there be a problem, and how can I solve this problem?

So a router appliance setup (which you use) is the simplest method (and probably the most reliable).

You don’t need to use recovery mode plus full flash each time (if previous flash worked). You could go straight to a normal boot and then just install packages. If a flash has succeeded, then I’d recommend skipping re-flash and just go straight to package install. For that case you can skip the micro-B USB cable and simply use the wired ethernet to router.

The failure to find an IP address comes after flash completes. You are using an out of date JetPack, but in a way that somewhat simplifies things. In the 4.x JetPack/SDKM series you have to boot the Jetson and log in locally at the Jetson on first boot before continuing. The reason for that is that the JetPack 4.x series does not install the user account, and this first login is to add the user you will work with. For the 3.x series (which is what you are using) the account already exists. There should be a user “ubuntu” with password “ubuntu”, and in several of the JetPack releases there will also be a user “nvidia” with password “nvidia”. Regardless of which login it is, find out if you can boot up the Jetson without recovery mode and log in as user “ubuntu” or “nvidia”. Then run command “ifconfig” to see what eth0 address is.

Then from your host check for the following:

  • Can you ping the IP address?
  • Can you ssh to that address?
  • Can you get connectivity from JetPack with a configuration of only installing and not flashing using that login name and IP address?

here i use command“ifconfig” in jetson TX2 could find eth0 address.
Then i use wired ethernet cable to conneted PC and TX2 in same router appliance,in this time i run command "sudo ifconfign -a"but can’t find anything.so I use micro-B USB cable to connected PC with TX2 and run command “sudo ifconfign -a”,host display link “ens35u1” and “ens35uli5” , I’m not sure if this is what you mean by Ping IP?

“ifconfig” should not require “-a”, but it is not an issue.

To know what to ping we need to know the result of “ifconfig” (or more specifically, “ifconfig eth0”) on the TX2.

“ping” is just a command on one computer which takes the IP address of another computer (or sometimes even itself) as an argument. Every computer has loopback at 127.0.0.1, and so every computer should be able to ping itself:

ping 127.0.0.1
# CTRL-c when done pinging

A short data package is sent out (ICMP protocol) from the location of ping origination, the other end sees this, adds a timestamp, and sends the packet back. If no packet arrives, then either ICMP is not supported, or the network route is bad.

In this case, when running the ping command on the host PC, if eth0 of the TX2 is 192.168.1.2 (and that is just an example…I don’t know the real address since TX2 ifconfig results were not posted), then on the host you would use:

ping 192.168.1.2
# CTRL-c when done

A result of time required should show up once per second. If this exists, then networking between host and TX2 is good. If not, then there are issues. The same address used in ping is what you tell JetPack/SDK Manager to use if it is a custom address. The address “192.168.55.1” is special because this is the USB virtual (fake) ethernet device for some cases where USB is used to work with networking between host PC and TX2. However, with ethernet going to a wired router appliance, this won’t apply to you. If for some reason this does apply to you, then your host PC would have to be told to use that virtual network device.

What do you see from “ifconfig eth0” on the fully booted TX2? This is what you ping. If ping works, then you should also be able to use command line ssh to that address and log in as your user. If ifconfig does not show eth0 on the TX2, then there has been a hardware or flash error.

Thank you for your answer
I open my host and jetson then I use micro-B USB cable to connected PC with TX2 and run command “ping 192.168.1.6”(here 192.168.1.6 is the real address since TX2) in my host terminal,it will return like this:“64 bytes from 192.168.1.6: icmp_seq=1 ttl=128 time=2.50ms” I think that means the networking between host and TX2 is good,right?
Then I run command “ssh 192.168.1.6”,the system require my enter password,I try to enter my ubuntu password、“nvidia”、and “ubuntu” but all failed.so what’s the problem?(I add “sudo” in the front of “ssh” is the same result)
this is copy from my ubuntu system:
tzkj2@tzkj2-virtual-machine:~$ sudo ssh 192.168.1.6
[sudo] tzkj2 password:
The authenticity of host ‘192.168.1.6 (192.168.1.6)’ can’t be established.
ECDSA key fingerprint is SHA256:oTgKigtyuJgE0GInUM9EkZObS6bfjvfr2ENHU7j+1wE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.1.6’ (ECDSA) to the list of known hosts.
root@192.168.1.6’s password:
Permission denied, please try again.
root@192.168.1.6’s password:
Permission denied, please try again.
root@192.168.1.6’s password:
Permission denied (publickey,password).

Correct, this means using 192.168.1.6 is fully functional for host talking to the TX2. There can be more to the story (e.g., ports, proxies, and firewalls), but you have validated a basically correct network setup.

The ssh issue reveals why JetPack can’t succeed. You wouldn’t use sudo with ssh (under most circumstances), but this reveals one of two possibilities:

  1. Your user accounts are not set up.
  2. Ssh is not set up.

Of those two it is extremely likely to be the first issue of accounts not set up. In earlier releases (including JetPack3.2.1) you should immediately have account “ubuntu” with password “ubuntu” after a flash. In later releases (SDK Manager4.x+) you are required to create the account on first boot of the TX2. My assumption is that since you are using JetPack3.2.1, then something has gone wrong with the account. It may be a case of ssh key setup from some previous step has got in the way, but that is actually a user account issue (keys), and not the ssh software (daemon) configuration itself.

Do you have a keyboard and monitor directly attached to the TX2 (this can be done temporarily just for testing if you don’t have a keyboard/monitor to dedicate to the TX2)? If so, can you log in with user “ubuntu” using password “ubuntu”? Or similar with user/pass “nvidia”/“nvidia”? If you don’t have the local keyboard and monitor, can you use serial console (the console will tell you the user name, and you would have to provide the password…depending on release it would be user “ubuntu” or “nvidia”)? Serial console is described here:
http://www.jetsonhacks.com/2017/03/24/serial-console-nvidia-jetson-tx2/