Zyxel T-56 WAN Port Flapping Issue with VLAN Tagging

Hi everyone,

I’m experiencing an issue with my WAN port randomly flapping (going up and down) on my OpenWrt router. The flapping occurs anywhere between 1 to 8 minutes, making the connection unstable. Here are the details of my setup and troubleshooting steps I’ve already taken:

Setup Details:

  • Router Model: [Zyxel T56]
  • ISP: Odido (requires VLAN tagging with VLAN ID 300)
  • WAN Configuration: VLAN tagging enabled (eth1.300), DHCP for WAN.
  • MTU Settings: Adjusted WAN MTU to 1468 (based on testing) to account for VLAN tagging.

Troubleshooting Steps Taken:

  1. Physical Connectivity:
  • Checked and replaced all Ethernet cables.
  • Confirmed that the cables and ports work fine with another router.
  1. MTU Testing:
  • Tested various MTU values (e.g., 1500, 1496, 1468, 1400) using ping to determine the effective MTU.
  • Set the WAN interface MTU to 1468, which matches the observed maximum payload size.
  1. VLAN Configuration:
  • Verified VLAN tagging settings (VLAN ID 300) in /etc/config/network.
  1. Logs and Monitoring:
  • Monitored logs (logread) for errors related to the WAN interface or VLAN tagging.
  • Observed repeated "link connectivity loss" messages in the logs.
  1. Firmware Update:
  • Ensured the router is running the latest OpenWrt firmware.
  1. Tested with Another Router:
  • The same setup works perfectly fine on another router(Non OpenWRT), confirming that the issue is specific to this OpenWrt router.

Additional Observations:

  • The parent interface (eth0) has an MTU of 1504, but this does not seem to affect the LAN side.
  • The WAN interface (eth1.300) is correctly configured with VLAN tagging and an MTU of 1468.

Request for Help:

I’m at a loss as to why the WAN port keeps flapping on this router while the same setup works flawlessly on another router. Could this be a driver issue, a bug in OpenWrt, or something else? Any guidance or suggestions would be greatly appreciated!

Thanks in advance for your help!

No VLAN, and sitting as router behind a router (2.5gbit uplink), but I've had zero WAN port issues with my T-56.

Post the relevant parts of dmesg, and try replacing the ethernet cable.

Let's verify your configuration to make sure that's not part of the problem.

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

Thanks for the reply,

here are my outputs:

ubus call system board:

root@OpenWrt:~# {
>         "kernel": "6.6.73",
>         "hostname": "OpenWrt",
>         "system": "ARMv8 Processor rev 4",
>         "model": "Zyxel EX5601-T0 ubootmod",
>         "board_name": "zyxel,ex5601-t0-ubootmod",
>         "rootfs_type": "squashfs",
>         "release": {
>                 "distribution": "OpenWrt",
>                 "version": "24.10.0",
>                 "revision": "r28427-6df0e3d02a",
>                 "target": "mediatek/filogic",
>                 "description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
>                 "builddate": "1738624177"

cat /etc/config/network:

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 'fd23:4b28:d66d::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'
        option mtu '1500'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipv6 '0'
        list dns '192.168.1.144'
        list dns '8.8.8.8'
        list dns '1.1.1.1'

config interface 'wan'
        option device 'eth1.300'
        option proto 'dhcp'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '300'
        option name 'eth1.300'
        option mtu '1468'

cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/18000000.wifi'
        option band '2g'
        option channel '5'
        option htmode 'HE20'
        option cell_density '0'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/18000000.wifi+1'
        option band '5g'
        option channel '36'
        option htmode 'HE80'
        option cell_density '0'

config wifi-iface 'wifinet0'
        option device 'radio0'
        option mode 'ap'
        option ssid 'Binary Beacon'
        option encryption 'sae-mixed'
        option key '*******'
        option ocv '0'
        option network 'lan'

config wifi-iface 'wifinet1'
        option device 'radio1'
        option mode 'ap'
        option ssid 'Binary Beacon'
        option encryption 'sae-mixed'
        option key '********'
        option ocv '0'
        option network 'lan'

cat /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'
        option ednspacket_max '1232'
        option filter_aaaa '0'
        option filter_a '0'
        option noresolv '1'
        list server '192.168.1.144'
        list server '1.1.1.1'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'disabled'
        option ra 'disabled'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        list dhcp_option '6,192.168.1.144,1.1.1.1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

cat /etc/config/firewall

config defaults
        option syn_flood '1'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'lan'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        list network 'wan'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'
root@OpenWrt:~# cat /etc/config/firewall

config defaults
        option syn_flood '1'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'lan'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        list network 'wan'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

I have it directly connected to the Optical Media Converter. To make it work, I need to add a VLAN tag with ID 300.

This setup worked perfectly fine with my previous TP-Link router. I've already checked the WAN cable and even swapped it, but unfortunately, that didn’t make a difference.

In the dmesg log, I can see that the interface is indeed going down and coming back up, but there’s nothing further indicating the cause. Perhaps I'm missing something:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.6.73 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28427-6df0e3d02a) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Mon Feb  3 23:09:37 2025
[    0.000000] Machine model: Zyxel EX5601-T0 ubootmod
[    0.000000] OF: reserved mem: 0x0000000042ff0000..0x0000000042ffffff (64 KiB) map non-reusable ramoops@42ff0000
[    0.000000] OF: reserved mem: 0x0000000043000000..0x000000004302ffff (192 KiB) nomap non-reusable secmon@43000000
[    0.000000] OF: reserved mem: 0x000000004fc00000..0x000000004fcfffff (1024 KiB) nomap non-reusable wmcpu-reserved@4fc00000
[    0.000000] OF: reserved mem: 0x000000004fd00000..0x000000004fd3ffff (256 KiB) nomap non-reusable wo-emi@4fd00000
[    0.000000] OF: reserved mem: 0x000000004fd40000..0x000000004fd7ffff (256 KiB) nomap non-reusable wo-emi@4fd40000
[    0.000000] OF: reserved mem: 0x000000004fd80000..0x000000004ffbffff (2304 KiB) nomap non-reusable wo-data@4fd80000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 18 pages/cpu s35560 r8192 d29976 u73728
[    0.000000] pcpu-alloc: s35560 r8192 d29976 u73728 alloc=18*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: console=ttyS0,115200n8 console_msg_format=syslog root=/dev/fit0 rootwait
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x000000007eb00000-0x000000007ec00000] (1MB)
[    0.000000] Memory: 1010408K/1048576K available (9024K kernel code, 998K rwdata, 1672K rodata, 448K init, 305K bss, 38168K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: 0xffffffc080010080
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000070] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000078] pid_max: default: 32768 minimum: 301
[    0.002106] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002114] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.003677] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.004054] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.004156] rcu: Hierarchical SRCU implementation.
[    0.004158] rcu:     Max phase no-delay instances is 1000.
[    0.004471] smp: Bringing up secondary CPUs ...
[    0.004724] Detected VIPT I-cache on CPU1
[    0.004757] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.004784] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.005072] Detected VIPT I-cache on CPU2
[    0.005094] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.005105] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.005358] Detected VIPT I-cache on CPU3
[    0.005376] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.005386] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.005412] smp: Brought up 1 node, 4 CPUs
[    0.005415] SMP: Total of 4 processors activated.
[    0.005417] CPU features: detected: 32-bit EL0 Support
[    0.005420] CPU features: detected: CRC32 instructions
[    0.005446] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.005449] CPU: All CPU(s) started at EL2
[    0.005450] alternatives: applying system-wide alternatives
[    0.008406] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.008423] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.009316] pinctrl core: initialized pinctrl subsystem
[    0.010166] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.010695] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.010716] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.010732] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.011046] thermal_sys: Registered thermal governor 'fair_share'
[    0.011050] thermal_sys: Registered thermal governor 'bang_bang'
[    0.011051] thermal_sys: Registered thermal governor 'step_wise'
[    0.011053] thermal_sys: Registered thermal governor 'user_space'
[    0.011113] ASID allocator initialised with 65536 entries
[    0.011800] pstore: Using crash dump compression: deflate
[    0.011803] pstore: Registered ramoops as persistent store backend
[    0.011805] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.012801] /soc/interrupt-controller@c000000: Fixed dependency cycle(s) with /soc/interrupt-controller@c000000
[    0.017658] Modules: 29616 pages in range for non-PLT usage
[    0.017667] Modules: 521136 pages in range for PLT usage
[    0.018602] cryptd: max_cpu_qlen set to 1000
[    0.019464] SCSI subsystem initialized
[    0.019684] libata version 3.00 loaded.
[    0.020720] clocksource: Switched to clocksource arch_sys_counter
[    0.022350] NET: Registered PF_INET protocol family
[    0.022441] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.023655] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.023667] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.023673] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.023709] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.023868] TCP: Hash tables configured (established 8192 bind 8192)
[    0.024121] MPTCP token hash table entries: 1024 (order: 2, 24576 bytes, linear)
[    0.024202] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.024218] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.024459] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.024482] PCI: CLS 0 bytes, default 64
[    0.025457] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.028777] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.028781] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.050311] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.054225] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.057231] printk: console [ttyS0] disabled
[    0.077590] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 116, base_baud = 2500000) is a ST16650V2
[    0.077626] printk: console [ttyS0] enabled
[    0.901837] mtk_rng 1020f000.rng: registered RNG driver
[    0.910049] loop: module loaded
[    0.915180] spi-nand spi0.1: Micron SPI NAND was found.
[    0.920661] spi-nand spi0.1: 512 MiB, block size: 256 KiB, page size: 4096, OOB size: 256
[    0.929318] 6 fixed-partitions partitions found on MTD device spi0.1
[    0.936234] Creating 6 MTD partitions on "spi0.1":
[    0.941303] 0x000000000000-0x000000100000 : "bl2"
[    0.947196] 0x000000100000-0x000000180000 : "u-boot-env"
[    0.953402] 0x000000180000-0x000000380000 : "Factory"
[    0.960328] 0x000000380000-0x000000580000 : "fip"
[    0.966778] 0x000000540000-0x000000580000 : "zloader"
[    0.972414] 0x000000580000-0x00001e000000 : "ubi"
[    1.226777] ubi0: default fastmap pool size: 90
[    1.231575] ubi0: default fastmap WL pool size: 45
[    1.236609] ubi0: attaching mtd5
[    3.220719] random: crng init done
[    4.957910] ubi0: scanning is finished
[    4.975132] ubi0: attached mtd5 (name "ubi", size 474 MiB)
[    4.980890] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
[    4.988004] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
[    4.995033] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
[    5.002235] ubi0: good PEBs: 1898, bad PEBs: 0, corrupted PEBs: 0
[    5.008568] ubi0: user volume: 5, internal volumes: 1, max. volumes count: 128
[    5.016030] ubi0: max/mean erase counter: 5/2, WL threshold: 4096, image sequence number: 1285251789
[    5.025402] ubi0: available PEBs: 0, total reserved PEBs: 1898, PEBs reserved for bad PEB handling: 40
[    5.034951] ubi0: background thread "ubi_bgt0d" started, PID 275
[    5.042530] block ubiblock0_3: created from ubi0:3(fit)
[    7.751792] Maxlinear Ethernet GPY211C mdio-bus:05: Firmware Version: 8.111 (0x886F)
[    7.761222] Maxlinear Ethernet GPY211C mdio-bus:06: Firmware Version: 8.111 (0x886F)
[    7.771793] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc081700000, irq 121
[    7.781845] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc081700000, irq 121
[    7.791750] i2c_dev: i2c /dev entries driver
[    7.797564] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    7.806326] NET: Registered PF_INET6 protocol family
[    7.812171] Segment Routing with IPv6
[    7.816100] In-situ OAM (IOAM) with IPv6
[    7.820298] NET: Registered PF_PACKET protocol family
[    7.825635] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    7.838927] 8021q: 802.1Q VLAN Support v1.8
[    7.857233] FIT: Detected U-Boot 2023.07.02-OpenWrt-r24106-10cc5fcd00
[    7.863943] FIT: Selected configuration: "config-1" (OpenWrt zyxel_ex5601-t0-ubootmod)
[    7.872126] FIT:           kernel sub-image 0x00001000..0x003f0019 "kernel-1" (ARM64 OpenWrt Linux-6.6.73) 
[    7.882123] FIT:          flat_dt sub-image 0x003f1000..0x003f7215 "fdt-1" (ARM64 OpenWrt zyxel_ex5601-t0-ubootmod device tree blob) 
[    7.894389] FIT:       filesystem sub-image 0x003f8000..0x0090ffff "rootfs-1" (ARM64 OpenWrt zyxel_ex5601-t0-ubootmod rootfs) 
[    7.906404] block ubiblock0_3: mapped 1 uImage.FIT filesystem sub-image as /dev/fit0
[    7.954346] mt7530-mdio mdio-bus:1f: no interrupt support
[    8.011731] mt7530-mdio mdio-bus:1f: configuring for fixed/2500base-x link mode
[    8.020863] mt7530-mdio mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    8.032011] mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=POLL)
[    8.054421] mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=POLL)
[    8.076520] mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=POLL)
[    8.088332] mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mdio-bus:05] driver [Maxlinear Ethernet GPY211C] (irq=POLL)
[    8.100035] mtk_soc_eth 15100000.ethernet eth0: entered promiscuous mode
[    8.107023] DSA: tree 0 setup
[    8.110493] clk: Disabling unused clocks
[    8.127901] VFS: Mounted root (squashfs filesystem) readonly on device 259:0.
[    8.135445] Freeing unused kernel memory: 448K
[    8.140178] Run /sbin/init as init process
[    8.144523]   with arguments:
[    8.147735]     /sbin/init
[    8.150686]   with environment:
[    8.154074]     HOME=/
[    8.156679]     TERM=linux
[    8.385577] init: Console is alive
[    8.389454] init: - watchdog -
[    8.875284] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    8.908174] usbcore: registered new interface driver usbfs
[    8.913993] usbcore: registered new interface driver hub
[    8.919587] usbcore: registered new device driver usb
[    8.925481] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    8.937373] xhci-mtk 11200000.usb: xHCI Host Controller
[    8.942875] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 1
[    8.953563] xhci-mtk 11200000.usb: hcc params 0x01403f99 hci version 0x110 quirks 0x0000000000200010
[    8.963054] xhci-mtk 11200000.usb: irq 125, io mem 0x11200000
[    8.969129] xhci-mtk 11200000.usb: xHCI Host Controller
[    8.974606] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 2
[    8.982249] xhci-mtk 11200000.usb: Host supports USB 3.2 Enhanced SuperSpeed
[    8.989911] hub 1-0:1.0: USB hub found
[    8.993936] hub 1-0:1.0: 2 ports detected
[    8.998464] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    9.007094] hub 2-0:1.0: USB hub found
[    9.011137] hub 2-0:1.0: 1 port detected
[    9.051731] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    9.068831] init: - preinit -
[    9.396709] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[    9.405432] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    9.429613] mt7530-mdio mdio-bus:1f lan1: configuring for phy/2500base-x link mode
[   13.668464] UBIFS (ubi0:4): Mounting in unauthenticated mode
[   13.674464] UBIFS (ubi0:4): background thread "ubifs_bgt0_4" started, PID 836
[   13.796974] UBIFS (ubi0:4): recovery needed
[   14.112092] UBIFS (ubi0:4): recovery completed
[   14.116844] UBIFS (ubi0:4): UBIFS: mounted UBI device 0, volume 4, name "rootfs_data"
[   14.124919] UBIFS (ubi0:4): LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
[   14.135071] UBIFS (ubi0:4): FS size: 446447616 bytes (425 MiB, 1758 LEBs), max 1770 LEBs, journal size 22347776 bytes (21 MiB, 88 LEBs)
[   14.147477] UBIFS (ubi0:4): reserved for root: 4952683 bytes (4836 KiB)
[   14.154332] UBIFS (ubi0:4): media format: w5/r0 (latest is w5/r0), UUID 41857C24-E18F-489B-9B33-B4578AE663E3, small LPT model
[   14.189831] mount_root: switching to ubifs overlay
[   14.202656] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[   14.228693] urandom-seed: Seeding with /etc/urandom.seed
[   14.362185] procd: - early -
[   14.365461] procd: - watchdog -
[   14.926711] procd: - watchdog -
[   14.936376] procd: - ubus -
[   15.094580] procd: - init -
[   15.520454] kmodloader: loading kernel modules from /etc/modules.d/*
[   15.535850] crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433(alg:7fcdfc00)/0/0/0
[   15.550512] Loading modules backported from Linux version v6.12.6-0-ge9d65b48ce1a
[   15.558287] Backport generated by backports.git v6.1.110-1-35-g410656ef04d2
[   15.668754] urngd: v1.0.2 started.
[   15.924477] mt798x-wmac 18000000.wifi: HW/SW Version: 0x8a108a10, Build Time: 20240823160656a
[   15.924477] 
[   16.145010] mt798x-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20240823160721
[   16.253265] mt798x-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20240823160840
[   16.360077] mt798x-wmac 18000000.wifi: registering led 'mt76-phy0'
[   16.412021] mt798x-wmac 18000000.wifi: registering led 'mt76-phy1'
[   16.478261] mtdblock: MTD device 'Factory' is NAND, please consider using UBI block devices instead.
[   16.528831] PPP generic driver version 2.4.2
[   16.534193] NET: Registered PF_PPPOX protocol family
[   16.541677] kmodloader: done loading kernel modules from /etc/modules.d/*
[   16.780553] mtdblock: MTD device 'Factory' is NAND, please consider using UBI block devices instead.
[   19.065680] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   19.080050] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[   19.089060] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[   19.091082] mt7530-mdio mdio-bus:1f lan1: configuring for phy/2500base-x link mode
[   19.107705] br-lan: port 1(lan1) entered blocking state
[   19.113272] br-lan: port 1(lan1) entered disabled state
[   19.118792] mt7530-mdio mdio-bus:1f lan1: entered allmulticast mode
[   19.125376] mtk_soc_eth 15100000.ethernet eth0: entered allmulticast mode
[   19.135463] mt7530-mdio mdio-bus:1f lan1: entered promiscuous mode
[   19.154076] mt7530-mdio mdio-bus:1f lan2: configuring for phy/gmii link mode
[   19.165442] br-lan: port 2(lan2) entered blocking state
[   19.170969] br-lan: port 2(lan2) entered disabled state
[   19.176497] mt7530-mdio mdio-bus:1f lan2: entered allmulticast mode
[   19.184999] mt7530-mdio mdio-bus:1f lan2: entered promiscuous mode
[   19.200623] mt7530-mdio mdio-bus:1f lan3: configuring for phy/gmii link mode
[   19.211766] br-lan: port 3(lan3) entered blocking state
[   19.217254] br-lan: port 3(lan3) entered disabled state
[   19.222817] mt7530-mdio mdio-bus:1f lan3: entered allmulticast mode
[   19.231310] mt7530-mdio mdio-bus:1f lan3: entered promiscuous mode
[   19.246662] mt7530-mdio mdio-bus:1f lan4: configuring for phy/gmii link mode
[   19.257774] br-lan: port 4(lan4) entered blocking state
[   19.263322] br-lan: port 4(lan4) entered disabled state
[   19.268838] mt7530-mdio mdio-bus:1f lan4: entered allmulticast mode
[   19.277477] mt7530-mdio mdio-bus:1f lan4: entered promiscuous mode
[   19.287347] mtk_soc_eth 15100000.ethernet eth1: PHY [mdio-bus:06] driver [Maxlinear Ethernet GPY211C] (irq=POLL)
[   19.297834] mtk_soc_eth 15100000.ethernet eth1: configuring for phy/2500base-x link mode
[   19.797463] br-lan: port 5(phy0-ap0) entered blocking state
[   19.803380] br-lan: port 5(phy0-ap0) entered disabled state
[   19.809261] mt798x-wmac 18000000.wifi phy0-ap0: entered allmulticast mode
[   19.816571] mt798x-wmac 18000000.wifi phy0-ap0: entered promiscuous mode
[   19.825828] mt798x-wmac 18000000.wifi phy0-ap0: left allmulticast mode
[   19.832723] mt798x-wmac 18000000.wifi phy0-ap0: left promiscuous mode
[   19.839589] br-lan: port 5(phy0-ap0) entered disabled state
[   20.339359] br-lan: port 5(phy0-ap0) entered blocking state
[   20.345214] br-lan: port 5(phy0-ap0) entered disabled state
[   20.351101] mt798x-wmac 18000000.wifi phy0-ap0: entered allmulticast mode
[   20.358300] mt798x-wmac 18000000.wifi phy0-ap0: entered promiscuous mode
[   20.452024] br-lan: port 5(phy0-ap0) entered blocking state
[   20.457864] br-lan: port 5(phy0-ap0) entered forwarding state
[   20.638665] br-lan: port 6(phy1-ap0) entered blocking state
[   20.644565] br-lan: port 6(phy1-ap0) entered disabled state
[   20.650433] mt798x-wmac 18000000.wifi phy1-ap0: entered allmulticast mode
[   20.657693] mt798x-wmac 18000000.wifi phy1-ap0: entered promiscuous mode
[   20.665429] mt798x-wmac 18000000.wifi phy1-ap0: left allmulticast mode
[   20.672310] mt798x-wmac 18000000.wifi phy1-ap0: left promiscuous mode
[   20.679069] br-lan: port 6(phy1-ap0) entered disabled state
[   20.743040] br-lan: port 6(phy1-ap0) entered blocking state
[   20.748879] br-lan: port 6(phy1-ap0) entered disabled state
[   20.754775] mt798x-wmac 18000000.wifi phy1-ap0: entered allmulticast mode
[   20.761966] mt798x-wmac 18000000.wifi phy1-ap0: entered promiscuous mode
[   20.768988] br-lan: port 6(phy1-ap0) entered blocking state
[   20.774812] br-lan: port 6(phy1-ap0) entered forwarding state
[   22.392581] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[   23.272852] mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   23.272876] br-lan: port 1(lan1) entered blocking state
[   23.286502] br-lan: port 1(lan1) entered forwarding state
[   30.635773] mt7530-mdio mdio-bus:1f lan2: Link is Up - 1Gbps/Full - flow control rx/tx
[   30.635798] br-lan: port 2(lan2) entered blocking state
[   30.649428] br-lan: port 2(lan2) entered forwarding state
[   37.915011] mt7530-mdio mdio-bus:1f lan3: Link is Up - 1Gbps/Full - flow control rx/tx
[   37.915035] br-lan: port 3(lan3) entered blocking state
[   37.928662] br-lan: port 3(lan3) entered forwarding state
[  171.035171] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  174.151768] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  185.420780] br-lan: port 1(lan1) entered disabled state
[  185.420895] mt7530-mdio mdio-bus:1f lan1: Link is Down
[  189.576522] mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[  189.576549] br-lan: port 1(lan1) entered blocking state
[  189.590177] br-lan: port 1(lan1) entered forwarding state
[  233.373299] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  235.452083] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  273.889021] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  275.977543] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  335.187204] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  337.274639] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  423.495827] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  425.574351] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  561.668277] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  564.787176] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  654.130539] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  659.325858] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  670.752011] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  675.947203] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  744.513141] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  746.602410] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  822.432110] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  825.559361] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  835.941493] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  838.019531] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  876.454017] mtk_soc_eth 15100000.ethernet eth1: Link is Down
[  879.571153] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off

You can try simply removing this 802.1q stanza. It's not required because the system will automatically create this device simply by the fact that your wan uses dotted notation to indicate a VLAN. So, delete this:

Reboot and try again.

If that doesn't work, do you happen to have an extra ethernet switch? This can be useful to put between the two devices, and this will help identify potential physical/electrical device issues because you'll be able to see which side is flapping.

2 Likes

Can it be Periodic link down+up since 24.10.0-rc* or ramips: mt7530 not works autodetection 100Mb speed ethernet link on kernel 6.6?

You could try to disable EEE (mentioned in the bug reports as a possible fix):

ethtool --set-eee eth* eee off
1 Like

How stable is your set up?, i just wanted to switch to identical set up. (Provider Odido) Perhaps it s fixed in latest snapshot.

Apologies for the late response, I will be trying again this weekend as it was driving me completely mad.

I have indeed tried as well with the latest snapshot, but still having flaps.
I'll be trying what psherman has mentioned by adding a switch to see what side is flapping.

Will keep you posted.

1 Like

Thank you for the tips!

Could you please clarify what you mean by the VLAN tag being created automatically?

From what I understand, I need to add the tag ID (300) manually in order to get the internet to work. It wasn't working after installation without it either.

On my previous router (non-OpenWRT), I had to add this 802.1q tag as well for it to function properly.

unfortunately not supported, getting:

Cannot get EEE settings: Not supported

1 Like

The point I was making is that the specific 802.1q stanza I quoted can be removed (unless that mtu setting is required).

That is because this stanza uses dotted notation (eth1.300):

When the dotted notation is used in OpenWrt, it automatically creates the 802.1q device under the hood... no 802.1q config stanza required.

1 Like

I have the same setup as you and 0 problems.

Since an ethernet cable swap did not help and since other routers work without problem, I think it points the problem towards the ONT which does something the Zyxel does not like.
Which type of ONT do you have?

Also, how did you figure this out? Wireshark? If that is indeed the proper MTU Odido needs to update their documentation since their official documentation states it is 1500.

1 Like

Ah, clear! I’ve removed the config part as you mentioned and reverted to MTU 1500.

I was still experiencing a flap about every minute, but when I tried troubleshooting by placing a switch between the router and the media converter to determine where the issue was occurring, my connection has now been stable for 25 minutes (a new record!).

So, while this seems to be a temporary workaround, I’m completely lost on the actual cause.

Reverted to MTU 1500 but was still experiencing flaps. However, it's currently working fine after placing a simple gigabit switch in between.

The media converter provided by Odido is the "CVT-3002_PLUS-DR."

Currently out of ideas what could be the fault of it not working connected directly to the Modem

The module has a DIP switch, currently I have it set to the following:

Switch Function Setting
1 TP Auto-Negotiation OFF
2 Manual TP Speed (10/100) OFF
3 Manual TP Speed (1000) ON
4 Duplex Mode ON
5 Flow Control ON
6 Fiber Optic Auto Mode ON
7 Link Alarm ON
8 Reserved OFF

Have tried with Auto-Negotiation On as well.

Could it be the media converter is not fully compatible with the router?
I know Odido provides newer customers with a Huawei Optixstar hg8010Hv6 media converter.

I have a feeling the issue is related to link negotiation,perhaps I should ask the ISP a new media converter.

Not using auto-negotiation is an odd choice for devices manufactured within the last quarter of a century…

(And "Link Alarm" might cause weird consequences, however that might manifest).

The Media converter was initially set-up by Odido with only TP speed (1000) switched ON & Duplex mode ON.

But as mentioned trying Auto-Negotiation does not resolve the flaps.

try with the dip switch setting flow control off

Interesting. I have a Nokia XGS-PON ONT specifically, a Nokia XS-010X-Q, and not a media converter, thus a different setup.
As @wilsonyan said try turning of flow controll. If memory serves me correct the switch inside the Zyxel has issues with it.