What's new

spdmerlin speedtest error

  • 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!

costel1970

New Around Here
Hi.
I get this error when I try to run a speed test on my RT-AX88U (386.4_alpha2-ga85421da82) in SSH client/terminal. In the WebUI interface in the Addons-spdMerlin section does not display any results when running a speed test of any kind.
I removed spdMerlin (including configuration and data) and then reinstalled it, but the problems are still there. Any advice please ??
 

Attachments

  • Error.txt
    3.7 KB · Views: 167
The ookla binary was updated as part of the GPL merge for the alpha. If it’s not working, your best bet is to downgrade since most Addon developers don’t bother trying to chase issues in the alpha stage.
 
EDIT: Scratch the below, I had a second look at the code, if Jack's script find Asus's version, it will use it regardless if it finds the downloaded version of speedtest. Sorry for the hopes up.

If you really really REALLY want to stay on the alpha, you can always download the SpeedTest binary from Ookla directly and extract the files to /jffs/addons/spdmerlin.d/ookla directory. Jack's script will use that binary if it sees it.

For aarch64 platform

For arm platform

You can use uname -m to determine which platform you need.
 
Last edited:
EDIT: Scratch the below, I had a second look at the code, if Jack's script find Asus's version, it will use it regardless if it finds the downloaded version of speedtest. Sorry for the hopes up.

If you really really REALLY want to stay on the alpha, you can always download the SpeedTest binary from Ookla directly and extract the files to /jffs/addons/spdmerlin.d/ookla directory. Jack's script will use that binary if it sees it.

For aarch64 platform

For arm platform

You can use uname -m to determine which platform you need.
i did add a new setting in to let users choose, though that may have been left on a develop branch before I took some time out
 
@Jack Yaz , I hope you are enjoying a well earned holiday from coding. I've been busy making changes to you SpdMerlin to run on OpenWRT. No GUI as I don't care for LuCI. Have really enjoyed working with your code and have gotten to know SpdMerlin pretty good. I am hoping to have an similar product done in a couple of weeks.
 
@Jack Yaz , I hope you are enjoying a well earned holiday from coding. I've been busy making changes to you SpdMerlin to run on OpenWRT. No GUI as I don't care for LuCI. Have really enjoyed working with your code and have gotten to know SpdMerlin pretty good. I am hoping to have an similar product done in a couple of weeks.
Are you sharing this anywhere yet on github or OpenWRT.org? Want to follow along (I’m back on OpenWRT this week running a fascinating eBPF tool qosify for managing cake and traffic classifications).
 
Are you sharing this anywhere yet on github or OpenWRT.org? Want to follow along (I’m back on OpenWRT this week running a fascinating eBPF tool qosify for managing cake and traffic classifications).

The project is going to go at the below Github link when it is finished @dave14305 . It is essentially finished now, I just need to do some cleanup. Funny thing. I had a working copy done like two weeks ago. Very rough - very basic. Now it has morphed into a self contained script is pretty much self sufficient. I have had a lot of fun building it (well changing it to work with OpenWRT). I am hoping maybe another week.

I have never used Github. Beyond making an account a couple of weeks ago, I have no idea on how to merge code changes or the like. For the first file anyway, it will be a straight upload. Github will be another project on the pile for winter.

I have not done much more on OpenWRT since I started this project :)

 
The flag
Code:
--progress="yes"
needs to be removed from the call


lines 1472 - 1519 from spdmerlin in /jffs/scripts
Code:
if [ "$mode" = "auto" ]; then
						Print_Output true "Starting speedtest using auto-selected server for $IFACE_NAME interface" "$PASS"
						#"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" --progress="yes" $LICENSE_STRING | tee "$tmpfile" &
						"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" $LICENSE_STRING | tee "$tmpfile" &
						sleep 2
						speedtestcount=0
						while [ -n "$(pidof "$PROC_NAME")" ] && [ "$speedtestcount" -lt 120 ]; do
							speedtestcount="$((speedtestcount + 1))"
							sleep 1
						done
						if [ "$speedtestcount" -ge 120 ]; then
							Print_Output true "Speedtest for $IFACE_NAME hung (> 2 mins), killing process" "$CRIT"
							killall -q "$PROC_NAME"
							continue
						fi
					else
						if [ "$speedtestserverno" -ne 0 ]; then
							Print_Output true "Starting speedtest using $speedtestservername for $IFACE_NAME interface" "$PASS"
							#"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --server-id="$speedtestserverno" --format="human-readable" --unit="Mbps" --progress="yes" $LICENSE_STRING | tee "$tmpfile" &
							"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --server-id="$speedtestserverno" --format="human-readable" --unit="Mbps" $LICENSE_STRING | tee "$tmpfile" &
							sleep 2
							speedtestcount=0
							while [ -n "$(pidof "$PROC_NAME")" ] && [ "$speedtestcount" -lt 120 ]; do
								speedtestcount="$((speedtestcount + 1))"
								sleep 1
							done
							if [ "$speedtestcount" -ge 120 ]; then
								Print_Output true "Speedtest for $IFACE_NAME hung (> 2 mins), killing process" "$CRIT"
								killall -q "$PROC_NAME"
								continue
							fi
						else
							Print_Output true "Starting speedtest using auto-selected server for $IFACE_NAME interface" "$PASS"
							#"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" --progress="yes" $LICENSE_STRING | tee "$tmpfile" &
							"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" $LICENSE_STRING | tee "$tmpfile" &
							sleep 2
							speedtestcount=0
							while [ -n "$(pidof "$PROC_NAME")" ] && [ "$speedtestcount" -lt 120 ]; do
								speedtestcount="$((speedtestcount + 1))"
								sleep 1
							done
							if [ "$speedtestcount" -ge 120 ]; then
								Print_Output true "Speedtest for $IFACE_NAME hung (> 2 mins), killing process" "$CRIT"
								killall -q "$PROC_NAME"
								continue
							fi
						fi
					fi

I removed the --progress="yes" flag and it worked perfect!!
 
The flag
Code:
--progress="yes"
needs to be removed from the call


lines 1472 - 1519 from spdmerlin in /jffs/scripts
Code:
if [ "$mode" = "auto" ]; then
                        Print_Output true "Starting speedtest using auto-selected server for $IFACE_NAME interface" "$PASS"
                        #"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" --progress="yes" $LICENSE_STRING | tee "$tmpfile" &
                        "$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" $LICENSE_STRING | tee "$tmpfile" &
                        sleep 2
                        speedtestcount=0
                        while [ -n "$(pidof "$PROC_NAME")" ] && [ "$speedtestcount" -lt 120 ]; do
                            speedtestcount="$((speedtestcount + 1))"
                            sleep 1
                        done
                        if [ "$speedtestcount" -ge 120 ]; then
                            Print_Output true "Speedtest for $IFACE_NAME hung (> 2 mins), killing process" "$CRIT"
                            killall -q "$PROC_NAME"
                            continue
                        fi
                    else
                        if [ "$speedtestserverno" -ne 0 ]; then
                            Print_Output true "Starting speedtest using $speedtestservername for $IFACE_NAME interface" "$PASS"
                            #"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --server-id="$speedtestserverno" --format="human-readable" --unit="Mbps" --progress="yes" $LICENSE_STRING | tee "$tmpfile" &
                            "$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --server-id="$speedtestserverno" --format="human-readable" --unit="Mbps" $LICENSE_STRING | tee "$tmpfile" &
                            sleep 2
                            speedtestcount=0
                            while [ -n "$(pidof "$PROC_NAME")" ] && [ "$speedtestcount" -lt 120 ]; do
                                speedtestcount="$((speedtestcount + 1))"
                                sleep 1
                            done
                            if [ "$speedtestcount" -ge 120 ]; then
                                Print_Output true "Speedtest for $IFACE_NAME hung (> 2 mins), killing process" "$CRIT"
                                killall -q "$PROC_NAME"
                                continue
                            fi
                        else
                            Print_Output true "Starting speedtest using auto-selected server for $IFACE_NAME interface" "$PASS"
                            #"$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" --progress="yes" $LICENSE_STRING | tee "$tmpfile" &
                            "$SPEEDTEST_BINARY" $CONFIG_STRING --interface="$IFACE" --format="human-readable" --unit="Mbps" $LICENSE_STRING | tee "$tmpfile" &
                            sleep 2
                            speedtestcount=0
                            while [ -n "$(pidof "$PROC_NAME")" ] && [ "$speedtestcount" -lt 120 ]; do
                                speedtestcount="$((speedtestcount + 1))"
                                sleep 1
                            done
                            if [ "$speedtestcount" -ge 120 ]; then
                                Print_Output true "Speedtest for $IFACE_NAME hung (> 2 mins), killing process" "$CRIT"
                                killall -q "$PROC_NAME"
                                continue
                            fi
                        fi
                    fi

I removed the --progress="yes" flag and it worked perfect!!
seems like an ookla bug to me, unless its because I quoted yes. its in the usage output

Usage: ookla [<options>]
-h, --help Print usage information

-p, --progress=yes|no Enable or disable progress bar (Note: only available for 'human-readable'
or 'json' and defaults to yes when interactive)
 
Bug, you did not quote the "yes"
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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