Iperf3 works with direct connection but not through switch

I’ve been using iperf3 under Ubuntu Linux to stress test different botblox switches before designing them into our products, thereby ensuring their self-heating won’t exceed available cooling. Lately, it fails after only one packet is transferred, regardless of which switch (GigaBlox Nano, GigaStax Rugged, etc.) I use but runs perfectly when a Cat 6 cable is used and no switch.

The two laptops, with 2.5Gbps Ethernet dongles are set up as IP4 (server) and (client). The server runs “iperf3 -s -p 5001”; the client runs “iperf3 -c -p 5001 -t60 -B”.

Sorry to bother all, but any suggestions?

Many thanks for these terrific switches, support, and community of users!

Jim Horn, Overwatch Imaging, Hood River, OR, USA

And does “normal” Ethernet traffic work over the switch? ping, ssh, … ?

This looks like an autonegotiation problem. We’ve recently seen autonegotiation problems on the 2.5 Gbps NICs of 12th gen Intel NUC computers connected to the old-fashioned Netgear gigabit switches. We did either get no link at all, or a 100 Mbps link when manually selected.

Try manually setting the dongles to 1000 Mbps link speed.

Also, if possible, try with mainline Linux kernel (e.g. using GitHub - peci1/kumk at devel). The 2.5 Gbps dongles are still quite new and their support differs by large on kernels around 5.15.


Thank you for your help! I replaced the USB Ethernet NIC on the Surface Pro 3 with the Gigabit Ethernet equipped dock and changed the iperf3 commands accordingly. Data is streaming between the computers now. Oddly, it is consistently about 350Mbps, not 900+ as I’ve seen with botblox and other switches in the past.

I’ve also noticed that the switch IC is about 59°C in a 23°C room, according to a Fluke IR measurement. But with only 70mW power consumption, that will be trivial to cool with a small heat sink such as the Ohmite ones that serve us very well for your other switches.

1 Like