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.15 [2025-Nov-07] - Internet Speedtest and Monitoring Tool for AsusWRT Merlin

Just gone through 5 reboots - no error.
Thank you for your generosity 😂

@alan6854321, I just did a full reboot too and there's no trace of an issue in my router as well.

I've gone ahead and did a very quick spdMerlin code review. I found out -to my surprise- that force update, and update processes DO NOT check for the existence of the startup command line the script needs at router's boot up, or to be more specific, after a USB disk is mounted. This command is responsible for spdMerlin to make everything work properly.
@ExtremeFiretop, please collaborate with me on this.

Alan, back again to the issue you are experiencing, I can bet that you're missing the one-liner command of spdMerlin in your "post-mount" script file (which is executed when mounting your USB disk). This is the very first and only reason I can think of right now, which corollate with your issue description so far.

Please check that you have the following line in the script /jffs/scripts/post-mount
Code:
[ -x "${1}/entware/bin/opkg" ] && [ -x /jffs/scripts/spdmerlin ] && /jffs/scripts/spdmerlin startup "$@" & # spdMerlin
If not, then adding this line should simply resolve the whole issue for you.

If this actually fixes the whole issue for you, I'd proceed with suggesting a decent fix to the developers.
Please report back as soon as possible.
 
@ExtremeFiretop, please collaborate with me on this.

Hi @Tarek Yag
How can I be of assistance? :D

1762996679871.png


I've gone ahead and did a very quick spdMerlin code review. I found out -to my surprise- that force update, and update processes DO NOT check for the existence of the startup command line the script needs at router's boot up, or to be more specific, after a USB disk is mounted. This command is responsible for spdMerlin to make everything work properly.

I'm I correct to assume your suggestion may be to add a call to the Auto_Startup function while passing the variable "create" within the Update_Version function? Or something similar?
 
Last edited:
Hi @Tarek Yag
How can I be of assistance? :D
Hey buddy!
I really liked the Simpsons image you put out, it made me laugh for real. It perfectly resembles the current reality! 😂

your suggestion may be to add a call to the Auto_Startup function while passing the variable "create" within the Update_Version function? Or something similar?
Yep, exactly! The best way you figure out to make sure that the auto startup line does actually exist, when both updating or force updating spdMerlin.
And an addition by me, I'd really like to make a remnant files check in the same process too. You already know the catch with this, especially that I believe "poor" @Ripshod still has a "csv" folder and a ".interfaces.bak" file in his own spdMerlin's JFFS storage location 😆
I'm not a genie LOL, just check his previous post here

I'm up for whatever idea you come up with, and whether we need to get Martinski involved in this change of behavior.
And if I'm to be extra noisy and make more trouble in our community, I'd like to see these changes in all OSR Team scripts too as a sort of making sure each script is well setup and clean. (Psst.. maybe with some credit for this in the upcoming versions) :rolleyes:😂
 
Last edited:
Yep, exactly! The best way you figure out to make sure that the auto startup line does actually exist, when both updating or force updating spdMerlin.

While I am not against the idea of adding a check and validation for the existence of the startup line existing within post-mount when updating, it does beg the question why it would be required.
Is this a user mistake of some kind to delete post-mount or it's contents? How did it go missing in the first place?

We firstly need validation that is the issue from the user, but additionally we should try to review any possible cracks that would cause the line to go missing in the first place.
Root cause could be something as simple as the user deleted the line or the file, or some other piece of code did, but if it's something wrong with spdmerlin itself it should be identified.

@alan6854321 did you happen to try installing any other scripts recently? or uninstall any other scripts recently?
 
@ExtremeFiretop, I do agree with every point you raised in your latest reply.

I just want to talk about something very related that happened to me back in the early days of experimenting and "playing" with AMTM and all the great scripts I use today.
One day I wanted to put a few seconds delay between starting up each Merlin script, so that they always start and mount their Web UI pages in the exact same order.
To implement my idea, I tried to put the command "sleep 10 && " before each line of script startup command in the post-mount script. Some or maybe all (I can't really remember) deleted the altered startup command and put again a fresh new standard command, thus totally losing my preceding sleep command. I know this is a great and totally fine behavior and I totally recommend it.

Today, I have these same "sleep" commands in separate lines before each script call, while maintaining the standard commands of all the scripts I use, and delay their startup at the same time.
So, the idea of checking and "repairing" these commands does already exist. So I thought earlier, and expressed today, why not implementing the idea of checking the existence (not only repairing) the startup command?

After all of this talking, just like you, I still want and insist on knowing the final result of the reported issue by Alan.
 
@alan6854321 did you try the develop version from the other thread?
(Post #7 onward)
If not then that's the only difference I can see between my install history and yours. Could it be possible there was a file change for that version that didn't make it to this stable version?
You actually posted this error in there, backing my own exoerience
Clutching at straws here now.
 
did you try the develop version from the other thread?
No, I've never used the developer version at all.
@Tarek Yag Here is my post-mount file, how does it look?

Code:
cat /jffs/scripts/post-mount
#!/bin/sh
swapon /tmp/mnt/USB_120GB/myswap.swp # Added by amtm
. /jffs/addons/amtm/mount-entware.mod # Added by amtm
. /jffs/addons/diversion/mount-entware.div # Added by amtm
(sleep 30 && /jffs/scripts/tailmon.sh -screen) & # Added by tailmon

[ -x "${1}/entware/bin/opkg" ] && [ -x /jffs/scripts/spdmerlin ] && /jffs/scripts/spdmerlin startup "$@" & # spdMerlin

AsusAdmin@RT-AX88U_Pro-0998:/tmp/home/root#
 
Soooo ... what's happening then?
The spdMerlin line was in the post-mount file but it wasn't starting.
 
Is tailmon starting correctly after it's 30 second delay? Any mention of tailmon in the logs?
TBH there's no one else reporting this issue, it't just logical that as tailmon is just before spdMerlin that would be something to look at(?).
 
We would need to see the system logs to see where it's stalling.
 
Tailmon starts fine and starts the tailscale binary.
What would happen if I just ran the post-mount script in a terminal, would it cause problems?
I might see what's going wrong.
 
Tailmon starts fine and starts the tailscale binary.
What would happen if I just ran the post-mount script in a terminal, would it cause problems?
I might see what's going wrong.

Did you validate everything is working correctly with your entware installation?
 
Did you validate everything is working correctly with your entware installation?
I don't know how to do that.
The swap file is there on sysInfo, but never seems to be used.
 
I don't know how to do that.
The swap file is there on sysInfo, but never seems to be used.

Swap file is unrelated to entware. Start through AMTM.
1. is entware installed? What version is installed (check screenshot below)
2. If you run the "ep" option, then option "1" does it find any updates available?
3. You can try doing the command "opkg update" to see if it runs as expected or updates anything.
4. Finally you can try the entware repair option (option 4) if something does not run as expected:

1763037050723.png


Otherwise as I've requested above here: https://www.snbforums.com/threads/s...ing-tool-for-asuswrt-merlin.94829/post-975164 we would need to see your system logs after a reboot to identify where it's stalling.
You can send them to me via DM if you rather keep the contents private
 
Here's what I see when I type 'ep'
Code:
Entware package options

 This router runs Entware aarch64-k3.10, release 2025.05
 Server in use: entware.diversion.ch

 See available packages list here:
 https://entware.diversion.ch/aarch64-k3.10/Packages.html

Option 1 gives me
These Entware updates are available:
- tailscale - 1.78.3-1 - 1.82.5-1
(This is the Tailscale binary which is kept up to date by TAILMON)

I didn't try Option 4 as it said it might overwrite some stuff.
I'll send you a syslog file from boot.
 
Tailscale is not being updated by TAILMON. Clearly there's a problem with your TAILMON installation.
 
Here's what I see when I type 'ep'
Code:
Entware package options

 This router runs Entware aarch64-k3.10, release 2025.05
 Server in use: entware.diversion.ch

 See available packages list here:
 https://entware.diversion.ch/aarch64-k3.10/Packages.html

Option 1 gives me
These Entware updates are available:
- tailscale - 1.78.3-1 - 1.82.5-1
(This is the Tailscale binary which is kept up to date by TAILMON)

I didn't try Option 4 as it said it might overwrite some stuff.
I'll send you a syslog file from boot.
Tailscale is not being updated by TAILMON. Clearly there's a problem with your TAILMON installation.

Just as an FYI guys, I did a quick code review and see zero indication that TAILMON updates the tailscale package during regular operations.
No "opkg update" is run, or "opkg install tailscale" is run from the regular main loop, or when -screen called from post-mount.
 
Tailscale is not being updated by TAILMON. Clearly there's a problem with your TAILMON installation.
No that's not so, the latest version is 1.90.6 - installed by TAILMON
Entware is behind this, so I blocked updates from it with "opkg flag hold tailscale"
 
No that's not so, the latest version is 1.90.6 - installed by TAILMON
Entware is behind this, so I blocked updates from it with "opkg flag hold tailscale"

So far; I've narrowed it down based on your logs to the fact that it never even triggers the NTP_Ready function of the code.
I would expect to see the same thing as scMerlin or YazDHCP which does trigger the NTP_Ready function as seen in your logs before:

Code:
Jan  1 00:01:49 YazDHCP_[2836]: Waiting for NTP to sync [60 secs]...
Jan  1 00:01:49 scMerlin_[2883]: Waiting for NTP to sync [60 secs]...

But you get nothing for spdMerlin even though the time is still not synced the moment it's run through post-mount.

Code:
Jan  1 00:02:03 custom_script: Running /jffs/scripts/post-mount (args: /tmp/mnt/USB_120GB)
Jan  1 00:02:03 kernel: Adding 2097148k swap on /tmp/mnt/USB_120GB/myswap.swp.  Priority:-2 extents:14 across:4997116k
Jan  1 00:02:03 Entware: Starting Entware services on /tmp/mnt/USB_120GB
Jan  1 00:02:03 AsusAdmin: Started tailscaled from /jffs/scripts/post-mount.
Jan  1 00:02:03 rc_service: hotplug 4152:notify_rc restart_nasapps
Jan  1 00:02:03 custom_script: Running /jffs/scripts/service-event (args: restart nasapps)
 

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

Staff online

Back
Top