Network access on OpenWrt for ZyXEL NSA325v1

Hello there,

I've recently switched over from the stock OS to the OpenWrt v22.03.5, for a ZyXEL NSA325v1 box.
While the installation went smoothly, there's this issue with the network access. Specifically, i cannot ping any destination (in my local network or Internet). When initiating the ping command, it just doesn't do a thing and (after waiting for at least 30 secs), i'm forced to break the command. Here's an output, if you can call it as such:

root@OpenWrt:/# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
^C
--- 192.168.10.1 ping statistics ---
9 packets transmitted, 0 packets received, 100% packet loss

On the other hand, if i ping the local address, i instantly get a reply:

root@OpenWrt:/# ping 192.168.10.145
PING 192.168.10.145 (192.168.10.145): 56 data bytes
64 bytes from 192.168.10.145: seq=0 ttl=64 time=0.194 ms
64 bytes from 192.168.10.145: seq=1 ttl=64 time=0.123 ms
64 bytes from 192.168.10.145: seq=2 ttl=64 time=0.103 ms
64 bytes from 192.168.10.145: seq=3 ttl=64 time=0.126 ms
^C
--- 192.168.10.145 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss

These are the current routes set up:
root@OpenWrt:/# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.10.1 0.0.0.0 UG 0 0 0 br-lan
192.168.10.0 * 255.255.255.0 U 0 0 0 br-lan

I can also provide the output from the ifconfig command and the content of the /etc/config/network file, if needed.

Has anyone encountered this before? Any thoughts, please ?

Many thanks in advance !

they're both local addresses ?
what's 192.168.10.1 ?
can you ping it from any other client on the same subnet ?

Yes, all 192.168.x.x are local addresses, from my internal network. 192.168.10.1 is my home router and DHCP server.
No, the NSA325 box is not reachable from any device in the same network / subnet.

and I assume it's IP is in the 192.168.10 subnet ?

Yes, all the internal devices are in the .10.x subnet, including the NSA box (.10.145)

then post your network config file.

I also assume network's been restarted, or NAS rebooted after you changed the IP of the NAS.

Oh, yes, i've rebooted the NAS a couple of times already.

Here comes the nw config file content:

config interface 'loopback'
** option device 'lo'**
** option proto 'static'**
** option ipaddr '127.0.0.1'**
** option netmask '255.0.0.0'**

config globals 'globals'
** option ula_prefix 'fde9:f624:44a4::/48'**

config device
** option name 'br-lan'**
** option type 'bridge'**
** list ports 'eth0'**

config interface 'lan'
** option device 'br-lan'**
** option proto 'static'**
** option ipaddr 192.168.10.145**
** option netmask 255.255.255.0**
** option gateway 192.168.10.1**

config interface 'lan6'
** option device 'br-lan'**
** option proto 'dhcpv6'**

it looks sane.

does pinging 8.8.8.8 work ?

Nah, it's the same thing:

PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
17 packets transmitted, 0 packets received, 100% packet loss

Dunno if it worth mentioning, but on the physical port, only the green LED is lit and shows activity. The orange one is turned off.

do logread -f and unplug the ethernet cable, then reconnect it, is there any reaction ?

if there is, set your lan config to DHCP

config interface 'lan'
   option device 'br-lan'
   option proto 'dhcp'

Nothing happens when running logread -f, it's stuck and i have to break the execution, to return to the shell.

root@OpenWrt:/# logread -f

ok, so there's something with the NIC.

let's downgrade, use the factory image from https://archive.openwrt.org/releases/22.03.5/targets/kirkwood/generic/ and flash it using uboot.

you could flash it from within openwrt, but since you got no ethernet, it's probably easier to do it via uboot.

also check the ethernet cable you use, replace it perhaps ?

Uhm, dumb question: which image shall i use, openwrt-22.03.5-kirkwood-zyxel_nsa325-squashfs-factory.bin ? (that's the one i am currently running)

my post says factory, so yes...

if you'd be up/downgrading from within openwrt, you'd have used the sysupgrade.

I've upgraded from stock OS (latest v4.81) to OpenWrt ( using the file openwrt-22.03.5-kirkwood-zyxel_nsa325-squashfs-factory.bin). I'll then reinstall it.

Another piece of info:
i've tried to ping from U-Boot and it works:

NSA325> ping 192.168.10.1
ethernet-controller@72000 Waiting for PHY auto negotiation to complete....... done
Using ethernet-controller@72000 device
host 192.168.10.1 is alive

Also, both green and orange LEDs from the physical LAN port are lit and showing activity.

Ok, so i've reflashed the OpenWrt factory image and it reverted some of the network settings:

Network config file:

config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fda4:e5f1:c816::/48'

config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'

config interface 'lan'
option device 'br-lan'
option proto 'dhcp'

config interface 'lan6'
option device 'br-lan'
option proto 'dhcpv6'

"route" command output shows no routes:

root@OpenWrt:/etc/config# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface

"ifconfig" command output:
root@OpenWrt:/etc/config# ifconfig
br-lan Link encap:Ethernet HWaddr EC:43:F6:86:B3:28
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

eth0 Link encap:Ethernet HWaddr EC:43:F6:86:B3:28
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:128 (128.0 B) TX bytes:2602 (2.5 KiB)
Interrupt:33

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:412 errors:0 dropped:0 overruns:0 frame:0
TX packets:412 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:32304 (31.5 KiB) TX bytes:32304 (31.5 KiB)

Also tried with another LAN cable => same thing.
Still, no network access on the NSA325 box......
Also, i don't get it why the nw access works in U-Boot, but not in OpenWrt.....

Ok, i seem to have identified what the issue is in this case, alongside a workaround past this.
So, as far as i could tell, the Ethernet module is not properly loaded in both U-Boot and OpenWrt, as upon booting up, only the green LED is lit and solid, but no link activity (flashing amber light). To "fix" this, i have to connect via the serial cable, access U-Boot and execute a simple ping command against any network device. It will then perform this operation, after which the NIC card is enabled and both the green and amber lights turn on and start showing activity:

ethernet-controller@72000 Waiting for PHY auto negotiation to complete...... done
Using ethernet-controller@72000 device

After the ping command ends up with the "alive" confirmation, i reset U-Boot and this time just let it boot normally in OpenWrt, which will in turn do one last additional step during the boot process:

[ 19.924239] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control enabled
[ 19.934108] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

To me, it seems like it correctly loads up the network adapter driver and completely starts the NIC. Life's good after that, network access works without any issues.

However, there's a caveat: this will only work until a power cut of if the device is powered off for more than 1 hr (i believe this action is temporarily saved in the RAM, which is being erased upon power loss). Of course, there's always the possibility to redo the entire "ping" workaround, which is not really feasible if one's using power schedules.

I'll get a bigger shovel and keep digging for a way to permanently and automatically enable the NIC during the boot process.

I'm no expert, but this could possibly be related to the replaced uboot ...

I also wouldn't exclude that but hey, you can't have everything offered to you on a silver plate :slight_smile: ...

since you now got the Doozan u-boot, you could pretty easily dual boot a Kirkwood Linux off one of the drives, or even an USB flash drive.