What's new

scMerlin scMerlin v2 - Service and script control menu for AsusWRT-Merlin

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

I have noticed the following discrepancy with my new GT-AX6000 (displaying fine with my old RT-AC86U):
Confirming same issue with my RT-AX86U, displaying fine in scMerlin cli, but just blank in web page.
 
Does anything show up in browser console logs?
In my case @Jack Yaz :

1671672909467.png
 
Does anything show up in browser console logs?
Does this help at all?

Code:
Uncaught ReferenceError: curr_coreTmp_2_raw is not defined
    at Object.success (user5.asp:91:37)
    at c (jquery.js:2:28294)
    at Object.fireWith [as resolveWith] (jquery.js:2:29039)
    at l (jquery.js:2:79800)
    at XMLHttpRequest.<anonymous> (jquery.js:2:82254)
 
Does this help at all?

Code:
Uncaught ReferenceError: curr_coreTmp_2_raw is not defined
    at Object.success (user5.asp:91:37)
    at c (jquery.js:2:28294)
    at Object.fireWith [as resolveWith] (jquery.js:2:29039)
    at l (jquery.js:2:79800)
    at XMLHttpRequest.<anonymous> (jquery.js:2:82254)
Hi Stephen, we have both the same reported issues...
 
I found a stupid solution to the blank temperature display🥹🥹
search ”update_temperatures“ in "/jffs/addons/scmerlin.d/scmerlin_www.asp",Then open the website according to "url: '/ajax_coretmp.asp' ".(e.g. http://192.168.1.1/ajax_coretmp.asp)
Compare the temperature on the page with the "amtm ==> scMerlin ==> t ",distinguish function meaning.(for me:curr_coreTmp_wl0_raw ==> 2.4 GHz,curr_coreTmp_wl1_raw ==> 5 GHz)
Modify the content under ”function update_temperatures(){“
(for me:curr_coreTmp_2_raw ==> curr_coreTmp_wl0_raw,<b>5 GHz:</b> <span>' + curr_coreTmp_5_raw ==> <b>5 GHz:</b> <span>' + curr_coreTmp_wl1_raw )
Finally, remember to modify the content in the mapping file /www/user/user*.asp.

I suspect this error may be because different firmware versions modify the name of the temperature function, too many versions, different hardware, too much confusion.
 
It’s pretty light on memory. Only runs when invoked and is more a series of shell commands for many of us that don’t remember the proper arguments to the “service” command.

It’s the first thing I install when I setup a router.
 
I found a stupid solution to the blank temperature display🥹🥹
search ”update_temperatures“ in "/jffs/addons/scmerlin.d/scmerlin_www.asp",Then open the website according to "url: '/ajax_coretmp.asp' ".(e.g. http://192.168.1.1/ajax_coretmp.asp)
Compare the temperature on the page with the "amtm ==> scMerlin ==> t ",distinguish function meaning.(for me:curr_coreTmp_wl0_raw ==> 2.4 GHz,curr_coreTmp_wl1_raw ==> 5 GHz)
Modify the content under ”function update_temperatures(){“
(for me:curr_coreTmp_2_raw ==> curr_coreTmp_wl0_raw,<b>5 GHz:</b> <span>' + curr_coreTmp_5_raw ==> <b>5 GHz:</b> <span>' + curr_coreTmp_wl1_raw )
Finally, remember to modify the content in the mapping file /www/user/user*.asp.

I suspect this error may be because different firmware versions modify the name of the temperature function, too many versions, different hardware, too much confusion.
That worked perfect for my RT-AX88U!
 
Dear Jack Yaz, if you can, please add Wireguard support to this addon so that Wireguard clients and servers are displayed in the web-interface like openvpn clients and servers.
 
How do you uninstall the graphical changes on the router GUI implemented by scMerlin? I have uninstalled scMerlin, but the Sitemap tab is still there on the Addons page and the popups are still there as you hover over the tabs on the left side of the router GUI.
Seeing, what I assume is, the same post uninstall of scMerlin on 388.2_2. See it in Brave, Edge, Firefox. Have rebooted the router and done CTRL+F5 on the browser(s). @Jack Yaz Any way to "fix" it so those mouse over tool tips no longer show? I.e. what code, script, etc (I'm looking through the GitHub stuff now) handles those mouse over's so it can be removed after uninstalling scMerlin?
tooltip.jpg


The Add-Ons menu option goes away post router reboot after uninstalling scMerlin (and assuming no other add-ons in that menu selection are present on the system).
 
Last edited:
I found a stupid solution to the blank temperature display🥹🥹
search ”update_temperatures“ in "/jffs/addons/scmerlin.d/scmerlin_www.asp",Then open the website according to "url: '/ajax_coretmp.asp' ".(e.g. http://192.168.1.1/ajax_coretmp.asp)
Compare the temperature on the page with the "amtm ==> scMerlin ==> t ",distinguish function meaning.(for me:curr_coreTmp_wl0_raw ==> 2.4 GHz,curr_coreTmp_wl1_raw ==> 5 GHz)
Modify the content under ”function update_temperatures(){“
(for me:curr_coreTmp_2_raw ==> curr_coreTmp_wl0_raw,<b>5 GHz:</b> <span>' + curr_coreTmp_5_raw ==> <b>5 GHz:</b> <span>' + curr_coreTmp_wl1_raw )
Finally, remember to modify the content in the mapping file /www/user/user*.asp.

I suspect this error may be because different firmware versions modify the name of the temperature function, too many versions, different hardware, too much confusion.

I followed the instructions until I got to the line:
Finally, remember to modify the content in the mapping file /www/user/user*.asp.
I have no idea what to do there. I found the user*.asp files and I just don't know enough to understand. I am not a programmer, but do have Linux hobby 'user' experiance. Thanks for any help since I feel I'm half way there.
 
I have noticed the following discrepancy with my new GT-AX6000 (displaying fine with my old RT-AC86U):

View attachment 46503
@qwerqaz, @Ripshod, @vlord, @Jeff-, @ColDen, @Stephen Harrington, @Bogey, et al:

You've reported the issue with the "missing temperatures" on the scMerlin webGUI page, so I'm here requesting a copy of your router’s "/www/ajax_coretmp.asp" file so I can implement a fix. See this post for further info.


Thanks.
 
As requested for my GT-AX6000:

1685641392382.png


curr_coreTmp_wl0_raw = "48°C"; curr_coreTmp_wl0 = (curr_coreTmp_wl0_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl0_raw.replace("°C", "")); curr_coreTmp_wl1_raw = "49°C"; curr_coreTmp_wl1 = (curr_coreTmp_wl1_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl1_raw.replace("°C", "")); curr_coreTmp_wl2_raw = "disabled"; curr_coreTmp_wl2 = (curr_coreTmp_wl2_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl2_raw.replace("°C", "")); curr_coreTmp_wl3_raw = "disabled"; curr_coreTmp_wl3 = (curr_coreTmp_wl3_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl3_raw.replace("°C", "")); curr_cpuTemp = "63.659"; fanctrl_info = "";
 
Found it:
Code:
curr_coreTmp_wl0_raw = "<% sysinfo("temperature.0"); %>";
curr_coreTmp_wl0 = (curr_coreTmp_wl0_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl0_raw.replace("&deg;C", ""));
curr_coreTmp_wl1_raw = "<% sysinfo("temperature.1"); %>";
curr_coreTmp_wl1 = (curr_coreTmp_wl1_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl1_raw.replace("&deg;C", ""));
curr_coreTmp_wl2_raw = "<% sysinfo("temperature.2"); %>";
curr_coreTmp_wl2 = (curr_coreTmp_wl2_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl2_raw.replace("&deg;C", ""));
curr_coreTmp_wl3_raw = "<% sysinfo("temperature.3"); %>";
curr_coreTmp_wl3 = (curr_coreTmp_wl3_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl3_raw.replace("&deg;C", ""));
curr_cpuTemp = "<% get_cpu_temperature(); %>";
fanctrl_info = "<% get_fanctrl_info(); %>
 
Last edited:
Not sure if I have this right. This is an extract from /jffs/addons/scmerlin.d/scmerlin_www.asp
Code:
function update_temperatures(){
    $j.ajax({
        url: '/ajax_coretmp.asp',
        dataType: 'script',
        error: function(xhr){
        update_temperatures();
    },
    success: function(response){
        code = '<b>2.4 GHz:</b><span> ' + curr_coreTmp_2_raw + '</span>';
        if(wl_info.band5g_2_support){
            code += '&nbsp;&nbsp;-&nbsp;&nbsp;<b>5 GHz-1:</b> <span>' + curr_coreTmp_5_raw + '</span>';
            if(typeof curr_coreTmp_52_raw == 'undefined' || curr_coreTmp_52_raw == null){
                curr_coreTmp_52_raw = 'N/A'
            }
            code += '&nbsp;&nbsp;-&nbsp;&nbsp;<b>5 GHz-2:</b> <span>' + curr_coreTmp_52_raw + '</span>';
        }
        else if(band5g_support){
            code += '&nbsp;&nbsp;-&nbsp;&nbsp;<b>5 GHz:</b> <span>' + curr_coreTmp_5_raw + '</span>';
        }
  
        var CPUTemp = '';
        if(typeof curr_cpuTemp === 'undefined' || curr_cpuTemp === null){
            CPUTemp = curr_coreTmp_cpu;
        }
        else{
            CPUTemp = curr_cpuTemp;
        }
  
        if(CPUTemp != ''){
            code +='&nbsp;&nbsp;-&nbsp;&nbsp;<b>CPU:</b> <span>' + parseInt(CPUTemp) +'&deg;C</span>';
        }
        document.getElementById('temp_td').innerHTML = code;
        setTimeout(update_temperatures, 3000);
        }
    });
}
I think that he want the output of http://192.168.50.1/ajax_coretmp.asp (like I did) or http://192.168.1.1/ajax_coretmp.asp (depending of your router logon URL) from your browser instead.
 
Last edited:
I think that he want the output of http://192.168.50.1/ajax_coretmp.asp (like I did) or http://192.168.1.1/ajax_coretmp.asp (depending of your router logon URL) from your browser instead.
Found that too
Code:
curr_coreTmp_wl0_raw = "48°C"; curr_coreTmp_wl0 = (curr_coreTmp_wl0_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl0_raw.replace("°C", "")); curr_coreTmp_wl1_raw = "48°C"; curr_coreTmp_wl1 = (curr_coreTmp_wl1_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl1_raw.replace("°C", "")); curr_coreTmp_wl2_raw = "disabled"; curr_coreTmp_wl2 = (curr_coreTmp_wl2_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl2_raw.replace("°C", "")); curr_coreTmp_wl3_raw = "disabled"; curr_coreTmp_wl3 = (curr_coreTmp_wl3_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl3_raw.replace("°C", "")); curr_cpuTemp = "71.401"; fanctrl_info = "";

Although /www/ajax_coretmp.asp does physically exist. I may have been right(?).
 
Last edited:
Found that too
Code:
curr_coreTmp_wl0_raw = "48°C"; curr_coreTmp_wl0 = (curr_coreTmp_wl0_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl0_raw.replace("°C", "")); curr_coreTmp_wl1_raw = "48°C"; curr_coreTmp_wl1 = (curr_coreTmp_wl1_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl1_raw.replace("°C", "")); curr_coreTmp_wl2_raw = "disabled"; curr_coreTmp_wl2 = (curr_coreTmp_wl2_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl2_raw.replace("°C", "")); curr_coreTmp_wl3_raw = "disabled"; curr_coreTmp_wl3 = (curr_coreTmp_wl3_raw.indexOf("disabled") > 0 ? 0 : curr_coreTmp_wl3_raw.replace("°C", "")); curr_cpuTemp = "71.401"; fanctrl_info = "";

Although /www//ajax_coretmp.asp does exist. I may have been right(?).
Your output look like mine...
 
Except the CPU temp
Which means that the GT-AX6000 and RT-AX88U (and possibly also the RT-AX86U) uses the same sensor functions which should simplify the required modifications for Martinski.
 

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