HassOS, Raspberry Pi 3 Model B+, slow speedtest and fast.com

Just bought a new Raspberry Pi 3 Model B+ with gigabit Ethernet, installed HassOS and running the latest version of HassIO over the wired gigabit connection. Internet is cable Extreme, and I regularly hit 120Mbps through the speedtest web site on a wired Mac, and over 5Ghz wireless.

Using the Speedtest and fast.com sensors, I never see more than ~60Mbps download. I realise that the Ethernet on the pi will negotiate at gigabit, but will be limited by the USB bus it runs off, giving theoretical maximum of 480Mbps, and a real world maximum of somewhere around 300Mbps given other activity on the bus and overhead, etc.

I know that there were issues with Raspbian seeing similar numbers early on, but it has since been resolved by a later version of the OS.

There are some reports that without flow control enabled, speed test will get speeds of around what is being reported, however, I am fairly certain flow control on my switch and internet router are not the issue - my Mac and other devices report full download speed (~120Mbps) via speedtest and fast.com web sites.

Wondering whether anyone else is experiencing this issue, and has managed to resolve it?

Wow! No one having this issue? Main reason why I bought the B+ was so that I could max out my 100Mbps internet link in order to get better speed reporting - may have wasted my money!

Hi

I have hass.io set up on a Pi 3+ and am finding the results from speedtest to be really bad when the connection is really good. My internet is 100mb and on the Pi it only reports less than 20.

I hope there is a way to fix this as we want to get alerted to problems when we need to reboot the router.

I’m having the same exact issue, however I’m not using a Pi. I’m using a VM. My speeds are ~380Mbps when running fast.com manually, but through HASS I’m only getting ~100.

TBH, a RPi really isn’t the weapon of choice for link speed testing. Besides ethernet and usb hardware limits there are too many additional bottlenecks on a RPi to get realistic speed test results for a decent internet connection. If you just want to monitor major issues with your ISP (i.e. dramatically reduced link speed), your money may not have been wasted entirely. But if you depend on accurate results, you should switch to another device indeed.

That being said: I’m quite sure, flow control is an issue in your case. I have a RPi3 B+ connected to a managed DLink switch. With flow control disabled for the switch port the Pi is connected to, I also get speed test results of about 55-60 Mbps. With enabled flow control, the speed test returns about 150 Mbps. But this is still far less than real world or theoretical maximum speeds of 300 or 480 Mbps.

On the other hand, when running a speed test from a desktop computer connected to the same switch, the result always shows about 450 to 500 Mbps, which is the speed I’d expect for this connection. Also I don’t see any differences in the results between flow control enabled or disabled for the switch port the desktop is connected to.

Interestingly, if I also enable flow control on the port to which my ISP router is connected to, the results for the Pi are dropping again to about 90 Mbps. I have no clue, why this is happening. But the desktop results are still not affected from enabling or disabling flow control on the routers port.

@derandiunddasbo

I understand your point that the RPi is not ideal, especially on a fast internet link of 450-500Mbps. I would expect that on a 100Mbps link that the RPi could max that out and do an effective speedtest.

I have a friend who is running Home Assistant (not Hassio) on the exact same hardware, but running it on Raspbian in a virtualenv and he is able to achieve meaningful results on a 100Mbps link.

My point is, early on in the cycle of the Model 3b+, there were similar issues with the network stack, and that was resolved with some kind of software/driver change (I am not a Linux guy, sorry). I suspect that HassOS may be suffering from the same.

I’m still not sure, why you don’t want to consider this to be an issue with disabled flow control, because this by far the most likely source of this problem. And it really doesn’t help to compare the results from your Pi connected to your switch with other hardware connected to the same switch or with other hardware connected to another switch to rule out a flow control issue with your Pi.

But I’m not here to evangelise anybody and of course you are free to do what you think is best for you. :slightly_smiling_face:

I understand your arguments against the Pi 3B+, however how do you explain the fact that I’m seeing the same behaviour with a VM on a much more powerful system? Whenever I run tests testing the raw throughput of the VM, I’m maxing out the gigabit ethernet line.

I can’t explain why the link speed is slow in your HASS-VM without knowing more of your setup. I even won’t assume, your problem is related to the problem of the OP at all.

I’m just wondering, why the OP is so sure about his issue not being related to a problem with flow control. With the symptoms he describes - btw. exactly the same I see when disabling flow control for the link port on my switch - the first thing I’d do is to definitely confirm, if fc is enabled or disabled for the ethernet link the Pi is connected to before going down the rabbit hole and trying to find any os/software/driver/config problems on the Pi.

It could be a flow control issue. Considering I have plugged a RPi running Raspbian and Home Assistant into the same port, using the same cable, on the same unmanaged switch which has flow control permanently on, and I get results more in line with my 100mbps internet link, I think it is unlikely.

For the moment, I am running the Speedtest-cli from my NAS (which is plugged into the same unmanaged switch, mind you) and getting expected result, which I push to an MQTT topic, so I have a workaround.

I still believe that HassOS is suffering from the same issues Raspbian did when it was suffering from the same symptoms.

Same issue here on a more powerful machine.

I’m running the Speedtest.net component on a 4GB RAM Raspberry Pi 4 (full gigabit ethernet) running 64bit HassOS.

If I run a speedtest using the Speedtest.net app or website on my phone or laptop (WiFi) I get ~120mbps.

When the Speedtest.net component runs on the Pi (wired) at random times it reports ~42mbps max.

1 Like

Same issue. I have a 500Mbps connection to the internet and I’m getting that from other devices. In the past week, it’s been capped to 100Mbps from Hassio.

There were some updates to the Hassio supervisor that broke internal DNS resolution, I’m wondering if more happened to the networking stack.

I created an account to post to this thread as I am new to HomeAssistant and I have a RaspberryPi4.

Using the Fast .com sensor, I am only getting around 120Mb/s while plugged into Ethernet on a 600-700Mb/s line. All of my other devices are getting way faster speeds even on WiFi.

I’m not sure if there is something wrong with hassio or my Pi4. I am tempted to try speedtest .net to see if it’s any faster, but I prefer fast .com.

Anyone find a solution to the discrepancy?

Edit: I tested SpeedTest .net even though I don’t prefer that service and it’s matching my internet speeds on other devices. It looks like Fast integration is broken on the pi4.

Welcome to the community and Home Assistant, @_matthew!

I haven’t personally tried the Fast.com sensor, although oddly I will always prefer to go to Fast.com in a browser if I need an ad-hoc speed test performed…

If I get a chance later, I’ll add the integration and see if I can replicate. I’m using a VM rather than a RPi4.