TX2 ethernet issue

Hi NVpeople

i have a ethernet problem.
i do the full time test but some time my device ethernet will disconnect and always show the message as below

[114165.847514] rc.local[882]: need at least a destination address
[114166.147256] rc.local[882]: need at least a destination address
[114167.951357] rc.local[882]: need at least a destination address
[114168.258954] rc.local[882]: need at least a destination address
[114169.326971] rc.local[882]: need at least a destination address

after reset i can see this message.
i need to reflash device to workaround this issue

what is this problem?

Hi etta,

Any usecase to trigger this issue? What BSP are you using? What carrier board are you using?

Hi WayneWWW

i use R28.2 tx2 on nvidia mother board.

i use ethernet to get my IP cam data and after one week i unplug the power and plug.

when i boot up i can see more rc.local message.
if i get this message i need reflash the device.

what is this problem??
how to fixed it?

I have no idea whether this issue comes from. According to the log, it seems this log come from iproute2.

Could you share a quick way to repro this issue?

Hi WaynWWW

when the dhcp service start , did tx2 have dhcp timeout feature?

i can get the ipv6 ip but can’t get ipv4 ip.

Hi etta,

I don’t think there is dhcp timeout. Did you find out the cause of this problem?

One of these might do what you want:
https://support.purevpn.com/how-to-disable-ipv6-linuxubuntu
https://askubuntu.com/questions/316492/disabling-ipv6-on-a-single-interface

FYI, if you flash a Jetson, and make edits to the “rootfs/etc/sysctl.conf” on the host prior to flash, then those changes will appear on the Jetson itself after flash. Or you can just edit the file directly.

Hi WayneWWW

this is my test step:

  1. boot up the system
  2. unplug the power
  3. plug the power

and i have a issue on tx2 , the syslog will be a very large file.

root@tegra-ubuntu:/var/log# ls -la
total 24068080
drwxrwxr-x  5 root   syslog        4096 Dec  4 01:29 .
drwxr-xr-x 15 root   root          4096 Mar 20  2018 ..
-rw-r--r--  1 root   root             0 Nov 29 06:09 alternatives.log
-rw-r--r--  1 root   root           653 Nov 29 06:04 alternatives.log.1
-rw-r-----  1 root   adm           3399 Dec  4 01:30 apport.log
-rw-r-----  1 root   adm          20480 Dec  3 09:14 apport.log.1
-rw-r-----  1 syslog adm           4096 Dec  4 01:34 auth.log
-rw-r-----  1 syslog adm          53248 Dec  3 09:17 auth.log.1
-rw-r-----  1 syslog adm            953 Nov 29 06:08 auth.log.2.gz
-rw-------  1 root   utmp           400 Dec  4 01:30 btmp
-rw-------  1 root   utmp          1200 Nov 29 06:55 btmp.1
drwxr-x---  2 root   lp            4096 Dec  4 01:04 cups
-rw-r-----  1 syslog adm          12288 Dec  4 01:31 kern.log
-rw-r-----  1 syslog adm        1589248 Dec  3 09:16 kern.log.1
-rw-r-----  1 syslog adm          24840 Nov 29 06:04 kern.log.2.gz
-rw-r--r--  1 root   root        296592 Dec  4 01:31 lastlog
drwx--x--x  2 root   root          4096 Dec  4 01:04 lightdm
-rw-r-----  1 syslog adm          20480 Dec  4 01:34 syslog
-rw-r-----  1 syslog adm    24643670016 Dec  3 09:23 syslog.1
-rw-r-----  1 syslog adm          39857 Nov 29 06:09 syslog.2.gz
drwxr-xr-x  2 root   root          4096 Dec  3 09:23 unattended-upgrades
-rw-rw-r--  1 root   utmp         10400 Dec  4 01:31 wtmp
-rw-rw-r--  1 root   utmp        159200 Dec  3 09:16 wtmp.1
-rw-r--r--  1 root   root         17519 Dec  4 01:31 Xorg.0.log
-rw-r--r--  1 root   root         16639 Dec  4 01:29 Xorg.0.log.old
root@tegra-ubuntu:/var/log#
root@tegra-ubuntu:/var/log# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        28G   27G     0 100% /
devtmpfs        7.6G     0  7.6G   0% /dev
tmpfs           7.7G  252K  7.7G   1% /dev/shm
tmpfs           7.7G   14M  7.7G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
tmpfs           785M     0  785M   0% /run/user/1001
tmpfs           785M   28K  785M   1% /run/user/1000
root@tegra-ubuntu:/var/log#

In this time i find the two problem.

  1. i can’t login with GUI , i need use ctrl+alt+F5 to change to terminal mode.
  2. more rc.local error message will show on my debug console.

how to fixed this issue and where is this rc.local file?
i can’t find this rc.local(rc.local[882]: need at least a destination address) and trace this issue.

You can find “rc.local” in “/etc/” ("/etc/rc.local"). If you could show the content of that file it would help.

Also, do you see all “ok” from:

sha1sum -c /etc/nv_tegra_release

Does this work without error (result doesn’t matter other than if there is an error):

sudo ls

Hi linuxdev

i use default nvidia BSP
so my re.local is as below

nvidia@tegra-ubuntu:/etc$
nvidia@tegra-ubuntu:/etc$ cat rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

touch /tmp/jetpack.log
echo "starting script to send ip to host" >> /tmp/jetpack.log
/home/nvidia/report_ip_to_host.sh &
echo "started script to send ip to host" >> /tmp/jetpack.log

exit 0
nvidia@tegra-ubuntu:/etc$

but i dont know why the error is line 882

Hi,

I have the same problem.
As mentioned in the comment in rc.local, /home/nvidia/report_ip_to_host.sh is run to send ip to the host (developer machine on which jetpack is installed), probably for debug purposes:

#!/bin/sh

HOST_IP=""
HOST_PORT="33338"

INTERVAL=1
SRC_IP=""
DEV=""

dhclient eth0
sleep 1
dpkg -l | grep rsync || apt-get update 
apt-get install -y rsync
apt-get install -y netcat-openbsd
sleep 1

while true; do
    ip route get $HOST_IP >/dev/null
    if [ $? -eq 0 ]; then
        SRC_IP=`ip route get $HOST_IP | grep " dev " | sed 's/.* src //'`
        DEV=`ip route get $HOST_IP | grep " dev " | sed 's/.*dev \([^ ][^ ]*\).*//'`

        status=`echo "$SRC_IP" | /bin/nc $HOST_IP $HOST_PORT`
    fi
    sleep $INTERVAL
done

That ‘while’ loop runs

ip route get $HOST_IP

but $HOST_IP is empty. So ip route displays the message ‘need at least a destination address’.

But it looks like HOST_IP is never set any non-empty value. Maybe this is a bug…

If you don’t use jetpack or don’t communicate with your jetson using jetpack (profiling and so on), just comment out lines 16 to 19 of rc.local and keep only ‘exit 0’. Then reboot.

Basically, what @eric.besombes said. Other than the “exit 0” all of the active content (unless you added it) is intended to exist after a JetPack flash…on first reboot after the flash it tries to report IP to JetPack on the host. After that the content should be erased. Why this remained after a reboot is the real mystery (perhaps something truncated?). Try commenting out everything except the “exit 0”.

Hi WayneWWW

i find a urgent issue for tx2 eth0.
i can use two ip address to remote tx2.

test step:

  1. boot up and use dhcp to get ip(192.168.0.100).
  2. modify the static ip in /etc/network/interfaces(192.168.0.5)
  3. reboot device
  4. i can use dhcp ip and static ip to ssh remote device.

dhcp ip range: 100~199

after i clear dhcp ip table the tx2 still can use 192.168.0.100 to remote.
is this a bug or a special feature?

If a static address is set up without removing DHCP query code, then anything which issues a DHCP request will probably set up networking upon DHCP response regardless of previous method of address setup. One would disable DHCP. The GUI app “nm-connection-editor” could be used to set IPv4 to manual instead of automatic. I don’t know about clearing of the DHCP table.

Incidentally, the “nm” name convention implies it is part of NetworkManager. NetworkManager is what you would associate with automatic configuration services, e.g., for changing to WiFi when WiFi becomes available and wired goes away. There are also other static setup methods, and the two tend to fight each other at times if not configured correctly…one does not necessarily have any knowledge of what the other does.