Network performance

Hi there !

I'm using a couple of Pi 3B+, most of then running PiOS but one of them running Fedora 33. On all the PiOS ones, a "wget" download is going up to roughly 30 MB/s, which fits to my Internet downlink and is near the maximum interface speed of this box. But on the Fedora machine, the exact same command gets stuck at a fraction of this, even though it's connected to the same switch as one of the PiOS machines.

The Fedora box doesn't have a high load or something else which might be an obvious reason for this effect. It's acting as a DHCP and DNS server. Is Fedora's network stack that bad? Maybe I'll try a newer kernel version (currently 5.11.15 whereas 5.14.18 is available).

Merry X-mas!

fw

Reply to
Frank Winkler
Loading thread data ...

I'm not familiar with the problem (or Fedora, or the Pi 3B+!) but it sounds like yours is connected via the onboard Ethernet interface, which talks to the CPU as a USB 2.0 device. This makes the USB driver a likely point of difference between RPi OS and Fedora, because RPi OS by default uses the dwc-otg USB driver which is optimised for the Pi, including using the FIQ "Fast" interrupt which bypasses some of the kernel's usual interrupt handling process. That driver hadn't been adopted into the official Linux kernel, so most other Linux distros for the Pi use the dwc2 driver instead, which is officially part of Linux.

RPi OS can be told to load the dwc2 driver instead of dwc-otg by adding this line to the config.txt file in the boot/FAT partition: dtoverlay=dwc2

Maybe try that and see if network performance then becomes the same as with Fedora. In which case I'm not sure if there's an easy way to get dwc-otg into Fedora - it might require manually swapping over the kernel and modules from a RPi OS release with a similar kernel version, which would likely bring up a whole lot of problems.

Another description of the driver difference which I found when confirming that I wasn't mis-remembering:

formatting link

Reply to
Computer Nerd Kev

Bad network cable causing one to be stuck at 100Mbps?

Try swapping the cables over, and separately swapping the SD cards. See if you can nail down if it's the hardware or the software.

There shouldn't be a material difference.

That assumes both are 3B+ (which has true gigabit ethernet) not 3B (which has ethernet hung off USB 2 as mentioned in another post). Swapping parts around would tell you this.

Theo

Reply to
Theo

I'll admit I'm continually confused by all the different Pi models, but I did try to check this and according to this the Pi 3B+'s Ethernet is still connected via USB, it just uses its own "USB channel" (which I assume means no onboard USB hub in-between).

formatting link

Reply to
Computer Nerd Kev

You're right, I misremembered.

The 3B+ has 'gigabit ethernet' but it's only so far as running the ethernet link at gigabit - it's still behind a single 480Mbps USB2 link from the SoC. That link is still shared with the USB ports, whose hub is on the same chip as the ethernet (as it is on all ethernet Pis before 4). In practice you got about 300Mbps.

On prior Pis like 3B the ethernet link was only 100Mbps.

The 4 has a proper RGMII link to a Broadcom ethernet PHY chip, which can run true gigabit without using any USB channels.

Your link doesn't say it's not shared USB on the 3B+ - if you used it for a NAS with a USB disc you'd have to transfer everything twice. It's just that previous Pis were limited to 100M ethernet so the remaining USB bandwidth would have been wasted in that instance.

Theo

Reply to
Theo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.