CursaYang wrote: ↑27 Sep 2026, 21:56
Hello,
Thank you for the data — the physical layer can now be officially ruled out: the speed changes match your cable-switching tests exactly, and with a known-good Cat6 cable plus identical behavior on both LAN ports, the cable and ports are confirmed fine.
As for the quantitative test, the math gives us the answer: at idle you're seeing roughly 3-4 packets per second. The activity LED is driven per-packet, so 3-4 blinks per second appears to the human eye as constant blinking — visually, 3 blinks per second and 30 are nearly indistinguishable. Combined with TOS's own service announcements (your tx count was even higher than rx), this fully explains why the LED appears to blink non-stop while actual traffic is nearly zero.
As for why other devices behave differently: LED behavior is defined by each NIC's driver. Many NICs throttle the LED at low traffic (staying solid until a threshold is reached), while the igc driver here blinks faithfully for every packet — the same trickle simply looks different on different devices.
For a final verification, you can run this in the Terminal app:
Code: Select all
timeout 60 tcpdump -i eth0 -nn 2>/dev/null | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20
The expected output is routine broadcast/multicast chatter from your router and LAN devices (mDNS, SSDP, etc.). If confirmed, we can conclude: the device is completely healthy — this is normal background traffic combined with a per-packet LED policy, with no impact on functionality. We will also submit the LED display behaviour difference as product feedback to our R&D team for evaluation.
Thank you for your excellent cooperation throughout!
That command didn't print anything, maybe it doesn't have tcpdump or something is else wrong but I did this command suggested by AI:
GUI:
section94@TNAS:/# while true; do
R1=$(cat /sys/class/net/eth0/statistics/rx_packets)
T1=$(cat /sys/class/net/eth0/statistics/tx_packets)
sleep 1
R2=$(cat /sys/class/net/eth0/statistics/rx_packets)
T2=$(cat /sys/class/net/eth0/statistics/tx_packets)
echo "RX: $((R2-R1)) pkts/sec | TX: $((T2-T1)) pkts/sec"
done
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 4 pkts/sec | TX: 3 pkts/sec
RX: 3 pkts/sec | TX: 3 pkts/sec
RX: 6 pkts/sec | TX: 3 pkts/sec
RX: 18 pkts/sec | TX: 13 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 3 pkts/sec | TX: 3 pkts/sec
RX: 3 pkts/sec | TX: 3 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 6 pkts/sec | TX: 3 pkts/sec
RX: 17 pkts/sec | TX: 13 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 8 pkts/sec | TX: 8 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 3 pkts/sec | TX: 3 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 9 pkts/sec | TX: 3 pkts/sec
RX: 16 pkts/sec | TX: 14 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 5 pkts/sec | TX: 3 pkts/sec
RX: 14 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 5 pkts/sec | TX: 3 pkts/sec
RX: 6 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 9 pkts/sec | TX: 3 pkts/sec
RX: 15 pkts/sec | TX: 13 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 3 pkts/sec | TX: 3 pkts/sec
RX: 3 pkts/sec | TX: 3 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 2 pkts/sec | TX: 2 pkts/sec
RX: 9 pkts/sec | TX: 5 pkts/sec
^C
SSH:
section94@TNAS:~# while true; do
R1=$(cat /sys/class/net/eth0/statistics/rx_packets)
T1=$(cat /sys/class/net/eth0/statistics/tx_packets)
sleep 1
R2=$(cat /sys/class/net/eth0/statistics/rx_packets)
T2=$(cat /sys/class/net/eth0/statistics/tx_packets)
echo "RX: $((R2-R1)) pkts/sec | TX: $((T2-T1)) pkts/sec"
done
RX: 0 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 3 pkts/sec
RX: 1 pkts/sec | TX: 1 pkts/sec
RX: 3 pkts/sec | TX: 1 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 3 pkts/sec | TX: 2 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 2 pkts/sec | TX: 1 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
RX: 3 pkts/sec | TX: 0 pkts/sec
RX: 1 pkts/sec | TX: 0 pkts/sec
This captures the traffic from the SSH and GUI sessions definitely and likely along with other occasional broadcast packets. But even when these user sessions are not active as we said the blinking doesn't stop. Couple of final notes:
1) I entered the BIOS just to look around and the LAN led stays off while in there. Maybe the NIC isn't initialized yet. As soon as TOS loads the blinking starts.
2) I am almost certain that when I first got it the LED didn't use behave like that. Maybe a TOS update changed the led driver behaviour to this very sensitive per-packet blinking.