[Solved] Ethernet Surprisingly Slow

I have a GL-B2200 from gl-inet, and I have recently switched to vanilla OpenWRT (OpenWrt 22.03.4 r20123-38ccc47687 / LuCI openwrt-22.03 branch git-23.093.57104-ce20b4a) due to inability to turn on 2.4GHz on the secondary APs.

My problem is that while I get great throughput on all of the various wireless interfaces, I get 94Mbps on the wired side, but I can't seem to figure out why.

I installed ethtool and iperf through opkg, and using these, I see both the eth0 and eth1 interfaces listing Speed: 1000Mb/s. Using iperf, I get 94Mb/s connecting to any of my wired Ubuntu machines. These same machines show 940Mb/s on iperf when talking to one another which exercises every single switch and wire in the network except the one cable to the main router doing DHCP, which again from above lists itself as 1000Mb/s. Furthermore, when I run Speedtest on the wired I get 94Mb/s max on wired connections, but the same machine on wireless 5G shows 300Mb/s, similar to the 270~350 Mb/s I get running iperf on the wireless connection.

Given all of that, what might be going wrong when I see a 1000Mb/s negotiated link in ethtool, but I seem to be getting more like 100Mb/s?

(I do not, to the best of my knowledge, have any QoS or the like going on for the eth0/1 interfaces)

Your device is clearly connecting at 100Mbps with the downstream host.

What is the Ubuntu machine reporting for its connection speed on the ethernet port?

Have you tried replacing the cable (also inspecting the ports for bent pins or debris)?

1 Like

One more thing, I have seen many ethernet cables coming with 2 pairs only (4 subcables), which is fine for 100Mbps, but Gigabit needs 4 pairs (8 subcables) and properly terminated, without cuts or shortcuts.

1 Like

Per @psherman, I tested with a Linux laptop plugged directly into the router (literally ran out of steam before I could do that one last night) and got 922Mb/s iperf between it and the router. Then I replaced the first switch connected to the router, not any of the cables, just that switch and now I get basically that full 1000Mb/s on all devices.

I know this gets outside of the scope of this forum, but I'm curious how I got a Linux -> Linux iperf of 940+ through that switch and got a Linux -> OpenWRT iperf of 94 every single time. And that's with the same cables I have now that I'm getting much much better performance.

On the cable note, all of my cables in the network (recently setup) are either professionally made, reputable branded (Monoprice, etc) 6A STP cables or 6A STP that I terminated myself and used a tester on, including to test shield. I know I don't need it with 1000Mb, but I expect to own this house long enough to need to upgrade and not want to rerun through walls.

Either way, glad it seems to be fixed now, and I'll be pitching the stupid TrendNet switch that failed on me.


This seems to implicate the switch... are you sure that it is a 1Gbps switch and that all ports are functioning properly?

There should be no problem getting an iPerf test to work at gigabit speeds (i.e. ~940Mbps TCP) through any properly functioning switch (and cables) -- it should be transparent.

Sometimes cables can go bad... clearly okay in this case, but don't make the assumption that the cables are good without testing them to verify (and basic testers can be misleading here -- you need a pro-grade test system that can actually certify cables to know for sure)... it will cost you a ton of time and frustration if you happen to have a cable that has failed for whatever reason. Also, terminations and patch panels and couplers can cause issues. Just recently, I replaced a switch and it wouldn't negotiate with the upstream switch, despite what seemed to be a good structured cable (it worked at 1G speeds with the previous switch and tested okay with my standard cable tester)... turns out, it was a bad termination. I've also have had cat6 couplers go bad and drop things to 100Mbps.

Also, some switches and devices are more sensitive to cable/termination issues than others. Your trendnet could be okay for other runs, but unhappy with that particualr structured cable run.

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.
Thanks! :slight_smile:

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.