Someone check my research on first router for starlink in the UK?

Make sure it’s executable and

cd /usr/lib
./netperfrunner.sh
root@OpenWrt:~# /etc/init.d/nlbwmon start
root@OpenWrt:~# cd /usr/lib
root@OpenWrt:/usr/lib# ./netperfrunner.sh
-ash: ./netperfrunner.sh: not found

edit: Had to manually download from github, and upload via WinSCp.

strange values though

root@OpenWrt:/usr/lib/OpenWrtScripts# sh betterspeedtest.sh -4 -H netperf.bufferbloat.net -t 400 -n 5
2022-07-12 22:31:39 Testing against netperf.bufferbloat.net (ipv4) with 5 simultaneous sessions while pinging gstatic.com (400 seconds in each direction)
.
 Download: 0.00 Mbps
  Latency: (in msec, 1 pings, 0.00% packet loss)
      Min: 38.080
    10pct: 0.000
   Median: 0.000
      Avg: 38.080
    90pct: 0.000
      Max: 38.080
.
   Upload: 0.00 Mbps
  Latency: (in msec, 1 pings, 0.00% packet loss)
      Min: 38.133
    10pct: 0.000
   Median: 0.000
      Avg: 38.133
    90pct: 0.000
      Max: 3
root@OpenWrt:/usr/lib/OpenWrtScripts# sh netperfrunner.sh
2022-07-12 22:33:23 Testing netperf.bufferbloat.net (ipv4) with 4 streams down and up while pinging gstatic.com. Takes about 60 seconds.
 Download:  0 Mbps
   Upload:  0 Mbps

  Latency: (in msec, 1 pings, 0.00% packet loss)
      Min: 38.050
    10pct: 0.000
   Median: 0.000
      Avg: 38.050
    90pct: 0.000
      Max: 38.050

This?

Note: If the script displays the latency values as all-zeros on OpenWrt, then it's likely that the device has received (and is trying to use) an IPv6 address for the ping host. This will fail if you don't have IPv6 service from your ISP. To solve this, add -p 1.1.1.1 or -p 8.8.8.8 to the command to force an IPv4 host.

For some reason only one ping result is being processed. @richb-hanover-priv? @moeller0?

Seems to be a bug introduced with idle latency measurements... looking into it right now.

1 Like

I did try that method too, same result.

Two (independent) factors are giving those "zero" results.

  1. By default betterspeedtest.sh script pings gstatic.com for its -p host. I believe that (for whatever reason) OpenWrt chooses the IPv6 address for that host, and if there's no IPv6 ping available, it fails.

    The workaround is to use -p 1.1.1.1 or -p 8.8.8.8

  2. My VPS got null-routed the other day (presumably because of too much traffic.) I am in the process of re-vamping the scripts that look for (and blacklist) traffic-abusers and have shut off that server for the moment.

    The workaround is to test against another host, say -H netperf-west.bufferbloat.net or -H netperf-eu.bufferbloat.net or some other host that runs a netperf server.

Thanks for your patience.

3 Likes

That works for me :wink:
Sorry for the noise...

PS: The original README doesn't state that you must cd to the OpenWrtScripts directory after running git clone... e.g.:

...
cd /usr/lib
git clone https://github.com/richb-hanover/OpenWrtScripts.git
... and then...
cd OpenWrtScripts
sh betterspeedtest.sh ...

Git clone was not working for me..
I had to manually download from github and upload using Winscp.

I really like the betterspeedtest.sh because of its simplicity to quickly test settings. It facilitates automated testing of parameters to check for optimal values.

So for example a script can be set up to set value X=Y, then run test, then X=Y+0.1, then run test, etc. And results can be plotted to help discover optimal value for X.

I guess it might be a good idea to test the exist status of the netperf instances to at least throw an error message in cases where the other side does not respond/exist?