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.4.14 [2025-Jul-12] - Internet Speedtest and Monitoring Tool for AsusWRT Merlin

I totally agree. It's good to hear other opinions


I apologize for any inconvenience!
No worries, and there's no need to apologize. We simply have a different perspective; no harm was done, and you have nothing to apologize for.
 
I just split my scroll screenshot into 3 proper screenshots in the original post. If you or any other user would ever need it.
Yes, those new screenshots are absolutely much better. Now, I assume that all 3 were taken *after* the problem had already occurred. Perhaps you can provide the output of the shell script now, while the problem still exists, and before you try to recreate it. There might still be some clues there.
 
while the problem still exists, and before you try to recreate it. There might still be some clues there.
I tried to reproduce the problem but didn't succeed after a few tries. I'll try to figure it out as soon as possible.

Anyhow, I've got hundreds of SQLite error lines during one of my trials. I'll send you a DM with the error log from spdMerlin and the two debug outputs from the shell script you provided. I believe the logged errors are very related to the loss of configuration and data, and maybe I'll lose them in a couple of hours of automatic speed tests, because of all the errors that have happened.
 
Last edited:
I tried to reproduce the problem but didn't succeed after a few tries. I'll try to figure it out as soon as possible.

Anyhow, I've got hundreds of SQLite error lines during one of my trials. I'll send you a DM with the error log from spdMerlin and the two debug outputs from the shell script you provided. I believe the logged errors are very related to the loss of configuration and data, and maybe I'll lose them in a couple of hours of automatic speed tests, because of all the errors that have happened.
Whenever you get SQLite3 errors, please provide the separate SQLite log file along with the syslog messages that you've already provided. This separate debug log file includes more details.

Debug logfile default location: /opt/share/tmp/
 
Hello again, and excuse me for the very long delay in this issue update.
Back in the time when I first reported the complete data loss issue, and before having enough time to do more troubleshooting and pin-point the bug by reproducing the problem, real-life drama kicked-in and took my concentration far away, well, at least for a while only.

Now back to the issue, I had a few spdMerlin's complete data loss incidents and was able to unintentionally reproduce the reported issue a few times, but without taking any notes of the exact steps that led to the exact same issue. Moreover, one of the quick troubleshooting times I spent back then, led to spdMerlin producing an endless number of SQLite errors after making a manual speed test.

At the very end, after a few quick troubleshooting tries, utilizing installing and uninstalling the script a few times, I ended up being unable to even reinstall spdMerlin where I got endless SQLite errors within the install process, noting that I tried to install it from within AMTM, but this is absolutely unrelated to the issue.

Currently, I have a super unstable internet connection throughout the day (due to a country-wide network congestion), though it gets better at night. So, for best results, I manually deleted all residue script files, both from JFFS and USB, before making a clean install two days ago.

Now, I'm inspecting the following issues that all seem (at least to me) to be related to the same bug:

1- Automatic speed test for interface VPNC1 (the only one I use) gets re-enabled every time I disable it in the script's config, most probably with every WAN disconnection, hence probably with every OpenVPN event. I'm working on figuring it out...

2- For the mean time, I'm avoiding changing any script configuration from the Web GUI, because since I first reported the issue, every time I reproduced the issue was when I changed config from the Web GUI. It might not be related at all, but I'm trying to rule out more scenarios. I'll work again on reproducing the complete data loss issue right after figuring out what exactly is repeatedly re-enabling VPNC1 automatic speed test.

3- Endless SQLite errors back then seemed to appear after I started having complete data losses, so I'll begin troubleshooting this after getting done with the previous two points of inspection.


I'll post any updates here as soon as I have exact details and issue reproduction steps!
 
After many hours of troubleshooting, code understanding, fixing, testing, and then doing my very first code commit in GitHub.
Finally, I submitted my very first pull request to the develop branch of spdMerlin script to address the bug of losing the "excluded" mark on interfaces when their status switch between up and down, with a minor improvement to relevant code.

Next, I'll start troubleshooting the data loss issue.. after a good break!
 
After many hours of troubleshooting, code understanding, fixing, testing, and then doing my very first code commit in GitHub.
Finally, I submitted my very first pull request to the develop branch of spdMerlin script to address the bug of losing the "excluded" mark on interfaces when their status switch between up and down, with a minor improvement to relevant code.

Next, I'll start troubleshooting the data loss issue.. after a good break!

Hi @Tarek Yag

I saw this message and went to check OSR to start a quick code review and noticed no pull requests opened (or closed) against OSR.
Just an FYI in case your waiting on something, we don't see any pull request on our end.

Thanks!
 
@ExtremeFiretop Thank you for informing me about this.
As this is my very first time making a contribution in GitHub, would you please just tell me where should I start editing the file and in which repo exactly to submit the pull request correctly?
The change right now is in a fork I had to create within my account, as I got told that I have no write access to the repository, so I'm a bit lost, a mini good hint would get me right on track.
You’re making changes in a project you don’t have write access to. Submitting a change will write it to a new branch in your fork tarek-yag/spdMerlin, so you can send a pull request.
 
@ExtremeFiretop Thank you for informing me about this.
As this is my very first time making a contribution in GitHub, would you please just tell me where should I start editing the file and in which repo exactly to submit the pull request correctly?
The change right now is in a fork I had to create within my account, as I got told that I have no write access to the repository, so I'm a bit lost, a mini good hint would get me right on track.

Sure; it can be a bit intimating when you get started.
Let me literally do a "explain it like I'm 5" version and bare with me if I explain something you already knew or have done.

1. Start by going to the desired repo and clicking "Fork" at the top of the page as seen below:
1756995878135.png


2. You'll notice this is creating a duplicate of the code in your own account.
- Make sure to UN-Select the "copy the master branch only" as you want both develop and master to play with.
1756995951532.png


3. Once it's done forking you'll find on your account the repo/project along with all the branches of the code.
- Make sure to select "Develop" to make your changes.
1756996024136.png


4. Once you've made your desired changes in the develop branch, click on "Compare & Pull Request" if the button is missing, you can also click on the "x commit ahead" as identified below.
- In my example below, I only edited the readme to add the word "TEST" and nothing else.
1756996087143.png


5. After clicking the "Compare & pull request" button or the "x commit ahead" you'll find this comparison screen below outlining all the changes and where to submit them.
1756996297879.png


6. Make sure before you click "Create Pull Request" that you include a title, a description of the change, and that it's going from your personal develop branch, to the upstream develop branch.
- This allows you to essentially "hand off" or "pass on" the develop changes upstream to the main repo, without it going directly into production.

Once we accept the pull request, the changes will be also found in our develop branch and will be "In Sync" with yours.
This allows us to review the code, test or modify as needed before pushing to production.

If you make your changes in your master branch and try to open a pull request against our master branch, it will automatically be denied by our workflow as we don't allow changes from outsiders to go straight to production.
Hope that clarifies!
 
Sure; it can be a bit intimating when you get started.
Let me literally do a "explain it like I'm 5" version and bare with me if I explain something you already knew or have done.
Thanks a lot for the big help! I just submitted it successfully!
I figured out that I was missing the very last step only :rolleyes:😅

User Interfaces get misleading sometimes when you're not very familiar with the environment, I had everything ready earlier even the subject and description of the pull request, I just missed the exact page where to submit the pull request after I left it the first time.
There are too many ways to go through!

If you make your changes in your master branch and try to open a pull request against our master branch, it will automatically be denied by our workflow as we don't allow changes from outsiders to go straight to production.
Noted. I expected this by myself when I re-prepared my pull request to be my official first! 😎
Well, this is a nice software developing methodology. Good luck everyone on board!
 
Thanks a lot for the big help! I just submitted it successfully!
I figured out that I was missing the very last step only :rolleyes:😅

User Interfaces get misleading sometimes when you're not very familiar with the environment, I had everything ready earlier even the subject and description of the pull request, I just missed the exact page where to submit the pull request after I left it the first time.
There are too many ways to go through!

I fully understand and no worries. I can confirm I immediately got email notified as soon as you opened the PR against OSR. So seems you got it right this time 😉

I myself almost exclusively used the GitHub website and it's interface for MerlinAU up until I started helping with OSR and realized it was a bit of a mess to handle multiple projects.

I now mostly use the GitHub CLI or the GitHub Desktop app. Both of which can do any of the steps identified above, and more.

Sometimes there's some tasks that simply cannot be done through either the GitHub Desktop app or the GitHub webpages. In those instances, you need to use the GitHub CLI commands which are the most powerful to get the desired result. However as with anything, more power can mean more potential mistakes.

Noted. I expected this by myself when I re-prepared my pull request to be my official first! 😎
Well, this is a nice software developing methodology. Good luck everyone on board!

Happy you understand. We made the call early on to allow people to contribute freely to the develop branches, but you need to be apart of OSR to do anything with the master branches, it's just safer that way for everyone involved.
 

Similar threads

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