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!

scMerlin scMerlin 2.5.10 - Service and script control menu for Asuswrt-Merlin, March 2, 2025

Unfortunately, I don't own or have direct access to a BE-class router for developing purposes so that makes debugging this kind of "incompatibility issues" rather difficult (if not impossible).

Hopefully, someone else with a BE router can take a look at these types of problems.

@Martinski

Hey buddy, so because we are working on the WebUI for MerlinAU, you happened to direct me to this thread in our latest PR; and I noticed the problems being discussed with the sitemap.
I've gone ahead and fixed it in 3006 and will submit a PR to your repo shortly with the fix.

1739505593957.png


In short; On 3004 firmware, the router’s JavaScript populates a global array myMenu as soon as you call show_menu().
Therefore, the original code just checked if(myMenu.length == 0) ... retry and then called GenerateSiteMap(...) once myMenu was non‐empty.

However, on 3006 firmware, ASUS changed how they store menu data. They seem to now use:
Code:
Session.set("menuList.", menuTree.list);
in state.js rather than assigning to the global myMenu.

As a result, myMenu never gets populated automatically, so the old check (if(myMenu.length == 0) ... retry) would loop forever on 3006.

Code:
DEBUG: show_menu() is defined. Calling it now..
DEBUG: Now calling LoadSiteMap()...
DEBUG: Entering LoadSiteMap()...
DEBUG: menuList or menuExclude not ready; retry in 1s...
DEBUG: Added click event listener to #sitemap_showurls
DEBUG: Entering LoadSiteMap()...
DEBUG: menuList or menuExclude not ready; retry in 1s...
DEBUG: Entering LoadSiteMap()...
DEBUG: menuList or menuExclude not ready; retry in 1s..
DEBUG: Entering LoadSiteMap()..
DEBUG: menuList or menuExclude not ready; retry in 1s...

My PR works on both 3004 and 3006 by using a hybrid of both approaches:
  • First checks if myMenu is already populated (the 3004 way).
  • If not, it tries to pull menuList. from Session (the 3006 way).
  • Then it sets myMenu (and menuList, if needed) so GenerateSiteMap(...) will see the data regardless of firmware version.
Edit: Opened PR: https://github.com/Martinski4GitHub/scMerlin_TLC/pull/1
 
Last edited:
@Martinski minor cosmetic issue when I run scMerlin 2.5.9 from AMTM or command line ... not a biggy but thought I'd note it for completeness?

On my trusty RT-AX86U I get the following errors, probably because I run with both wifi channels disabled (I have separate access points, AX86U just does everything else).

Code:
**ERROR**: Could not find 'Chanspec' for WiFi Interface [eth6].

**ERROR**: Could not find 'Chanspec' for WiFi Interface [eth7].

See screen shot as well.

Screenshot 2025-02-14 at 15.02.40.png



They DO show correctly as disabled in the GUI however ...

Screenshot 2025-02-14 at 15.09.08.png


Cheers,

StephenH
 
...
My PR works on both 3004 and 3006 by using a hybrid of both approaches:
  • First checks if myMenu is already populated (the 3004 way).
  • If not, it tries to pull menuList. from Session (the 3006 way).
  • Then it sets myMenu (and menuList, if needed) so GenerateSiteMap(...) will see the data regardless of firmware version.
Edit: Opened PR: https://github.com/Martinski4GitHub/scMerlin_TLC/pull/1
Great job, bud!! I'll take a look tomorrow evening and then test & validate on my 2 network routers (with 3004.386.* & 3004.388.* F/W).
 
@Martinski minor cosmetic issue when I run scMerlin 2.5.9 from AMTM or command line ... not a biggy but thought I'd note it for completeness?

On my trusty RT-AX86U I get the following errors, probably because I run with both wifi channels disabled (I have separate access points, AX86U just does everything else).

Code:
**ERROR**: Could not find 'Chanspec' for WiFi Interface [eth6].

**ERROR**: Could not find 'Chanspec' for WiFi Interface [eth7].
Ah, good catch! I know where & what the problem is. I'll take a look tomorrow to fix it.
Thanks.
 
Release Notes for scMerlin 2.5.10 version (now available):

1) Improved code that checks for Wi-Fi radios being enabled or disabled when getting the temperature status.
Thanks to @Stephen Harrington for reporting the use case.

2) Improved code that creates (during installation) and removes (during uninstallation) the "Addons" menu 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.

3) Fixed "Sitemap" webpage for 3006.102.x F/W versions.
Thanks to @ExtremeFiretop for providing the fix, and to @AlexHK & @Ripshod for reporting the problem.
 

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!

Staff online

Back
Top