Speedtest from Router

You can also avoid installing python3 and pip by downloading the Ookla’s speedtest CLI: Speedtest CLI: Internet speed test for the command line

I downloaded their arm binary, untarred it locally, and then scp’d it to the router:

$ scp <pathToTarball>/ookla-speedtest-1.0.0-arm-linux/speedtest root@

From there:

$ ssh root@
$ ./speedtest

Turns out I’m somehow losing 90% of my throughput on wifi :sob:

@teeohco can this be done on the Opal model? trying to get a on-router test method… would love a gui version but I’ll take a CLI

If so, where do I go to get the file?

I was looking at this earlier ? packages/net/speedtest-netperf at master · openwrt/packages · GitHub

scroll down to linux and there is armel and armhf for you to choose

I tried both options…

Both give parse errors…

Collected errors:
 * opkg_conf_parse_file: /etc/opkg/customfeeds.conf:4: Ignoring invalid line: `https://install.speedtest.net/app/cli/ookla-speedtest-1.1.1-linux-armel.tgz'
 * opkg_install_cmd: Cannot install package https://install.speedtest.net/app/cli/ookla-speedtest-1.1.1-linux-armhf.tgz.

This is a package, not a repository.
You can download a package and unpack it. Depending on the package you should be able to execute/install the skript/binary/program/whatever.
You can add a repository to your customfeeds.conf, so opkg can load it and resolve dependencies automatic …

In this case you won’t need a repository, because ‘speedtest-cli’ from ookla does not have dependencies, it is a static linked executable file.

I doubt ‘both’ solutions are providing the same error, except you’re set two downloadable files in the .conf. What is ‘the other error’?
Ah, okay. The second is the second line … Nearly the same. It won’t be installed via opkg, you’ll need to unpack and execute it by yourself.

  1. download
  2. extract/unpack
  3. execute
1 Like

Download, open and extract the .TGZ file into a folder. There will be a speedtest.md file that is like a README to explain how to use the utility and all its options.

I do not work for and I do not have formal association with GL.iNet

1 Like

My suggest is that don’t do speedtest on the router.

The router has limited resource (CPU and RAM) and doing speed test on the router will generate a very low number.

1 Like

I did extract the files into the router. I can’t get any command tag to work with speedtest command. not even help works!


My delima is I need to be able to do it remotely. as I don’t have a pc on the router to remote into in order to do one! It only will be 4G access for right now anyway, and I’m sure the router will show at least some connection stats.

It is very hard to guess what are you doing.
From your screenshot we can see there is a directory /speedtest/ in the directory /mnt/ … But why? Did you created it with mkdir -p /mnt/speedtest?
Since the command ls is showing nothing, there is no binary to execute … It don’t look like you’ve extracted the downloaded file. I can’t say, from the given information, if you have downloaded the file or extracted it…

  1. Download the file on your computer
  2. Extract it on your computer to a new directory
  3. Copy the extracted directory to your router
  4. Login to your router
  5. Go to the file where you’ve copied the files
  6. Search the file ‘speedtest’
  7. Execute it…

And please give any command you are using, it is a lot more easy to understand.

ookla-speedtest-1.1.1-linux-armel.tgz was the file I downloaded days ago…

I extracted the files to the computer. below is ss of it. I deleted the original transfer out and I put it in the root directory this time.

root@GL-SFT1200:/# cd root
root@GL-SFT1200:~# ls
speedtest            surfshark-wireguard
root@GL-SFT1200:~# cd speedtest
root@GL-SFT1200:~/speedtest# ls
speedtest     speedtest.5   speedtest.md
root@GL-SFT1200:~/speedtest# speedtest
-ash: speedtest: not found

Same error messages as before.

The only additional plugins I’ve added since turning it on was upnp.

Looks better, now.

Please try ./ before the command.

I have no access to my Beryl, right now. Else I would have test ist myself, before recommending.

If you type any command in a linux shell, the filename will be searched in the directories, mentioned in the $PATH variable …
echo $PATH should give something like:


but as /root/ is not in $PATH, the command cannot be found. So you’ll tell the shell with ./ ‘execute this file here, from this path.’

And in addition the root directory is /. The path /root will be called ‘home directory of the root user’. A little unlucky, that the path root and the user root is the same word, but isn’t the same meaning.

root@GL-SFT1200:~/speedtest# ./speedtest
./speedtest: line 1: syntax error: unexpected word (expecting ")")

I’m out.
I have absolutely no idea what happening. I would expect this message while loading a shellscript, but not from a binary.

When you open the file in an editor on your computer, it should be some cont of jibberisch (unreadable) lines. Maybe it has the wrong line terminator, but this depends on the extracting process.

I only use winrar to extract files… never anything else… never had issues before on running something on my ubuntu systems.

If you download the ookla-speedtest-1.1.1-linux-armel.tgz file directly into a folder on the router, then you extract and run the program there:

tar -zxvf ookla-speedtest-1.1.1-linux-armel.tgz

If you download the file and extract it on Windows, then copy the files to the router, then you have to set the Unix Execute permission to run the program:

chmod +x ./speedtest
./speedtest -h

1 Like

I’m still having the same error


The Opal GL-SFT1200 has a Siflower SF19A28 MIPS processor. The program is for ARM processors and may not work on MIPS.

yes, as @wcs2228 said, this program is not compiled for this router and it does not run.

So, today I’m at home and have a little time with my beryl (should be the same architecture as Opal … But since we’re installing via OpenWRT package manager, this should not be important).

  1. Open the Luci webfonend:
    Login on the GL.iNet Frontend - On the left hand menu go to 'More settings - Advanced'
    If there is no Link, click on the Button (Install), else click on the link.
  2. Login at the Luci frontend. User ‘admin’, use the previous password.
  3. On the Top Menu go to System - Software and on the first search field search for netperf
  4. Behind speedtest-netperf click on the button Install
  5. READ the dialogs!
    At the end close the dialog with ‘Dismiss’ down right.

Now login via ssh and type speedtest-netperf.sh → a lot of information.

Since you have now also netperf installed, you can try other scripts. Like betterspeedtest.sh Link or write a whole own script with defined/desired output.

Edit: Just write a little nicer.