Ive got a vero4k+, and Pi3B+ both running latest stable release of OSMC.both directly wires to gigabit ports on a router.
If I run iperf3 I’m getting about 250-280 mb/s when I run the server from one machine, but only 130-150 when I run the server from the other machine.
Im aware that the pi3B+ won’t come close to gb speeds, so the 250-280 number is probably about right, but Is the difference in the reverse direction normal/expected, or is something not quite right?
Its not the end of the world if this is as expected…as im using the pi3b+ as a cheap and nasty NAS for my 4k rips, and its doing a sterling job so far with no stuttering or buffering, and can keep up with everything in my collection so far…until I’ve saved enough to get hold of a proper Nas.
Ok, that proves it is not related to where the server application runs.
Overall I don’t have a reall clue as the “drops” both times on the RX side seems similar.
So can not see a real reason for this.
Thats true…I suppose it would be useful if someone else who has both devices could run the test and see if the results are similar to mine, it might shine some light on it.
Not that I’m aware of Sam, I even tried stopping kodi and all other services I can think of that might be using resources, but it’s the same.
As I said, if this is a limitation then it’s not the end of the world, as it’s working fine for the task it’s intended for, hopefully someone with the same two devices can run the test and see if the results are similar…at least that way I can possibly rule out a problem my end.
Well you are getting 276/100 and they got 328/234, so while yes overall your numbers are lower (which also could be impacted by eg the switch) at least it shows the consistency that one direction is slower which the article also comment as " I assume this asymmetry has to do with hardware limitations of the board"
After reading through the thread on the Raspberry Pi forum that @fzinken posted, although they admitted there was some sort of issue, something the RPi engineers kept repeating was ‘Make sure that flow control is turned on on your routers/switches’
I checked on my router (basic Sky Q router) and I have no such setting, or if there was I couldn’t find it.
You can check if this is enabled by issuing the command ethtool -a eth0
If flow control is enabled you should get this result:
osmc@osmc: $ ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
RX negotiated: on
TX negotiated: on
I wasn’t getting that result, I was getting this result:
osmc@osmc: $ ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
RX negotiated: off
TX negotiated: off
Which pretty much confirmed my router didn’t have flow control enabled.
After a bit more reading of the thread I read that the vast majority of unmanaged switches will have flow control enabled by default, so I reinstalled the cheap and cheerful linksys unmanaged switch I only removed a few days ago, and after running ethtool -a eth0 again I got the desired result.
…and after running iperf3 again with server on the Vero4k+ and client on the Pi3B+ the result is :