Rpi4b with 1gig FTTH service

I just got my Bell Fibre service upgraded from 500Mbps to their 1gig service. :slight_smile:
The Bell HomeHub 3000 (HH3000) can get these speeds when I ran a test directly from device itself:

Now I'm trying to get these types of speeds from my Rpi4b... however so far I can only achieve these types of speeds:

My hardware:

  • TP-Link MC220L Gigabit Media Converter (to convert the fibre to eth)
  • TP-LINK TL-SG105E 5-Port Gigabit Easy Smart Switch (VLAN tagging, 1 port to the HH3K, 1 port to the Rpi4b)
  • TP-Link 16 Port Gigabit Ethernet Network Switch (TL-SG116) (my LAN)
  • TP-Link Foldable USB 3.0 to 10/100/1000 Gigabit Ethernet Network Adapter (UE300) (used with the Rpi4b for eth1)

Rpi4b 4gigs with a recent compiled SNAPSHOT of OpenWRT. (Linux GateKeeper 5.4.92 #0 SMP Tue Jan 26 14:06:50 2021 aarch64 GNU/Linux)
eth0 is LAN (to the tp-llink 16 port switch)
eth1 is WAN (pppoe) to the TL-SG105G smart switch (vlan 35)

I've confirmed that my eth ports are at 1000Mb/s (ethtool eth1)

When I test my network speeds between my local devices, I get between 800-900+ Mbps using iperf3. I get comparable results using iperf3 between my Rpi4b and my local devices (linux/windows/etc)

I "think" I've gotten everything setup as best as I can, and I was satisfied with the 500Mbps service I was getting with Bell. But since I now my Rpie4b can achieve 1gig speeds I decided to upgrade!

Any ideas as to what could be preventing my Rpie4b from achieving higher speeds?

I DO have Software/Hardware flow offloading ENABLE in my firewall settings. I don't know if that makes a diff?


edit: Bell did have to upgrade the firmware on my HH3k before the new 1gig speeds would work.

Have a look at https://forum.openwrt.org/t/performance-issue-cpu-bottleneck-on-ksoftirqd-0-on-current-openwrt-snapshot-raspberry-pi4/86725
Might be a kernel regression for rpi4's , and 5.4 seems affected...


Thanks! I’ll keep an eye on that thread. It does seem very likely I’m experiencing the same kernel issues.

so with the help of @jrambo99 and @dlakelan on this thread Performance issue (CPU bottleneck on ksoftirqd/0) on current OpenWrt snapshot (Raspberry Pi4) - Installing and Using OpenWrt - OpenWrt Forum I was able to setup a test environment that enabled me to test my network speeds using iperf3.

Basically these tests enabled me to test traffic through my Rpi4b's WAN (eth1 -USB UE300) and LAN (eth0 onboard nic) ports at the same time. :slight_smile:

Now that it seems my WAN and LAN ports are working properly on my Rpi4, I wanted to see if I could reach 1gig speeds through my ISP.

From these speed tests it doesn't seem so.. (this is on a Debian server shell on my Rpi4 LAN side.

I realize speeds can fluctuate depending on how people are using this particular server at any given time.

I do have Software flow offloading ON.
Hardware flow offloading is OFF.

When I do regular speeds tests from my Windows 10 computer, I often notice my UPLOAD speeds are much higher than my download speeds. :confused:

Any ideas?

On my ATT fiber I see speedtest variation from one test provider to another of anything between 400 and 900 Mbps. I blame the speed tests. Try fast.com they seem to reliably be the fastest.

I've been testing with fast.com and most of my results are around the same..

What's strange to me is that sometimes my Upload speeds will be higher than my Download speeds on Speedtest.net

I've noticed a similar behaviour on the Bell HomeHub3000 when I connected my laptop directly to one of its LAN ports.

On Bell's HH3000 Lan I get 710/410 on fast.com and 780/704 on Speedtest.net

I'm wondering if my managed switch is struggling or not.. for LAN clients on both my Rpi4 and Bell HH3000 ??!

this test was from my Debian Linuxbox connected directly to my Rpi4's LAN side switch:

My results are all over the place it seems.. ARGH!?@ :astonished:

I think not. Those switches have switching fabric capable of gigabit bidirectional on all ports usually. What can cause them to struggle is if you're doing things like speed limits on some ports, which means it does some accounting in the CPU. But normally the switch isn't an issue.

I honestly think this is just the "reality" of gigabit connections, which is that they're shared medium, and so are speedtest sites, and real world conditions are almost never that you really get enough resources to test a gigabit connection against a public speedtest site.

1 Like

You could also try the new kid on the speedtest block https://www.waveform.com/tools/bufferbloat. In my admittedly cursory testing the test (leveraging cloudflare's CDN as data source and sink) the test was able to saturate a bidirectional 1 Gbps ethernet link to the internet (alas, not my home internet access link). Please test (but not with Safari as there is a Safari/Apple issue regarding the latency measurements), and post the result link here?

Thanks for the link! I'm always willing to try ANYTHING that might help! :wink:

Here are the results:

OOOh, some people who know what they're doing... they even use UUIDs to identify speedtests

Note that browser based tests can be limited by the CPU available on your testing machine as well!

The above result was with my RPi and my custom HFSC shaper. It's interesting how much of a long tail the delays have. I guess that's probably more about internet congestion than my particular link.

I just find it odd that the Bell HH3000 that's connected to the exact same smart switch and media converter is getting better results. The Rpi4 should be able to achieve similar results no? At least after confirming that my LAN/WAN can achieve nearly 1gig speeds.

Your results are SICK. 0.1ms median time to the server? And max 1.9ms? You must literally have a Cloudflare CDN node at your ISPs office in the same town.

everything seems to route directly to Bell's central servers in Toronto, On. I wouldn't be surprised if they have a deal/setup with Cloudflare :wink:

I can't get decent speeds for anything local with Bell. I'm about 4hours north of Toronto.

This basically indicates that your ISP's uplink to the rest of the internet is the real speed bottleneck. I'd bet if you test at 3am you'd be getting your full speed, but probably the ISP has an uplink of say 2.5 or 5Gbps shared among everyone in your entire town/region/county and that's where the real bottleneck is.

Or there is still an issue with the latency measurements, the test is relatively new and still under development... I would not be amazed if there are issues with anti-spectre counter measures, or similar mitigations of side-channels which on the browser side often seems to boil down to degraded timing functions (as many side channels show up in changed timings of observable events based on CPU state that should be hidden).
Anyway, sorry for the detour, I had hoped that test might point a finger at Ookla :wink: (fast.con is known to be flaky for Gbps-Links, for some it works for some it doesn't, and since it essentially is a test of how good netflox will run on a link, anything above 4 UHD streams, so >= 100 Mbps, is plenty fast ;))

Here are some more results using my LAPTOP instead of my PC to make sure it's not a client/CPU issue.

FROM my Bell Homebub 3000 LAN I connected my Laptop directly:

Bell HH3K LAN results: https://www.waveform.com/tools/bufferbloat?test-id=baf08b32-c89b-4cea-a898-9be5890c7644

From my Rpi4 LAN I connected my laptop directly to my LAN switch:

Rpi4 LAN results: https://www.waveform.com/tools/bufferbloat?test-id=e3770275-84a9-4f4e-86d1-2eeb129b1b41

yeah.. who knows.. its just so frustrating not knowing exactly what the issue is.. and you're probably right.. this is probably the best it'll get.. just weird how the speeds fluctuate from test to test.. like the one I just did.. I'm getting faster UPLOAd speeds again :roll_eyes:

This is precisely what makes me think it's upstream congestion as then it depends on your neighborhoods total usage which will seem random with variation throughout the day

Bell Support seems to believe there's any issue with my Bell Homehub3000 modem/router so they're sending me a new one... :roll_eyes:
They agree that my DOWNLOAD speeds are much lower that what I should be receiving.. especially since my UPLOAD speeds are twice as fast..

I only had to reboot a dozen times.. do 3 or 4 factory resets before they believed me lol
There's obviously "something" going on.. since my Rpi4 gets similar results.. UPLOADING is often MUCH higher than my DOWNLOAD speeds. I asked to make sure they weren't throttling or traffic shaping my connection.. they said no..

I guess I'll see what kind of results I get with a new modem/router in a few days.. I'm almost %100 sure I'll get similar results.