What's new

Ookla Speedtest cli binary available

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

I suspect you're right, my 86U is cranking out near full speeds at 350Mbps for most of my tests so it does seem to be cpu-bound. It's still an improvement over the python script which would overload the router!
As per my previous post all my local speedtest servers seem to be capped a ~270Mbps using this utility. However I did find one in the list that would give me ~325Mbps at 92% CPU load, although the results were inconsistent because the server was quite far away.

So at the moment I'd say that the results could be misleading depending on your geographic location. Hopefully they will improve the code to allow multi-threaded tests which should yield more accurate figures.
 
As per my previous post all my local speedtest servers seem to be capped a ~270Mbps using this utility. However I did find one in the list that would give me ~325Mbps at 92% CPU load, although the results were inconsistent because the server was quite far away.

So at the moment I'd say that the results could be misleading depending on your geographic location. Hopefully they will improve the code to allow multi-threaded tests which should yield more accurate figures.
That's strange, I'm consistently getting my rated speed of 350Mbps or higher on the 86U

Multi-threading will be an improvement, true. In any case, this version works better at high speeds than the unofficial python implementation
 
That's strange, I'm consistently getting my rated speed of 350Mbps or higher on the 86U
More strangeness; I've just tried the Win64 version of this utility and got my full 386Mpbs from my nearest server that would only give me 270Mbps on the router.

EDIT: I've just tried the Linux x86_64 version and that also gives me full speed (386Mbps) results. :confused: So now I'm even more confused.
 
Last edited:
More strangeness; I've just tried the Win64 version of this utility and got my full 386Mpbs from my nearest server that would only give me 270Mbps on the router.

EDIT: I've just tried the Linux x86_64 version and that also gives me full speed (386Mbps) results. :confused: So now I'm even more confused.
Worth feeding back to Ookla? If it's not maxxing the CPU then I'm unsure why you're getting less than full speed on the router
 
Hi!
Can anyone please shed a light on how to install this? Tried ipkg install to no success (I don't have entware installed btw)
Thanks in advance!
 
Hi!
Can anyone please shed a light on how to install this? Tried ipkg install to no success (I don't have entware installed btw)
Thanks in advance!
You don't install it, you just copy it to your router and extract the contents to whatever directory you want:
Code:
admin@RT-AC68U:/# cd /jffs/scripts/
admin@RT-AC68U:/jffs/scripts# tar zxvf /mnt/VERBATIM/ASUS/ookla-speedtest-1.0.0-arm-linux.tgz
speedtest
speedtest.md
speedtest.5
admin@RT-AC68U:/jffs/scripts# ls -al speedtest*
-rwxr-xr-x    1 10000    10000      1884972 Oct 29 01:32 speedtest
-rw-r--r--    1 10000    10000        12377 Oct 29 01:32 speedtest.5
-rw-r--r--    1 10000    10000        11488 Oct 29 01:32 speedtest.md
 
You don't install it, you just copy it to whatever directory you want and extract the contents of the archive:
Code:
admin@RT-AC68U:/# cd /jffs/scripts/
admin@RT-AC68U:/jffs/scripts# tar zxvf /mnt/VERBATIM/ASUS/ookla-speedtest-1.0.0-arm-linux.tgz
speedtest
speedtest.md
speedtest.5
admin@RT-AC68U:/jffs/scripts# ls -al speedtest*
-rwxr-xr-x    1 10000    10000      1884972 Oct 29 01:32 speedtest
-rw-r--r--    1 10000    10000        12377 Oct 29 01:32 speedtest.5
-rw-r--r--    1 10000    10000        11488 Oct 29 01:32 speedtest.md
Or for a more integrated solution, give the develop branch of spdMerlin a go :)
 
Q: The first time I run speedtest on a router, it asks some licensing question which requires a "YES" response. It doesn't ask on subsequent runs (I haven't tried after a reboot). Any idea where it stores the flag or other saved settings? The speedtest.5 and .md files don't seem to have changed according to the files' timestamps.
Maybe it registers the MAC during the dialogue with the speedtest.net server when it retrieves the list of local servers?
 
Last edited:
Q: The first time I run speedtest on a router, it asks some licensing question which requires a "YES" response. It doesn't ask on subsequent runs (I haven't tried after a reboot). Any idea where it stores the flag or other saved settings?
~/.config/ookla/speedtest-cli.json
 
Thanks. So, on many if not most routers, the license key would be lost on a reboot. I remap my root home to /jffs/home/root on each boot, so in my case it would survive.
spdMerlin handles this by saving the accepted license to jffs after first acceptance, and loads it back on reboot
 
You don't install it, you just copy it to your router and extract the contents to whatever directory you want:
Thanks!
Anyway, I can't execute it. It seems that I have Phyton's speedtest_cli embeded.
Tried changing filenames (ie to speedtest2) but it does not work either:

Code:
admin@ASUS_RT-AC87U:/tmp/home/root# ls -al speedtest*
-rwxr-xr-x    1 10000    10000      1884972 Oct 29 01:32 speedtest
-rw-r--r--    1 10000    10000        12377 Oct 29 01:32 speedtest.5
-rw-r--r--    1 10000    10000        11488 Oct 29 01:32 speedtest.md
admin@ASUS_RT-AC87U:/tmp/home/root# speedtest
usage:
speedtest_cli [1|0](download test enable|disable) [download thread number] [1|0](upload test enable|disable) [upload thread number]
Range of thread number: 1 - 20
admin@ASUS_RT-AC87U:/tmp/home/root# speedtest 1 1 1 1
download = 6.24
download = 6.14
download = 6.17
download = 6.04
download = 6.48
download = 6.70
download = 6.86
download = 6.94
download = 7.35
download = 7.57
download = 7.67
download = 7.79
download = 8.00
download = 8.15
speedtest_cli: Download = 8.14 Mbit/s (1041.94 Kbyte/s)
upload = 0.78
upload = 0.78
upload = 0.78
upload = 0.78
upload = 0.78
speedtest_cli: Upload = 0.78 Mbit/s (100.22 Kbyte/s)
Regards!
 
Thanks!
Anyway, I can't execute it. It seems that I have Phyton's speedtest_cli embeded.
Tried changing filenames (ie to speedtest2) but it does not work either:

Code:
admin@ASUS_RT-AC87U:/tmp/home/root# ls -al speedtest*
-rwxr-xr-x    1 10000    10000      1884972 Oct 29 01:32 speedtest
-rw-r--r--    1 10000    10000        12377 Oct 29 01:32 speedtest.5
-rw-r--r--    1 10000    10000        11488 Oct 29 01:32 speedtest.md
admin@ASUS_RT-AC87U:/tmp/home/root# speedtest
usage:
speedtest_cli [1|0](download test enable|disable) [download thread number] [1|0](upload test enable|disable) [upload thread number]
Range of thread number: 1 - 20
admin@ASUS_RT-AC87U:/tmp/home/root# speedtest 1 1 1 1
download = 6.24
download = 6.14
download = 6.17
download = 6.04
download = 6.48
download = 6.70
download = 6.86
download = 6.94
download = 7.35
download = 7.57
download = 7.67
download = 7.79
download = 8.00
download = 8.15
speedtest_cli: Download = 8.14 Mbit/s (1041.94 Kbyte/s)
upload = 0.78
upload = 0.78
upload = 0.78
upload = 0.78
upload = 0.78
speedtest_cli: Upload = 0.78 Mbit/s (100.22 Kbyte/s)
Regards!
./speedtest to run it from the current directory
 
I just installed the script. Logged into the router in my browser and saw both cores at 100%. The script finished installing and I exited my ssh client and cores still at 100%. Rebooted.

CPU back to normal. Went to Tools>Speedtest and clicked "test now" and got the window "please wait, xx% applying settings" that incremented 1 percent at a time and took a while. After it finished still the blank speedtest screen. CPU still normal. Rebooted.

Open ssh client. Clicked option 1 and the next line was "cp: can't create '/tmp/home/root/.config/ookla/speedtest-cli.json': No such file or directory". Clicked Y and test ran. CPU cores maxed around 80% core 1 and 55% core 2.
Speedtest results - Download: 824.83 Mbps (data used: 1.2 GB) - Upload: 761.11 Mbps (data used: 1.2 GB)
Ironically, this bested the same server using the windows test which ran mid 300's.

Retested with a different server and got:
Speedtest results - Download: 878.87 Mbps (data used: 1.4 GB) - Upload: 877.54 Mbps (data used: 1.2 GB)
Hit 100% on core 1. Core two around 50% I think.

Definitely closer to the 940ish that I get using web based tests. (and not crashing my router anymore :) )

I'm not getting the error line mentioned about anymore. I updated entware packages after getting that error. Not sure if that is what fixed it.
 
Trying to make sense of the CSV format output to do my own report to the syslog on a cron schedule.
The output (with headers):
Code:
 ./speedtest --format=csv --output-header
"server name","server id","latency","jitter","packet loss","download","upload","download bytes","upload bytes","share url"
"Spectrum - Tampa, FL","17170","9.324","0.882","0","14505861","1467145","102359208","5612768","https://www.speedtest.net/result/c/4b6b431e-b2b4-4140-8551-6ab7a9557db0"
Code:
Reformatted for easier readability:
"server name" = "Spectrum - Tampa,FL",
"server id" = "17170",
"latency" = "9.324",
"jitter" = "0.882",
"packet loss" = "0",
"download" = "14505861",
"upload" = "1467145",
"download bytes" = "102359208",
"upload bytes" = "5612768",
"https://www.speedtest.net/result/c/4b6b431e-b2b4-4140-8551-6ab7a9557db0"

The speedtest.net web page shows Ping: 9ms, Download: 116.05, Upload: 11.74. I'm trying to derive the same D/U Mbps using the CSV values and not seeing it. Any suggestions? What are the formulas? What are the units for the CSV "download" and "upload" columns?
 
Last edited:

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top