What's new

Kamoj Kamoj Add-on 5.1 Beta testing poll

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

Do you want to beta test Kamoj add-on v5.1b1?

  • No, I don't trust 3rd party software

    Votes: 0 0.0%
  • No, I don't use the Voxel firmware

    Votes: 0 0.0%
  • No, I don't like your add-on

    Votes: 0 0.0%

  • Total voters
    207
I edited my own post so you maybe missed one trick that works for me, and that I was told by Kamoj to test about boxes that dont checks. Try to use google chrome on icognito mode.


@KW. , I appreciate your response, and your direction to the command to remove all of my Kamoj settings. So I uninstalled the add-on, deleted the settings, and reinstalled (with all of the necessary reboots, of course, as prompted by the Kamoj add-on scripts).

Unfortunately, it made no difference. Check boxes still only hold their check marks for an instant, and the "show" radio button still displays only HTML code.

Le sigh!
 
I confirm that the nvram-utile has nothing to do with that, even more so since you did not install the boot fix. All it did for you is save a backup of your settings to the root of the router flash. It did not change any setting or file in your router.

The only other add-on (of sorts) that I have installed is the recent one by @HELLO_wORLD which saves settings. But it isn't fully activated; I have only used it to back up my settings. I therefore assume that it couldn't contribute to these issues.

Thank you for your help.
 
I edited my own post so you maybe missed one trick that works for me, and that I was told by Kamoj to test about boxes that dont checks. Try to use google chrome on icognito mode.

Yes, I missed your note (thank you for the followup). I just tried Chrome/Incognito. No difference. If I check a box in Kamoj settings, it just flashes (I see the check and then it is gone). I wonder whether the check is trying to write to a directory where it is prohibited to write due to erroneous permissions. I haven't changed any permissions; just a guess based upon the behavior.
 
Since you are very experienced you might want to debug the thing? :cool:
If so login to the router command prompt and do as follows:

Code:
touch /var/logs/kamoj.log
#In the GUI check one of the boxes not working
cat /var/logs/kamoj.log
\rm  /var/logs/kamoj.log
#Give me the log output

Have a good day, and thank you all for helping!

PS
You can also go to ADVANCED page using Chrome, enter debug mode with F12, refresh with F5,
and the go Kamoj Menu: Settings and check the box and check for error messages in the debugger!

Yes, I missed your note (thank you for the followup). I just tried Chrome/Incognito. No difference. If I check a box in Kamoj settings, it just flashes (I see the check and then it is gone). I wonder whether the check is trying to write to a directory where it is prohibited to write due to erroneous permissions. I haven't changed any permissions; just a guess based upon the behavior.
 
Last edited:
I ran your test, but the results are confusing.

First I created the log file, and then touched the "Output WiFi devices info to syslog when loading addon debug page" check box. The check mark flashed and disappeared. I then ran "cat /var/logs/kamoj.log", but there was no output. And I looked at the file size before deleting the log. It was "0" bytes (which explains why there was no output).

So I tried again. I created a new log file, and returned to the settings page. Again, I tried to check the box for "Output WiFi devices info to syslog when loading addon debug page". This time the check mark did NOT appear, but rather I immediately was presented with an authentication box (to enter admin + p/w). I entered my credentials, the page refreshed, and I noticed that the check box was NOW checked. I then ran "cat /var/logs/kamoj.log" and the related log file is:

2020-04-28 12:17:33 ------------------------------------------------------------------------------
2020-04-28 12:17:33 kamoj.cgi called: --->addon_toggles=kamoj&wifi_info_to_syslog=on<--- 42 characters
2020-04-28 12:17:33 kamoj.sh: Main called with -addon_toggles=kamoj&wifi_info_to_syslog=on-
2020-04-28 12:17:33 kamoj.sh: addoncmd: addon_toggles
2020-04-28 12:17:33 kamoj.sh: Decode the message: addon_toggles
2020-04-28 12:17:33 kamoj.sh: do_addon_toggles: begin
2020-04-28 12:17:34 kamoj.sh: do_addon_toggles: end
2020-04-28 12:17:34 kamoj.sh: Exiting...

I assume this is what you would want it to be.

But now I can't UNcheck the box (or check any of the others). And when I try, the log file is again 0 bytes. :'(

So, almost all of the time, the GUI commands on the Settings page aren't being implemented. I checked some of your other pages (OpenVPN and Wireguard). I didn't actually try to implement anything (nor did I create log files); I only wanted to see whether I could check and uncheck boxes. I could. So perhaps my issues are limited to the Kamoj Settings page.
 
  • Like
Reactions: KW.
If the log file is empty it means that my code never get the instructions from the GUI.
Can't explain why.

Also the strange thing about enter credentials is strange. That problem others have even with Netgear stock firmware (You can search Netgear forum a.o.).
The remedy for that is to CHANGE password (NOT just enter your old credentials), or it will stay bad until you do.
Maybe this is your/our real problem? Can you change password and see if any change? And use a password without non-alphanumeric characters.
Netgear has had many problems with different character sets through the years and their html code is a "jungle" of tries to fix it.

And never use an old window/tab when trying this out!
Always start with a new tab, recommended to use an incognito tab to be professional.
You never know what "s*t" your browser puts in it's cache, especially if you once have allowed
google to "speed up" you connections by "buffering/caching" things. That mess up a lot of things as well.
But I guess you know already, you don't need to hear this. But maybe some other user can benefit from this knowledge.

For the WiFi-show problem. Make sure there are no strange characters in the device names - also a long being Netgear problem.
E.g. a "*" in the name could destroy "anything"...
And I hope you don't use smart-connect - another dangerous setting what I have read.
But thanks you use Voxel and not Netgear stock code. That saves you many many issues and safety issues. Viva @Voxel!

High cpu load causes timeout in the Netgear web-server!
What is your CPU load? Actually a snapshot of the the Router Information page would give a lot of information about your router!

What language you use in the GUI?

Ok, running out of ideas for now. Exhausted after another tough day in life.
Tomorrow big screening. Hope for good news.

Have a good evening or night or morning!

Sincerely,
Kamoj

PS
Finally, what did the Chrome debug mode say? Any problems detected?

I ran your test, but the results are confusing.

First I created the log file, and then touched the "Output WiFi devices info to syslog when loading addon debug page" check box. The check mark flashed and disappeared. I then ran "cat /var/logs/kamoj.log", but there was no output. And I looked at the file size before deleting the log. It was "0" bytes (which explains why there was no output).

So I tried again. I created a new log file, and returned to the settings page. Again, I tried to check the box for "Output WiFi devices info to syslog when loading addon debug page". This time the check mark did NOT appear, but rather I immediately was presented with an authentication box (to enter admin + p/w). I entered my credentials, the page refreshed, and I noticed that the check box was NOW checked. I then ran "cat /var/logs/kamoj.log" and the related log file is:

2020-04-28 12:17:33 ------------------------------------------------------------------------------
2020-04-28 12:17:33 kamoj.cgi called: --->addon_toggles=kamoj&wifi_info_to_syslog=on<--- 42 characters
2020-04-28 12:17:33 kamoj.sh: Main called with -addon_toggles=kamoj&wifi_info_to_syslog=on-
2020-04-28 12:17:33 kamoj.sh: addoncmd: addon_toggles
2020-04-28 12:17:33 kamoj.sh: Decode the message: addon_toggles
2020-04-28 12:17:33 kamoj.sh: do_addon_toggles: begin
2020-04-28 12:17:34 kamoj.sh: do_addon_toggles: end
2020-04-28 12:17:34 kamoj.sh: Exiting...

I assume this is what you would want it to be.

But now I can't UNcheck the box (or check any of the others). And when I try, the log file is again 0 bytes. :'(

So, almost all of the time, the GUI commands on the Settings page aren't being implemented. I checked some of your other pages (OpenVPN and Wireguard). I didn't actually try to implement anything (nor did I create log files); I only wanted to see whether I could check and uncheck boxes. I could. So perhaps my issues are limited to the Kamoj Settings page.
 
  • Like
Reactions: KW.
Hello Kamoj,

Thank you for your kind response.

Per your request, here is a link to a screenshot of my Router Information (https://1drv.ms/u/s!Auxzgh4QDWDXgakMI1RsU7edND8Jhw)

My GUI is in English. I do not use Smart Connect.

The problem that we call "WiFi Show" isn't limited to WiFi Show; I have the same problem for all 11 "Show" radio buttons in Settings | Router Information. That is, if I click on the Show button, I only see HTML.

Though I don't yet have the solution, my problem has become simple to explain. Taking an action in the GUI is not activating the underlying code. We need to figure out why. :) But it has nothing to do with any of the 4 browsers (and multiple configurations) that I have used to connect to the router to test the issue. The issue is happening entirely inside the router itself. And it only happens in portions of your add-on; I don't recall experiencing a similar issue in any of Voxel's settings pages.

While unresolved, to me this is progress. :)
 
Hello Kamoj,

Thank you for your kind response.

Per your request, here is a link to a screenshot of my Router Information (https://1drv.ms/u/s!Auxzgh4QDWDXgakMI1RsU7edND8Jhw)

My GUI is in English. I do not use Smart Connect.

The problem that we call "WiFi Show" isn't limited to WiFi Show; I have the same problem for all 11 "Show" radio buttons in Settings | Router Information. That is, if I click on the Show button, I only see HTML.

Though I don't yet have the solution, my problem has become simple to explain. Taking an action in the GUI is not activating the underlying code. We need to figure out why. :) But it has nothing to do with any of the 4 browsers (and multiple configurations) that I have used to connect to the router to test the issue. The issue is happening entirely inside the router itself. And it only happens in portions of your add-on; I don't recall experiencing a similar issue in any of Voxel's settings pages.

While unresolved, to me this is progress. :)
And you changed password?
PS
Voxel has no settings pages. They are 99% Netgear stock.
 
And you changed password?
PS
Voxel has no settings pages. They are 99% Netgear stock.
Yes, I changed the password.

I refer to the Voxel ROM as "Voxel" (even though I know that it is a modification of stock Netgear, with large portions of it unmodified).
 
Hello @kamoj

I have figured out the (convoluted) steps necessary for me to be able to use the Settings page of your add-on.

To begin, I use incognito mode (simply to have a cleaner testbed). The choice of browsers isn't important, but I used MS Edge (Chromium) for this testing.
  1. Log into the router, and enter your credentials.
  2. Select the Advanced tab, and then open the Kamoj menu. Select Settings
  3. Verify that checkmarks will only flash (and not stick) in Set some functions on / off.
  4. Verify that pressing any of the Show radio buttons will only display HTML code (rather than the derived output) in Router Information.
  5. Scroll the Settings page so that whatever you want to test is visible.
  6. Go do something else until the router login times out (I don't know how long this is, but 30 mins is long enough). It is ok to continue to work on the computer; you just need to ensure that the Settings page does not have focus.
  7. Return to the Settings page and execute the desired command (whether it is checking a box, or pressing a Show button). You will immediately see a popup dialog box asking for your login credentials.
  8. Re-login to the router. As soon as you press enter, your command (checking a box, or pressing a Show button) will execute, and will execute correctly. Further, if you have checked a box, the setting will persist.
  9. Try to execute a second command (in Settings); it won't work; once again, the check mark will flash briefly, and pressing a Show button will reveal HTML code.
  10. Try to navigate to a different Kamoj page. It will not generate; it will be only the solid grey background. After doing that, try to return to Settings; you won't be able to do that either; it too will have only the solid grey background.
  11. Navigate to any of the Netgear pages; they will all display and work fine.
  12. Wait again for the router to time out.
  13. Return to any of the Kamoj pages, and they will navigate fine (though the Kamoj GUI will, of course, still not connect properly with the backend code)

I hope this is helpful

p.s. To answer your previous question, I didn't see anything special in the browser debug output, but I frankly didn't know what I should be looking for. I'm not a programmer, so I rarely venture into the debug function.
 
Very good finding, thanks!
What happen if you (In your working case) check Settings: "Disable Router GUI timeout"?
Does it work "always" then?
PS
I still hope for some other more knowledgeable user can enlighten us in this matter!
Anyone else having this problem?
Anyone know how to solve it?
Hello @kamoj

I have figured out the (convoluted) steps necessary for me to be able to use the Settings page of your add-on.

To begin, I use incognito mode (simply to have a cleaner testbed). The choice of browsers isn't important, but I used MS Edge (Chromium) for this testing.
  1. Log into the router, and enter your credentials.
  2. Select the Advanced tab, and then open the Kamoj menu. Select Settings
  3. Verify that checkmarks will only flash (and not stick) in Set some functions on / off.
  4. Verify that pressing any of the Show radio buttons will only display HTML code (rather than the derived output) in Router Information.
  5. Scroll the Settings page so that whatever you want to test is visible.
  6. Go do something else until the router login times out (I don't know how long this is, but 30 mins is long enough). It is ok to continue to work on the computer; you just need to ensure that the Settings page does not have focus.
  7. Return to the Settings page and execute the desired command (whether it is checking a box, or pressing a Show button). You will immediately see a popup dialog box asking for your login credentials.
  8. Re-login to the router. As soon as you press enter, your command (checking a box, or pressing a Show button) will execute, and will execute correctly. Further, if you have checked a box, the setting will persist.
  9. Try to execute a second command (in Settings); it won't work; once again, the check mark will flash briefly, and pressing a Show button will reveal HTML code.
  10. Try to navigate to a different Kamoj page. It will not generate; it will be only the solid grey background. After doing that, try to return to Settings; you won't be able to do that either; it too will have only the solid grey background.
  11. Navigate to any of the Netgear pages; they will all display and work fine.
  12. Wait again for the router to time out.
  13. Return to any of the Kamoj pages, and they will navigate fine (though the Kamoj GUI will, of course, still not connect properly with the backend code)

I hope this is helpful

p.s. To answer your previous question, I didn't see anything special in the browser debug output, but I frankly didn't know what I should be looking for. I'm not a programmer, so I rarely venture into the debug function.
 
  • Like
Reactions: KW.
Very good finding, thanks!
What happen if you (In your working case) check Settings: "Disable Router GUI timeout"?
Does it work "always" then?
PS
I still hope for some other more knowledgeable user can enlighten us in this matter!
Anyone else having this problem?
Anyone know how to solve it?

The only buttons that dont work for me are the three dnscrypt buttons ,they just flash but dont set
 
Very good finding, thanks!
What happen if you (In your working case) check Settings: "Disable Router GUI timeout"?
Does it work "always" then?
PS
I still hope for some other more knowledgeable user can enlighten us in this matter!
Anyone else having this problem?
Anyone know how to solve it?

I think the problem here is that the page refresh gets triggered to early.
That might be the reason why the cgi request wont get called.

this worked for me while debugging
setTimeout(function(){document.location.reload(true);}, 3000);

Code:
var show_idle_devices_value='1';
var current_show_idle_devices_value = document.getElementById("show_idle_devices");
if (show_idle_devices_value == '1') { current_show_idle_devices_value.checked = true;} else {current_show_idle_devices_value.checked = false;}
function show_idle_devices_clicked() {
var wf = document.getElementById("show_idle_devices");
var wf_txt = "";
if (wf.checked === true) { wf_txt = "&show_idle_devices=on";} else { wf_txt = "&show_idle_devices=off";}
var wfUrl = "./cgi-bin/kamoj.cgi?addon_toggles=kamoj"+wf_txt;
Kamoj_Request (wfUrl, Read_Kamoj_Request_Response);
setTimeout(function(){document.location.reload(true);}, 3000);
}
 
Last edited:
Very good finding, thanks!
What happen if you (In your working case) check Settings: "Disable Router GUI timeout"?
Does it work "always" then?
PS
I still hope for some other more knowledgeable user can enlighten us in this matter!
Anyone else having this problem?
Anyone know how to solve it?
This didn't help. I was able to "Disable Router GUI timeout" (using the procedure I outlined before). However, as soon as I entered my credentials, the Settings pane went white (rather than grey). I then tried to click on one of the Netgear navigation buttons, and the entire Netgear window went white. I waited for 2 hours and tried to refresh the screen, Still white. I closed the window and created a new one in a different browser. When I tried to login to the router, I received the authentication box, but once I filled it and hit Enter, the window again went white. So I rebooted the router. Finally, I was able to log in and see a normal screen. Disable Router GUI timeout was checked, but my workaround no longer works, and I can't uncheck it. Apparently, my workaround needs the timeout.

So my first question is, can you provide a Telnet command which will enable me to uncheck the "Disable Router GUI timeout" ?

I, of course, also see the proposed fix by @wurstbrot in post #134. I assume that you will implement that in a new build. I look forward to trying that.
 
Ah, I see. I think you are onto something!
So my the reason for it working for me is that my computer is too slow:oops: or too fast:cool:?

There is actually some another possibilities, and that is the
  1. GET/POST method and it's
  2. usage of sync/unsync request, and also to
  3. not make the auto-refresh at all. (It's not needed for the check-boxes,)

    Could this also explain that you get html-code as respond to WiFi Info? I don't understand that - yet.
I'll compare to the @jrbmw observation about DNSCrypt radio buttons. Hopefully same type of problem.

Meanwhile, thank you all beta testers for your excellent job and detailed very good feedback!:)

I think the problem here is that the page refresh gets triggered to early.
That might be the reason why the cgi request wont get called.

this worked for me while debugging
setTimeout(function(){document.location.reload(true);}, 3000);

Code:
var show_idle_devices_value='1';
var current_show_idle_devices_value = document.getElementById("show_idle_devices");
if (show_idle_devices_value == '1') { current_show_idle_devices_value.checked = true;} else {current_show_idle_devices_value.checked = false;}
function show_idle_devices_clicked() {
var wf = document.getElementById("show_idle_devices");
var wf_txt = "";
if (wf.checked === true) { wf_txt = "&show_idle_devices=on";} else { wf_txt = "&show_idle_devices=off";}
var wfUrl = "./cgi-bin/kamoj.cgi?addon_toggles=kamoj"+wf_txt;
Kamoj_Request (wfUrl, Read_Kamoj_Request_Response);
setTimeout(function(){document.location.reload(true);}, 3000);
}
 
You can make all settings from a router command prompt!
I don't know all settings, and I'm not at the router or code now.
But you can see all settings by using command:
Code:
nvram show | grep kamoj

This didn't help. I was able to "Disable Router GUI timeout" (using the procedure I outlined before). However, as soon as I entered my credentials, the Settings pane went white (rather than grey). I then tried to click on one of the Netgear navigation buttons, and the entire Netgear window went white. I waited for 2 hours and tried to refresh the screen, Still white. I closed the window and created a new one in a different browser. When I tried to login to the router, I received the authentication box, but once I filled it and hit Enter, the window again went white. So I rebooted the router. Finally, I was able to log in and see a normal screen. Disable Router GUI timeout was checked, but my workaround no longer works, and I can't uncheck it. Apparently, my workaround needs the timeout.

So my first question is, can you provide a Telnet command which will enable me to uncheck the "Disable Router GUI timeout" ?

I, of course, also see the proposed fix by @wurstbrot in post #134. I assume that you will implement that in a new build. I look forward to trying that.
 
I would love to test this out @kamoj ! As a matter of fact, I went with the R7800 router much because of I saw this addon and the Wireguard support. :)
 
Last edited:
New beta available!

Changes in kamoj-addon beta version 5.2b2-4
------------------------------------------------------
- Router Information: Removed dnscrypt1 support
- Settings: Output timestamp in the dmesg log: Removed
(Now always set at early boot)
- Settings: HDD Spin Down: Activate after re-install
- Settings: Router Information renamed to Router Internals
- DNS Privacy and Ad-Blocking: None/Stubby/DNSCrypt Proxy 2 radio buttons (Thx: @wurstbrot)
Fixed problem for some users with non-working radio buttons (@jrbmw a.o.)
- Settings: Set some functions on / off: (Thx: @wurstbrot)
Fixed problem for some users with non-working check-boxes (@Droidrat a.o.)
- Settings: Router Internals: Show boxes don't work (html-code displayed instead) (@Droidrat a.o.)
Fix implemented, but can not test it myself.
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top