DHCP not working and no internet connection from TX2 after installing.

My current network setup is as follows.

Internet --> (wired ethernet 1)
(also wired ethernet 2) --> to TX2 board

My PC is installed Ubuntu 16.04

After installing Jetpack via terminal with ./JetpPack-L4T-3.0-linux-x64.run
TX2 board installed and successfully boot however no internet connection.

On TX2, if I check ifconfig, there is no IP address leased from my PC
Internet on my PC work just fine and IP address on is set as 10.0.0.1

Before installing Jetpack, internet sharing worked just fine with above setup.
What would have messed up the whole dhcp thing? Any suggestions?

following is what I got from my PC when try ifconfig
$ ifconfig
eno1 Link encap:Ethernet HWaddr *************
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: ************* Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:465 errors:0 dropped:0 overruns:0 frame:0
TX packets:516 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:96376 (96.3 KB) TX bytes:71499 (71.4 KB)
Interrupt:20 Memory:f7c00000-f7c20000

enp5s0 Link encap:Ethernet HWaddr *************
inet addr:##.##.##.## Bcast:##.##.##.## Mask:255.255.255.0
inet6 addr: ************* Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50960 errors:0 dropped:2719 overruns:0 frame:0
TX packets:34198 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19614684 (19.6 MB) TX bytes:3283312 (3.2 MB)
Memory:f7900000-f79fffff

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1235 errors:0 dropped:0 overruns:0 frame:0
TX packets:1235 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:102721 (102.7 KB) TX bytes:102721 (102.7 KB)

It sounds like your PC is the router…is this correct? Versus the Jetson plugging into a router appliance?

You’ll want to check your PC’s logs for DHCP requests as the Jetson boots. One possibility is that on your host you run “dmesg --follow”, then start booting your Jetson and see if there was a request or not.

A second possibility is that JetPack can try to set up router function on your PC host…perhaps it had been set up correctly and now something changed because of this and it no longer has the right configuration. I use a Fedora host so I’m not positive where to tell you to look to see DHCP server setup on an Ubuntu host.

Yes, my PC has 2 ethernet cards and work like a router.

Followings are all I got from my PC when “dmesg --follow” and reboot TX2

[19781.556709] e1000e: eno1 NIC Link is Down
[19784.846583] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

Still no luck. I also tried reinstall Jetpack using same setup but nothing change.
So strange, because before this time I have no issue with networking when my PC installed Ubuntu 14.04.
Maybe an issue with 16.04?

I also checked my dhcp server status and it returned this.

$ sudo service isc-dhcp-server status

● isc-dhcp-server.service - ISC DHCP IPv4 server
Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vendor
Active: failed (Result: exit-code) since 목 2017-09-07 15:44:41 KST; 1min 56s
Docs: man:dhcpd(8)
Process: 1313 ExecStart=/bin/sh -ec CONFIG_FILE=/etc/dhcp/dhcpd.conf;
Main PID: 1313 (code=exited, status=1/FAILURE)

Something looks wrong.

Following is what /etc/dhcp/dhcpd.conf looks like

root      2952  0.0  0.0 199560  2800 ?        Ssl  15:50   0:00 /home/~/Jetpack/_installer/sudo_daemon -installer=2922 -d=/home/dronedev/Jetpack/_installer/tmp
0
/home/~/Jetpack/_installer/run_command  -c="/home/~/Jetpack/_installer/configure_host /home/~/Jetpack eno1 enp5s0" -d=/home/dronedev/Jetpack/_installer/tmp -l=/home/~/Jetpack/_installer/logs/64_TX2//configure_host_64_tx2.log
Status: install ok installed
55.101.44.51
55.101.44.0 255.255.255.0;
0

allow bootp;
COMMAND, :=, {, status, |, show, |, connect, |, reapply, |, disconnect, |, delete, |, monitor, |, wifi, |, lldp, }

, , status

, , show, [<ifname>]

, , set, [ifname], <ifname>, [autoconnect, yes|no], [managed, yes|no]

, , connect, <ifname>

, , reapply, <ifname>

, , disconnect, <ifname>, ...

, , delete, <ifname>, ...

, , monitor, <ifname>, ...

, , wifi, [list, [ifname, <ifname>], [bssid, <BSSID>]]

, , wifi, connect, <(B)SSID>, [password, <password>], [wep-key-type, key|phrase], [ifname, <ifname>]
, , , , , , , , , , , , , , , , , , , , , , , , , [bssid, <BSSID>], [name, <name>], [private, yes|no], [hidden, yes|no]

, , wifi, hotspot, [ifname, <ifname>], [con-name, <name>], [ssid, <SSID>], [band, a|bg], [channel, <channel>], [password, <password>]

, , wifi, rescan, [ifname, <ifname>], [[ssid, <SSID, to, scan>], ...]

, , lldp, [list, [ifname, <ifname>]]

Error:, 'dev', command, 'list', is, not, valid. ;
    default-lease-time 345600;
    max-lease-time 31557600;
    range 10.0.0.2 10.0.0.254;
}
subnet 10.0.0.0 netmask 255.255.255.0 {
    option routers 10.0.0.1;
    option domain-name-servers Usage:, nmcli, device, {, COMMAND, |, help, }

COMMAND, :=, {, status, |, show, |, connect, |, reapply, |, disconnect, |, delete, |, monitor, |, wifi, |, lldp, }

, , status

, , show, [<ifname>]

, , set, [ifname], <ifname>, [autoconnect, yes|no], [managed, yes|no]

, , connect, <ifname>

, , reapply, <ifname>

, , disconnect, <ifname>, ...

, , delete, <ifname>, ...

, , monitor, <ifname>, ...

, , wifi, [list, [ifname, <ifname>], [bssid, <BSSID>]]

, , wifi, connect, <(B)SSID>, [password, <password>], [wep-key-type, key|phrase], [ifname, <ifname>]
, , , , , , , , , , , , , , , , , , , , , , , , , [bssid, <BSSID>], [name, <name>], [private, yes|no], [hidden, yes|no]

, , wifi, hotspot, [ifname, <ifname>], [con-name, <name>], [ssid, <SSID>], [band, a|bg], [channel, <channel>], [password, <password>]

, , wifi, rescan, [ifname, <ifname>], [[ssid, <SSID, to, scan>], ...]

, , lldp, [list, [ifname, <ifname>]]

Error:, 'dev', command, 'list', is, not, valid. ;
    default-lease-time 345600;
    max-lease-time 31557600;
    range 10.0.0.2 10.0.0.254;
}

I finally resolved this issue myself by modifying /etc/dhcp/dhcpd.conf
Above command is not necessary and changed to following

subnet 10.0.0.0 netmask 255.255.255.0 {
 range 10.0.0.100 10.0.0.150;
 option domain-name-servers 8.8.8.8 8.8.4.4;
 option subnet-mask 255.255.255.0;
 option routers 10.0.0.1;
 default-lease-time 43200;
 max-lease-time 86400;
}

then
$ sudo systemctl restart isc-dhcp-server.service

Finally my tx2 board can lease from the pc.

I’m having the same problem. This is my environment:

host PC: ubuntu 16.04
Target: TX2
JetPack: 3.2

It looks like the JetPack in host ubuntu 16.04 does not generate the correct /etc/dhcp/dhcpd.conf, there are some garbage data in the dhcpd.conf, which like the usage from nmcli.

A compatible problem between JetPack and nmcli???

Hi chenxiaoyi,

We indeed still not support ubuntu 16.04 as host. This maybe the reason, could you verify it on 14.04?

Really sorry for inconvenience.

Wayne, I’m talking about JetPack 3.2, and in the 3.2 release note it said:

Added support for Ubuntu Linux x64 16.04 on your host PC.

Since 3.2 is a Developer Preview release I think the bug it acceptable.

And I found the workaround procedure as following, for these who

  1. have problem flashing TX2 using JetPack 3.2 in Ubuntu 16.04, and

  2. are choosing host to provide dhcp service to target
    here is the workaround steps:

  3. run JetPack-L4T-3.2-linux-x64_b157.run in ubuntu 16.04 host;

  4. click next util to the prompt about “put your device to Force USB recovery mode”;

  5. begin the workaround:

open a new terminal window to edit the config file

sudo vi /etc/dhcp/dhcpd.conf

in the file end, find the line of domain-name-servers, remove the garbage output of usage from nmcli, change it to:

option domain-name-servers your-dns1, your-dns2;

replace your host dns server here, then start the dhcp server

systemctl start isc-dhcp-server.service
  1. resume your normal flashing process.

Background information:
the nmcli command in 14.04 (assume your NIC name is eth0)

nmcli d list iface eth0

becames this in 16.04

nmcli d show eth0

Hi chenxiaoyi,

Sorry for my fault. I thought it was on jetpack3.1. I’ll look into this.
Thanks!

Hi chenxiaoyi,

I would like to know the correct way to reproduce your issue. The original post is on Jetpack3.0 which is too old for your case. Could you describe it in detail?

The reproducing steps are:

  1. have a host running Ubuntu 16.04
  2. using JetPack3.2 to flashing the target TX2
  3. choose host to provide dhcp service to target

Then you will find after flashing the base OS, the terminal said something like “can’t determine the target IP”.
The problem is that the dhcpd server on host did not come up, because of the dhcpd.conf file syntax error.

Hi chenxiaoyi,

I cannot get the desire result as yours. My terminal didn’t show “can’t determine the target IP” but just move on installing rest of SDK.

I am curious what the host dhcpd.conf was which had the error? Also, on the host, what do you get from “sudo echo $LANG”?

The original poster had a non-en_US/UTF-8 locale (Hangul characters show this), and there have in the past been some issues with spaces or non-en_US characters from various languages. I am thinking that perhaps even if syntax is correct it might still generate an error in some character sets. The file should be purely en_US/UTF-8 since it is copied in by JetPack, but some part of the system may not like this if some sort of character set translation is going on.

Wayne, as I said above, I think this problem comes from nmcli version problem.

Here are the questions for you:
did your host have two network ports, and one has internet connection, another connects to the TX2?
And did you choose “Device accesses internet via host machine through setting up a new DHCP server configuration on host”?
What are the output of following three commands on your host? Here is my output for your reference.

$ dpkg -l |grep network-manager
ii  network-manager                             1.2.6-0ubuntu0.16.04.1                       amd64        network management framework (daemon and userspace tools)
$ nmcli dev list
Usage: nmcli device { COMMAND | help }

COMMAND := { status | show | connect | reapply | disconnect | delete | monitor | wifi | lldp }

  status

  show [<ifname>]

  set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]

  connect <ifname>

  reapply <ifname>

  disconnect <ifname> ...

  delete <ifname> ...

  monitor <ifname> ...

  wifi [list [ifname <ifname>] [bssid <BSSID>]]

  wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>]
                         [bssid <BSSID>] [name <name>] [private yes|no] [hidden yes|no]

  wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] [channel <channel>] [password <password>]

  wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]

  lldp [list [ifname <ifname>]]

Error: 'dev' command 'list' is not valid.
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.3 LTS
Release:	16.04
Codename:	xenial

linuxdev, the output from “nmcli dev list”, which is the usage message, not the correct output, shows in dhcpd.conf, that is the error.
I think dhcpd.conf is generated by _installer/configure_host. It is not copied from somewhere.
And my locale is “en_US.UTF-8”, so I do not think it’s locale problem.

Hi chenxiaoyi,

I can reproduce your problem now and report it as a bug. Sorry for inconvenience

JetPack 3.3 still has this problem! Is this fixed or not?

Dave, it would appear not, I’m still having this issue on 3.3

Sorry about this.
Our team is still working on it.

The same issue persists for me. I’ve tried all different combinations (wires n wireless) and it still comes up with that error. Also, I can’t seem to manually enter the IP either, if I enter option 2(for manual entry) it exits from the installer and shows jetpack successfully installed.
Is there any way to install the CUDA libraries outside this?

There is a workaround on TX1 for JetPack 3.3, although no guarantee that it would work on TX2: