We have an Orin installed on a custom carrier board and connected to a KSZ9897R ethernet switch. Due to the physical connections we are limited to 100Mbps. In the process of testing the connections (we are using iperf), we have found that every feasible connection gives us the throughput we expect (near 100Mbps). However, as soon as we run the test with the Orin, we see a significantly reduced amount of throughput.
Getting data FROM the Orin does not seem to be a problem. The issue seems to be when trying to transfer data TO the Orin, whether by iperf or by scp, sftp, etc.
We’re already looking into any potential issues with the network switch.
Is there an Orin setting we’re missing? Currently configured to 100Mbps, full duplex, autonegotiate off. No firewall.
The problem is present when the physical connection is limited to 100Mbps, but only occurs when connected to an Orin, either the Orin NX 16GB we have onboard OR an Orin Nano Developer kit.
RX from the Orin is OK.
TX to the Orin is on the order of kbps.
Are you using the DSA driver for that switch with JP 5.x? There is a bug that causes the RX performance to be terrible due it not handling TSO properly. Try updating to JP6.x or you can patch the dsa-core driver.
If this is your issue, running a UDP iperf test would show the expected speed in both directions.
We are running jetson Linux 36.3 (Jetpack 6.0). Running iperf with UDP gives us the expected throughput in both directions. I’ll look into the driver issue you mentioned.
Just to clarify. Please make a clear statement for what is the exact scenario that would hit this error.
You mentioned 100Mbps and also KSZ9897R. Do you mean you need both these two things together to reproduce error or even setting 100Mbps on Orin + other kind of switch could reproduce this?
The problem occurs when we connect to an Orin through the KSZ9897R switch AND the link speed is physically or logically limited to 100Mbps.
For the purposes of condensing the data captured below:
CG = CAT6 or CAT5e cable limited to 1Gbps
CM = Only 4 wires (two twisted pairs), limited to 100Mbps
PC = Windows laptop running iperf3 as client
PC100 = Windows laptop configured to 100Mbps Full Duplex
Orin = Either Orin NX 16GB or Orin Nano 8GB dev kit running iperf3 as server. The error was reproducible on both types of devices.
Orin100 = Orin configured to 100Mbps with ethtool -s eth0 speed 100 duplex full autoneg off
KSZ = KSZ9897R
KSZ100 = Resistor in place for strapping option to peg all interfaces to 100Mbps
All tests were run at least for 30 seconds. UDP returned expected throughput (between 93 and 96 Mbps), but not TCP.
Here’s what we’ve tried:
Configuration
iperf TCP TX to Orin
iperf TCP RX from Orin
[PC] ← CG → [KSZ] ← CG → [Orin]
940 Mbps
949 Mbps
[PC] ← CG → [KSZ] ← CG → [Orin100]
1.29 Mbps
38.1 Mbps
[PC] ← CM → [KSZ] ← CG → [Orin]
104 kbps
94.9 Mbps
[PC] ← CM → [KSZ] ← CG → [Orin100]
415 kbps
49 Mbps
[PC] ← CG → [KSZ100] ← CG → [Orin]
45 Mbps
66.8 Mbps
[PC] ← CM → [KSZ100] ← CG → [Orin]
17 Mbps
70 Mbps
What’s interesting is that when operating at Gigabit speeds there doesn’t seem to be an issue. However, the intent is to place this on a remotely controlled or autonomous vehicle with a C2 link via a radio for which the connection consists of 4 wires and is limited to 100Mbps, which is why we are trying to make this work.
Also, when the KSZ switch was strapped down to 100Mbps, the Orin was reporting 100Mbps half duplex
We could not reproduce the issue using a different Ethernet switch and Orin Dev Kit, neither by picking a 100Mbps-limited cable nor by setting the ethtool configuration. In both those cases throughput was reporting a nominal 100Mbps as expected.
Hi, we’ve performed additional testing and have identified that the issue is present for this specific hardware setup:
Ubuntu 22.04 or 24.04 running the r8169 driver
Gigabit link (CAT5e or better)
KSZ9897R ethernet switch
100BaseT link (only two twisted pairs)
Windows or Linux host transmitting data (iperf or video stream) to the Ubuntu.
We’ve tested the exact same setup with a Raspbery Pi or a Windows laptop in place of the Orin (Ubunu 22.04) or Ubunu 24.04 Host and see 100Mbps throughput.