Sunday, June 21, 2020

Realtek RTL 8156 USB 2.5 Gbps Ethernet 2.5GBASE-T vs Trendnet TEG-7080ES NBASE-T switch

I purchased a Trendnet 7080-ES switch in 2019 . It has served me well with multiple PCs using PCIe Aquantia AQN-107 NICs at 10 Gbps speed.

Today, I received a USB 3.0 NIC from Cable Creation . This is a 2.5 Gbps NIC using the Realtek 8156 chipset. I installed it on a Windows 10 system. Windows 10 automatically recognized the NIC. However, once I started running into performance issues, I updated the NIC drivers to 10.38.20.117 from the Realtek website, dated 1/17/2020 .

This is the result of an iperf test between two systems. They are directly connected by a 10ft CAT6 cable. IP addresses are manually configured on each system. The client is using the Realtek NIC on Windows 10. The server is using the Aquantia AQN-107 NIC on Ubuntu 18.04. Both sides are configured with 9KB jumbo frames.

D:\Downloads\iperf-3.1.3-win64>iperf3 -c 192.168.1.237 -t 10 -O 10 -i 5 -R
Connecting to host 192.168.1.237, port 5201
Reverse mode, remote host 192.168.1.237 is sending
[  4] local 192.168.1.236 port 61654 connected to 192.168.1.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-5.00   sec  1.43 GBytes  2.45 Gbits/sec                  (omitted)
[  4]   5.00-10.00  sec  1.43 GBytes  2.45 Gbits/sec                  (omitted)
[  4]   0.00-5.00   sec  1.44 GBytes  2.47 Gbits/sec
[  4]   5.00-10.00  sec  1.43 GBytes  2.45 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  2.87 GBytes  2.47 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  2.86 GBytes  2.46 Gbits/sec                  receiver

iperf Done.

This is about as good a result as can be expected - 99% of the 2.5 Gbps link speed. The difference is mostly TCP and IP overhead. I then connected the machines to the 10 Gbps ports of a Netgear unmanaged GS110MX switch, using CAT6 cables. This was the result :
D:\Downloads\iperf-3.1.3-win64>iperf3 -c 192.168.1.237 -t 10 -O 10 -i 5 -R
Connecting to host 192.168.1.237, port 5201
Reverse mode, remote host 192.168.1.237 is sending
[  4] local 192.168.1.236 port 63175 connected to 192.168.1.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-5.00   sec  1.28 GBytes  2.19 Gbits/sec                  (omitted)
[  4]   5.00-10.00  sec  1.29 GBytes  2.22 Gbits/sec                  (omitted)
[  4]   0.00-5.00   sec  1.29 GBytes  2.22 Gbits/sec
[  4]   5.00-10.00  sec  1.30 GBytes  2.23 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  2.59 GBytes  2.22 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  2.59 GBytes  2.22 Gbits/sec                  receiver

iperf Done.
While this is slower than a direct connection, the speed is still much higher than 2 Gbps, and about 88% of the 2.5 Gbps link speed.

Finally, using the same CAT6 cables, I moved both systems to the Trendnet TEG-7080ES switch. This is the result of the performance test :
D:\Downloads\iperf-3.1.3-win64>iperf3 -c 192.168.1.237 -t 10 -O 10 -i 5 -R
Connecting to host 192.168.1.237, port 5201
Reverse mode, remote host 192.168.1.237 is sending
[  4] local 192.168.1.236 port 61997 connected to 192.168.1.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-5.00   sec   325 MBytes   545 Mbits/sec                  (omitted)
[  4]   5.00-10.00  sec   312 MBytes   524 Mbits/sec                  (omitted)
[  4]   0.00-5.00   sec   325 MBytes   546 Mbits/sec
[  4]   5.00-10.00  sec   364 MBytes   610 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   689 MBytes   579 Mbits/sec  10231             sender
[  4]   0.00-10.00  sec   689 MBytes   578 Mbits/sec                  receiver

iperf Done.

As you can see, the card can't even deliver 1 Gbps in this case. We are very far from the link speed - only about 23% !

The Trendnet TEG-7080ES admin console shows the following :


The client with the Realtek 2.5 Gbps NIC is on port 4 . The server with the Aquantia AQN-107 is on port 5. I have tried setting the flow control setting on both. It doesn't fix the issue. Disabling jumbo frames on both sides and on the switch improves the performance to slightly over 1 Gbps, but still nowhere close to 2.5 Gbps. And it shouldn't be necessary to disable jumbo frames, since they work fine when the 2 systems are directly connected, or connected to the Netgear GS110MX switch. The Trendnet switch is running the latest firmware 1.01.04 dated 04/2018.

There is clearly some sort of incompatibility here between the Realtek 2.5GBASE-T and the Trendnet switch. I'm inclined to think this is a Trendnet issue, as the Realtek 2.5 Gbps NIC works fine against the Aquantia 10 Gbps NIC when directly connected, as well as against the unmanaged Netgear GS110MX switch, though it is still possible there is something wrong on the Realtek side too. I don't have any other multi-gig Ethernet controllers to test with besides this Realtek 2.5 Gbps and four Aquantia AQN-107 PCIe 10 Gbps.