What's new
  • 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!

spdMerlin spdMerlin - v4.x - speedtest and bandwidth monitoring

$ spdmerlin develop

For others to be safe; I would add a "forceupdate"

Code:
/jffs/scripts/spdmerlin develop
/jffs/scripts/spdmerlin forceupdate

Just simply because there can be multiple "4.4.6" versions in the wild depending when they did the develop command against the repo :)
 
@ExtremeFiretop I'm having a problem with running speed tests v4.4.6 on 3 of my 4 wireguard interfaces. How do you want me to let you know about this, here or GitHub?

Code:
[2025-03-09 17:17:16.384] [error] Configuration - Timeout was reached (TimeoutException)
[2025-03-09 17:17:16.384] [error] Configuration - Cannot retrieve configuration document (0)
[2025-03-09 17:17:16.391] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[2025-03-09 17:17:16.394] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[error] Configuration - Could not retrieve or read configuration (ConfigurationError)
 
@ExtremeFiretop I'm having a problem with running speed tests v4.4.6 on 3 of my 4 wireguard interfaces. How do you want me to let you know about this, here or GitHub?

Code:
[2025-03-09 17:17:16.384] [error] Configuration - Timeout was reached (TimeoutException)
[2025-03-09 17:17:16.384] [error] Configuration - Cannot retrieve configuration document (0)
[2025-03-09 17:17:16.391] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[2025-03-09 17:17:16.394] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[error] Configuration - Could not retrieve or read configuration (ConfigurationError)

There's a PR currently open to resolve these issues.

It's waiting to be merged.

 
FYI,

My latest PR for spdMerlin 4.4.6 version has now been merged by @JackYaz into his 'develop' branch.

To switch from the current 4.4.5 'master' branch to the 'develop' branch, type the following command on an SSH terminal session:
Bash:
/jffs/scripts/spdmerlin develop

If you have already previously installed the 'develop' branch, type the following commands to make sure you get the very latest fixes & improvements:
Bash:
/jffs/scripts/spdmerlin develop
/jffs/scripts/spdmerlin forceupdate

Here are my current Release Notes for the 4.4.6 develop branch version of spdMerlin.

1) NEW: Support for WireGuard client interfaces.
[PR submitted by @ExtremeFiretop]

2) NEW: Show the current database file size information on the CLI menu and the WebGUI page.

3) NEW: Show the "JFFS Available" space information for the "Data Storage Location" option on the CLI menu and the WebGUI page.

4) FIXED: Errors when loading the WebGUI page on the 3006.102.x F/W versions.

5) FIXED: Bug giving incorrect results when computing the free space available of a large-capacity USB-attached drive. This was preventing the user from resetting the database using the CLI menu.

6) FIXED: "Reset Database" functionality on the CLI menu where the database file was correctly reset but the result was not reflected on the WebGUI page where "old" entries were still shown as if the database had not been reset.

7) IMPROVED: Modified all SQLite3 calls to capture and log errors in the system log.

8) IMPROVED: Modified SQLite3 configuration parameters to improve the trimming of records from the database and then perform "garbage collection" of deleted entries to reclaim unused space & avoid excessive fragmentation.

9) IMPROVED: Modified SQLite3 configuration parameters to improve the processing of database records.

10) IMPROVED: Modified code to set the corresponding priority level of log entries when calling the built-in logger utility.

11) IMPROVED: Modified the startup call made in the post-mount script to check if the USB-attached disk partition passed as argument has indeed Entware installed.

12) IMPROVED: Added code to check if sufficient JFFS storage space is available before moving database-related files/folders from USB location to JFFS partition. An error message is reported if not enough space is available, and the move request is aborted.

13) IMPROVED: Added code to check if the available JFFS storage space falls below 20% of total space or 10MB (whichever is lower) and report a warning when it does. A warning message is also shown on the SSH CLI menu and WebGUI page.

14) IMPROVED: Added and modified code so that every time the SSH CLI menu is run, it checks if the WebGUI page has already been mounted. If not found mounted, the script will run the code to remount the WebGUI.

15) IMPROVED: Improved code that creates (during installation) and removes (during uninstallation) the "AddOns" menu tab entry for the WebGUI to make sure it checks for and takes into account other add-ons that may have been installed before or were later installed after the initial installation.

15) IMPROVED: Added "export PATH" statement to give the built-in binaries higher priority than the equivalent Entware binaries.

17) IMPROVED: Various code improvements & fine-tuning.

Sample screenshots:

spdMerlin_v4.4.6_CLI_01.jpg


Showing WireGuard interface entries:

spdMerlin_v4.4.6_CLI_02.jpg


spdMerlin_v4.4.6_WebGUI_01.jpg

spdMerlin_v4.4.6_WebGUI_02.jpg

spdMerlin_v4.4.6_WebGUI_03.jpg
 
Just wanted to mention that Wireguard support was added in pieces over 3 PRs including this latest one...

Complications came up since WireGuard is a "stateless" client and doesn't give a clear up and down state, I ended up using the WireGuard handshake as the indicator along with nvram values.

So it's important if you were testing previously, to do the
Code:
forceupdate
command Martinski mentioned above which will grab the latest code for the WireGuard interfaces along with all his additional improvements!
 
I did
Code:
spdmerlin develop
spdmerlin forceupdate
I verified I had the 4.4.6 version.

I have a successful test on WAN, however, when I try any of wireguard interfaces I get the same error:

Code:
Choose an option (e=Exit):  1

Starting speedtest using auto-selected server for WGVPN1 interface

[2025-03-11 19:25:51.370] [error] Configuration - Timeout was reached (TimeoutException)
[2025-03-11 19:25:51.370] [error] Configuration - Cannot retrieve configuration document (0)
[2025-03-11 19:25:51.374] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[2025-03-11 19:25:51.375] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[error] Configuration - Could not retrieve or read configuration (ConfigurationError)
Error running speedtest for WGVPN1

Retrieving data for WebUI charts...

Press <Enter> key to continue...

Should I uninstall the entire add-on install it again using only the develop branch?
 
Should I uninstall the entire add-on install it again using only the develop branch?

Yes, uninstall and reinstall since it absolutely functions fine since the latest PRs. Not sure where your update went wrong or isn't functioning.

You don't need to "only" install using the develop branch. Just uninstall and reinstall like normal through AMTM and follow Martinskis instructions to update to develop again, and report back.
 
Had to do this too, then saw the WGVPN interfaces. When I reinstalled and went back on the develop branch. Deleted the config and Database to be sure when uninstalling, but didn't check it before getting on the develop branch again...
 
Had to do this too, then saw the WGVPN interfaces. When I reinstalled and went back on the develop branch. Deleted the config and Database to be sure when uninstalling, but didn't check it before getting on the develop branch again...

Good to know, but question to get context, did you do the forceupdate when I submitted original PR by chance? Or only when Martinski announced that it was implemented?

This will help determine if we need to review anything else...
 
Just now when I saw the post, as I was already on the develop branch and did not get the WGVPN interfaces, or the new look, even as I was on 4.4.6 until I just did the uninstall/reinstall.

Let me add that there were a couple of timeout messages on the inital test, and did see a message during the install about updating the DB even as I wiped them during the uninstall.
 
Just now when I saw the post, as I was already on the develop branch and did not get the WGVPN interfaces, or the new look, even as I was on 4.4.6 until I just did the uninstall/reinstall.

Hmmm sounds like something else may need a review for the update process then.

I was thinking maybe if someone updated to the develop branch while we were still working at troubleshooting maybe it could cause a conflict or issue in the configuration.

But it shouldn't need a full uninstall and reinstall to reflect the new look and interfaces. I wonder if you rebooted if it would reflect the changes. I'll test this report more and advise back.
 
Hmmm sounds like something else may need a review for the update process then.

I was thinking maybe if someone updated to the develop branch while we were still working at troubleshooting maybe it could cause a conflict or issue in the configuration.

But it shouldn't need a full uninstall and reinstall to reflect the new look and interfaces. I wonder if you rebooted if it would reflect the changes. I'll test this report more and advise back.
No I rebooted just recently and was already on the develop branch for a bit, which is why reading the initial post on the reinstall I followed suit, and then saw the new look and interfaces.
 
No I rebooted just recently and was already on the develop branch for a bit, which is why reading the initial post on the reinstall I followed suit, and then saw the new look and interfaces.

So interestingly; I just tried to replicate; I can't replicate when going from production 4.4.5 to the current 4.4.6 (which is why your reinstalls are working)
But I also can't replicate if I go from the old 4.4.6 (before all the changes) to the current 4.4.6... I'll have a side discussion with @Martinski and see if we poke at this some more and track down the cause.

Odd ball for sure; did any of you guys with this behavior/issue have a backup/old copy of your spdmerlin config by chance?
 
So interestingly; I just tried to replicate; I can't replicate when going from production 4.4.5 to the current 4.4.6 (which is why your reinstalls are working)
But I also can't replicate if I go from the old 4.4.6 (before all the changes) to the current 4.4.6... I'll have a side discussion with @Martinski and see if we poke at this some more and track down the cause.

Odd ball for sure; did any of you guys with this behavior/issue have a backup/old copy of your spdmerlin config by chance?
BACKUPMON to the rescue ;) 👍
 
BACKUPMON to the rescue ;) 👍

Share via DM if you wouldn't mind! :)

Uploading them somewhere temporarily is good for us, I'll share with me and Martinski and see if we can give you any explanation.
 
Share via DM if you wouldn't mind! :)

Uploading them somewhere temporarily is good for us, I'll share with me and Martinski and see if we can give you any explanation.
Done!
 
...
Code:
...
[2025-03-11 19:25:51.370] [error] Configuration - Timeout was reached (TimeoutException)
[2025-03-11 19:25:51.370] [error] Configuration - Cannot retrieve configuration document (0)
[2025-03-11 19:25:51.374] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[2025-03-11 19:25:51.375] [error] ConfigurationError - Could not retrieve or read configuration (Configuration)
[error] Configuration - Could not retrieve or read configuration (ConfigurationError)
Error running speedtest for WGVPN1
...

This type of "Configuration Error" message seems to indicate that your router is having problems connecting to or reaching the Ookla server to obtain the requested configuration file.

You can try the following to check & verify if your router is able to connect to the Ookla server:

1) Go to the SSH CLI menu and select option 2.
2. Choose a preferred server for an interface

2) Select the WireGuard interface you want to run the speed test with (e.g. WGVPN1)

3) On the next menu, select option 2.
2) Set preferred server - currently: xxxxx

4) At this point you should see the following message:
Generating list of closest servers for WGVPNx...
Followed by a list of available servers to choose from.

If you do get a list of servers without any errors then you're reaching the Ookla server just fine. However, if you get any errors it means your router is having issues contacting the Ookla server. The root cause might be a DNS issue or something else blocking access to the server.

Now, exit completely from the CLI menu, and on the SSH terminal window, copy & paste the following set of commands (including the enclosing curly braces), and post the results:
Bash:
{
  printf "\nPING1:\n------\n"
  ping -c 4 www.speedtest.net
  printf "\nNSLOOKUP:\n---------\n"
  nslookup www.speedtest.net
  IPaddr="$(nslookup www.speedtest.net | tail -n1 | \
            awk -F ' ' '{print $3}' | grep -E '^([0-9]{1,3}\.){3}([0-9]{1,3})$')"
  if [ -n "$IPaddr" ]
  then
     printf "\nPING2:\n------\n"
     ping -c 4 "$IPaddr"
  fi
}

Finally, go back to the CLI menu and select option 9 to toggle which executable to use for speedtest: from the built-in to the external CLI binary:
9. Toggle between built-in Ookla speedtest and speedtest-cli
After switching which speedtest binary to use, run the same speed test again with the WireGuard interface and post all the resulting messages.

HTH.
 

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!
Back
Top