GL-BE9300 (Flint 3) Bug Report: RTL8372 Link Instability Firmwar 4.8.99

Device Information

  • Model: GL-BE9300 (Flint 3)
  • Firmware: 4.8.99 (Beta)
  • Issue: RTL8372 Switch - Link Instability / Auto-Negotiation Problems

Problem Summary

Multiple LAN ports experience link instability issues:

Port Connected Device Expected Speed Problem
lan1 Linux PC (RTL8125 2.5GbE) 2500 Mbit/s Auto-negotiation starts at 100Mbit, then re-negotiates
lan2 Xbox Series X 1000 Mbit/s Severe link flapping (connection drops every few minutes)
lan3 Smart TV 100 Mbit/s Frequent disconnects/reconnects

Detailed Symptoms

lan1 - Auto-Negotiation Failure (2.5G Port)

Symptom: When connecting a 2.5GbE device, the link always starts at 100Mbit, goes down after ~18 seconds, then re-negotiates correctly at 2500Mbit.

Evidence from dmesg:

[1506591.157186] rtl8372-mdio 90000.mdio:1d: lan1 link up, speed 100
[1506609.876788] rtl8372-mdio 90000.mdio:1d: lan1 link down
[1506615.076795] rtl8372-mdio 90000.mdio:1d: lan1 link up, speed 2500

Root Cause Found: Energy Efficient Ethernet (EEE) mismatch between client and Flint 3.

Workaround: Disabling EEE on the client fixes this issue:

# On Linux client
sudo ethtool --set-eee enp7s0 eee off

After disabling EEE, the link negotiates directly at 2500Mbit:

[1534689.767596] rtl8372-mdio 90000.mdio:1d: lan1 link up, speed 2500
[1534832.246977] rtl8372-mdio 90000.mdio:1d: lan1 link down    # cable unplugged
[1534840.567031] rtl8372-mdio 90000.mdio:1d: lan1 link up, speed 2500

Note: The Flint 3 does not advertise EEE support to link partners:

Link partner advertised EEE link modes: Not reported

This causes negotiation problems with EEE-enabled clients.


lan2 - Link Flapping (Xbox)

Symptom: Xbox connection drops every few minutes, making online gaming impossible.

Evidence from dmesg:

[1504284.444683] rtl8372-mdio 90000.mdio:1d: lan2 link up, speed 1000
[1504290.684589] rtl8372-mdio 90000.mdio:1d: lan2 link down      # 6 seconds later
[1504293.804593] rtl8372-mdio 90000.mdio:1d: lan2 link up, speed 1000
[1504549.643736] rtl8372-mdio 90000.mdio:1d: lan2 link down      # 4 minutes later

Workaround: None found. Rebooting the router temporarily helps but problem recurs.


lan3 - Frequent Reconnects (TV)

Symptom: Smart TV frequently loses connection and reconnects.

Evidence from dmesg:

[1532471.455288] rtl8372-mdio 90000.mdio:1d: lan3 link down
[1532474.575593] rtl8372-mdio 90000.mdio:1d: lan3 link up, speed 100

What I Tested

  1. :white_check_mark: Different Ethernet cables (Cat6) - problem persists
  2. :white_check_mark: Different devices on same ports - problem persists
  3. :white_check_mark: Router reboot - temporarily fixes, then recurs
  4. :white_check_mark: Disabled EEE on Linux client - fixes lan1 issue
  5. :cross_mark: lan2 and lan3 still have issues regardless of above

Monitoring Setup

I have monitoring scripts running to capture link events:

eth_monitor.sh (runs every 5 minutes via cron):

#!/bin/sh
LOGFILE="/root/eth_debug.log"
TS=$(date "+%Y-%m-%d %H:%M:%S")
echo "=== $TS ===" >> $LOGFILE
echo "[LINK]" >> $LOGFILE
swconfig dev switch0 show 2>/dev/null | grep -E "Port |link:" >> $LOGFILE
echo "[TEMP] $(cat /sys/class/thermal/thermal_zone*/temp | tr '\n' ' ')" >> $LOGFILE
echo "[LOAD] $(cat /proc/loadavg)" >> $LOGFILE
echo "[MEM] $(free | grep Mem | awk '{print $3"/"$2}')" >> $LOGFILE
dmesg | grep "rtl8372" | tail -3 >> $LOGFILE
echo "" >> $LOGFILE

Feature Request

Please consider:

  1. Adding EEE configuration option in the web interface to enable/disable EEE per port
  2. Investigating RTL8372 driver stability for lan2/lan3 link flapping
  3. Improving auto-negotiation behavior for 2.5GbE connections

System Information

Firmware: 4.8.99 (Beta)
Switch Chip: RTL8372
Driver: rtl8372-mdio

Port Status (swconfig):
- Port 0: link:up speed:10000baseT full-duplex (internal)
- Port 1: link:up speed:10000baseT full-duplex (internal)
- Port 2: link:down

Full debug logs available upon request

Hi,

Thank you for the detailed report.

Regarding issue 1, you can try SSHing into the router and disabling ETH EEE with the following command:

echo "w 7 60 0" > /sys/kernel/debug/rtl8221/phy_reg

Then see whether this resolves the issue and whether it also helps with issues 2 and 3.

For issues 2 and 3, could you try placing a dumb/unmanaged switch between the Flint 3 and those devices to see if that helps?
Also, do you have another router available for comparison testing, to rule out the possibility that the problem is caused by in-wall cabling or wall jacks (if any) not working well?

Hi,

I tested the EEE fix:
echo "w 7 60 0" > /sys/kernel/debug/rtl8221/phy_reg

Results:

  • lan1 (2.5GbE Linux client): IMPROVED - no more 100→2500 renegotiation
  • lan3 (100M TV): BROKEN - could not obtain DHCP, no data transfer
    (Link showed "up, speed 100" but streaming failed)

After rebooting WITHOUT the EEE fix, lan3 works again.

It seems the fix affects all ports, not just 2.5GbE.
Is there a port-specific EEE disable command?

Current port assignment:

  • lan1: Linux PC (2.5GbE NIC)
  • lan2: Xbox (1GbE)
  • lan3: TV (100M)

Sorry i don’t have a dum/unmanaged switch.

Update - Dual Boot Test:

I tested the same PC with dual boot on lan1 (same cable, same port):

  1. Windows 11:

    • Connects directly at 2500 Mbit
    • Stable connection, no link flaps
  2. Linux (CachyOS):

    • Initially connects at 100 Mbit
    • Link goes down after few seconds
    • Reconnects at 2500 Mbit
    • Pattern repeats occasionally

This suggests a compatibility issue between the RTL8372
and Linux r8125/r8169 drivers during auto-negotiation.