spdmerlin speedtest error

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: 120

Jeffrey Young

Very Senior Member
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:

Jack Yaz

Part of the Furniture
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
 

Jeffrey Young

Very Senior Member
@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.
 

dave14305

Part of the Furniture
@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).
 

Jeffrey Young

Very Senior Member
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 :)

 

peepsnet

Regular Contributor
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!!
 

Jack Yaz

Part of the Furniture
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)
 

Jeffrey Young

Very Senior Member
Bug, you did not quote the "yes"
 

Sign Up For SNBForums Daily Digest

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