Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Asymmetric network speeds with 2.5 Gbps LAN

Featured Replies

I just upgraded my Unraid server (7.2.2) from the built-in 1 Gig ethernet to a 2.5 G PCIe card, and replaced a Gigabit switch with a 2.5 Gig unmanaged switch. Although the connection is solid the speeds between the server and my Windows PC, which also has 2.5 Gbps ethernet, is asymmetrical: using iperf3, I get nearly the full 2.5 in one direction but only half that in the other direction.

The ethernet card in the server is based on the Realtek 8125 chipset (RTL8125 2.5GbE Controller rev 04, more specifically), and I've tried both with and without the plugin that updates the drivers. Consistently, when I run iperf3 on the Windows 11 machine, going to the Unraid server, it gets just over a gig. In reverse, it gets ~2.3 gigs consistently. The lights on the switch and the OSes of both machines indicate that it's a full-duplex 2.5 gig connection.

However, I did notice that ethtool reports that the "Supported pause frame use" is "Symmetric Receive-only." My understanding is that this is the same as flow control--could this be what's slowing things down, or is it a red herring?

I've tried swapping out cables (they're fairly short runs, 1 foot to the Unraid server, 20 feet to the PC), with no change.

Any ideas on how to troubleshoot this further, either to narrow down where the problem lies or settings that could be changed? I don't have any other devices that connect at higher-than-gigabit speeds to test with.

Here's the iperf3 output from the Windows PC, connecting to the Unraid box (sometimes it's a little higher but it's usually around 1.0 Gbps):

Connecting to host 192.168.1.6, port 5201

[ 5] local 192.168.1.69 port 4410 connected to 192.168.1.6 port 5201

[ ID] Interval Transfer Bitrate

[ 5] 0.00-1.01 sec 113 MBytes 937 Mbits/sec

[ 5] 1.01-2.01 sec 124 MBytes 1.04 Gbits/sec

[ 5] 2.01-3.01 sec 126 MBytes 1.05 Gbits/sec

[ 5] 3.01-4.01 sec 123 MBytes 1.03 Gbits/sec

[ 5] 4.01-5.01 sec 123 MBytes 1.03 Gbits/sec

[ 5] 5.01-6.01 sec 124 MBytes 1.04 Gbits/sec

[ 5] 6.01-7.01 sec 114 MBytes 962 Mbits/sec

[ 5] 7.01-8.01 sec 110 MBytes 930 Mbits/sec

[ 5] 8.01-9.00 sec 115 MBytes 966 Mbits/sec

[ 5] 9.00-10.01 sec 121 MBytes 1.00 Gbits/sec

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval Transfer Bitrate

[ 5] 0.00-10.01 sec 1.16 GBytes 999 Mbits/sec sender

[ 5] 0.00-10.03 sec 1.16 GBytes 997 Mbits/sec receiver

And the reverse:

Connecting to host 192.168.1.6, port 5201

Reverse mode, remote host 192.168.1.6 is sending

[ 5] local 192.168.1.69 port 33260 connected to 192.168.1.6 port 5201

[ ID] Interval Transfer Bitrate

[ 5] 0.00-1.00 sec 278 MBytes 2.32 Gbits/sec

[ 5] 1.00-2.01 sec 280 MBytes 2.34 Gbits/sec

[ 5] 2.01-3.01 sec 281 MBytes 2.35 Gbits/sec

[ 5] 3.01-4.01 sec 279 MBytes 2.35 Gbits/sec

[ 5] 4.01-5.01 sec 280 MBytes 2.35 Gbits/sec

[ 5] 5.01-6.00 sec 280 MBytes 2.36 Gbits/sec

[ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec

[ 5] 7.00-8.00 sec 282 MBytes 2.36 Gbits/sec

[ 5] 8.00-9.01 sec 282 MBytes 2.35 Gbits/sec

[ 5] 9.01-10.01 sec 281 MBytes 2.35 Gbits/sec

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval Transfer Bitrate Retr

[ 5] 0.00-10.01 sec 2.74 GBytes 2.35 Gbits/sec 0 sender

[ 5] 0.00-10.01 sec 2.74 GBytes 2.35 Gbits/sec receiver

Do you have bridging enabled? Seem to remember an issue with that and some Realtek NICs.

Flow control (aka "Supported pause frame use" as called by the driver) must be enabled and used on both sides.

Else it is not uncommon, that a freshly starting transmission picks the wrong slot and the packet is lost. It will be repeated afterwards and sooner or later they will get together again, but this takes some time and costs a lot of bandwith.

2,5G LAN is crippled. It is using 10G modulation scheme, but with 1 packet of data followed by 3 packets of pauses. Flow control is the method how they agree when it is time for data again.

An unmanaged switch should simply pass on flow control information. But some of them are not done very well and drop the info. Chaos and Slowdowns will happen.

But first check if it is enabled on both machines.

  • 2 weeks later...
  • Author
On 12/2/2025 at 2:35 AM, MAM59 said:

Flow control (aka "Supported pause frame use" as called by the driver) must be enabled and used on both sides.

I've tried with it both on and off, on the Windows PC, and it doesn't help.

However, it's now clear that it's a Windows driver/software issue, nothing to do with Unraid or the server's hardware: I tried booting the PC to a Linux live ISO, and it gets 2.37 Gb/s in both directions. I've also tried another PC running Windows 10 using the same adapter on the same cable, and it gets the full speed as well. So definitely the problem is on the Windows side.

you need to disable EEE which is on by default

with the plugin, you set something like

options r8125 aspm=1

options r8125 eee_enable=0

with the kernel driver

you can use the reverse command from the powertop post

for i in /sys/class/net/eth?; do dev=$(basename $i); [[ $(echo $(ethtool --show-eee $dev 2> /dev/null) | grep -c "Supported EEE link modes: 1") -eq 1 ]] && ethtool --set-eee $dev eee off; done

  • Author
10 hours ago, Mainfrezzer said:

options r8125 aspm=1

options r8125 eee_enable=0

Unfortunately that didn't work, but again I think the issue is on the Windows side--when the same PC boots to Linux using the same ethernet adapter, it gets full 2.5 speed, without any change on the Unraid server's part.

what nic is your windows pc using?

IF you are convinced that it is a program in the computer running Windows, go to the Motherboard manufacturer's website and see if they have an updated Windows driver for that MB. (I prefer going to the manufacturer as if an update will address an issue, they will will most likely have the update first and plus you know it has been tested on your MB and that it fixes the problem.)

Edited by Frank1940

  • Author
10 hours ago, Mainfrezzer said:

what nic is your windows pc using?

It's an Intel I225-LMvP, inside an HP Thunderbolt dock G4.

I've tried both the drivers HP provides specifically for the dock and the latest Intel drivers. The latter produce slightly better speeds but nowhere near the full 2.5 (in one direction--it's over 2.3 one way, barely 1.0 in the other, though sometimes it gets to 1.3).

Edited by bar_foo

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.