Welcome! Log In Create A New Profile

Advanced

Zyxel 310 doesn't answer ping/ssh after some time

Posted by kiesel 
Zyxel 310 doesn't answer ping/ssh after some time
March 31, 2020 07:08AM
Hi,

with the help of bodhi (thank you again) I installed uBoot 2017.7 and Linux Kernel 5.5.1 on my Zyxel 310. Everything seems to work fine when the box boots up. I was able to install some things and I was generally very satisfied with everything. But now I noticed that the NAS disappears from the network. It's like it isn't connected to the router at all.

The lights are on and it works fine when I restart it. Has anybody experienced this? And does anybody have an idea how to debug this situation?

Thank you for your help!

ifconfig:
root@debian:~# ifconfig
br-2d18819732dc: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        inet6 fe80::42:38ff:fe77:b4d0  prefixlen 64  scopeid 0x20<link>
        ether 02:42:38:77:b4:d0  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 3592 (3.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:3c:43:83:94  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.12  netmask 255.255.255.0  broadcast 192.168.178.255
        inet6 fe80::200:ff:fe00:30  prefixlen 64  scopeid 0x20<link>
        ether 00:00:00:00:00:30  txqueuelen 1000  (Ethernet)
        RX packets 3494  bytes 216294 (211.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 99  bytes 12610 (12.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2  bytes 78 (78.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 78 (78.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth92e7680: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::48c9:dcff:fe9b:7e2c  prefixlen 64  scopeid 0x20<link>
        ether 4a:c9:dc:9b:7e:2c  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 44  bytes 5824 (5.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vethebabf09: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::c3d:daff:fe70:7e00  prefixlen 64  scopeid 0x20<link>
        ether 0e:3d:da:70:7e:00  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 44  bytes 5824 (5.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp1s0 is the connection I am talking about. Is it possible that it disappears over time? Does it mean anything that the device is called enp1s0 instead of eth0?


root@debian:/fw_tools/tools# ./fw_printenv
dtb_file=/boot/dts/kirkwood-nsa310.dtb
arcNumber=4022
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; e
lse if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
device=0:1
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-nsa310.dtb
ethact=egiga0
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
ipaddr=192.168.0.231
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq
0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1
; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.220
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts init=/bin/systemd
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=echo Initializing devices...; setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; don
e
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices; do for disknum in $disks; do if test $uenv_loaded -eq 0; then setenv device_type $devtype; setenv disk_numbe
r $disknum; run uenv_read; fi; done; done;
uenv_read=echo Loading envs from $device_type $disk_number...; if load $device_type  $disk_number:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; echo ... envs loaded; fi
usb_boot=run load_dtb; run load_uimage; if run load_initrd; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 - 0x1c00000; fi
usb_ready_retry=15
devices=usb ide
bootdev=usb



Edited 2 time(s). Last edit at 03/31/2020 07:36AM by kiesel.
Re: Zyxel 310 doesn't answer ping/ssh after some time
March 31, 2020 05:23PM
kiesel,

> with the help of bodhi (thank you again) I
> installed uBoot 2017.7 and Linux Kernel 5.5.1 on
> my Zyxel 310. Everything seems to work fine when
> the box boots up. I was able to install some
> things and I was generally very satisfied with
> everything. But now I noticed that the NAS
> disappears from the network. It's like it isn't
> connected to the router at all.

I think it has something to do with systemd. You are running it with your bootargs.

set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts init=/bin/systemd

> enp1s0 is the connection I am talking about. Is it
> possible that it disappears over time? Does it
> mean anything that the device is called enp1s0
> instead of eth0?

It is the new naming scheme for network device enp1s0 is the same as eth0.

Try remove systemd init
fw_setenv set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts'
And run with sysvinit for a while to see if you have this problem again. Note that the system will assign eth0 again in sysvinit.

And then you can decide to switch back to systemd. If you do that, you need to upgrade to get the latest Debian packages to make sure you get rid of a few old systemd bugs.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Zyxel 310 doesn't answer ping/ssh after some time
April 02, 2020 02:58PM
Hi bodhi,

thank you for your reply. I will switch to sysvinit and hope it helps.

Regards, Kiesel
Author:

Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: