• Network performance

    From Frank Winkler@3:770/3 to All on Sat Dec 25 20:05:05 2021
    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
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Computer Nerd Kev@3:770/3 to Frank Winkler on Sat Dec 25 22:04:04 2021
    Frank Winkler <usenet@f.winkler-ka.de> wrote:
    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).

    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: https://revolutionpi.com/forum/viewtopic.php?t=1563#p6083

    --
    __ __
    #_ < |\| |< _#
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Theo@3:770/3 to Frank Winkler on Sat Dec 25 23:06:02 2021
    Frank Winkler <usenet@f.winkler-ka.de> wrote:
    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.

    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.

    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).

    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
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Computer Nerd Kev@3:770/3 to Theo on Sun Dec 26 01:58:35 2021
    Theo <theom+news@chiark.greenend.org.uk> wrote:

    That assumes both are 3B+ (which has true gigabit ethernet) not 3B (which
    has ethernet hung off USB 2 as mentioned in another post).

    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).

    https://magpi.raspberrypi.com/articles/raspberry-pi-3bplus-specs-benchmarks

    --
    __ __
    #_ < |\| |< _#
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Theo@3:770/3 to Computer Nerd Kev on Sun Dec 26 15:53:37 2021
    Computer Nerd Kev <not@telling.you.invalid> wrote:
    Theo <theom+news@chiark.greenend.org.uk> wrote:

    That assumes both are 3B+ (which has true gigabit ethernet) not 3B (which has ethernet hung off USB 2 as mentioned in another post).

    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).

    https://magpi.raspberrypi.com/articles/raspberry-pi-3bplus-specs-benchmarks

    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
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)