What's new

RTRMON RTRMON v2.1.3 -Oct 19, 2024- Monitor your Router's Health (New: AMTM, Network Conn/Bandwidth/Diag + Port Scanner + Speedtest)

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

Huge props to @ExtremeFiretop and @visortgw for their massive assist in troubleshooting the display of network clients in complex multi-guest/multi-VLAN configurations on the badass GT-BE98 Pro! You both rock! New Beta 13 is out to play with below!

What's new?
v2.1.0b13 - (TBA)
- PATCH:
@ExtremeFiretop and @visortgw have been busy working together in the background and putting the final finishing touches on the network client listing screen! Thanks so much for your help and expertise and putting a nice bow on top! :)

Download link:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/RTRMON/develop/rtrmon.sh" -o "/jffs/scripts/rtrmon.sh" && chmod 755 "/jffs/scripts/rtrmon.sh"

Significant Screenshots:

Here's a redacted preview of what all is possible to view on this new page:

1723115326680.png
 
Last edited:
And for the triple win for the day... here's a brand new version of RTRMON, with much courtesy to both @ExtremeFiretop and @visortgw for their insane amounts of testing and coding a little while back. This version brings a totally new screen to RTRMON, showing attached wireless and wired clients. It doesn't just stop at what all clients are attached to your various wireless interfaces, but it looks at LAN, but guest WIFI as well as VLANs/aiMesh VLANs. This view will give you some great insight as to what is currently connected to your router. Thanks so much @ExtremeFiretop, for working all those kinks out and using some innovative ways on displaying clients -- @visortgw's home network is an amazing testing ground for every single situation it seems - you guys both ROCK!

What's new!?
v2.1.0 - (October 12, 2024)
- MINOR:
Based on some samples that @RMerlin provided @JGrana when looking at connected WiFi client connected time, it seemed like a great idea to provide a view of which connected clients are currently attached to your router, and on what interface. This new view (page #7) shows the client name, IP, MAC, Uptime, TX/RX Totals (in GB), TX/RX Speeds (in Mbps) for each wireless interface, and also shows the name, IP and MAC for everything else connected to the LAN (br0). Still a bit experimental as I'm refining this, and would definitely appreciate your feedback!
- PATCH: Some further debugging to eliminate dupes caused by shoddy coding, and will now just display an "UNKNOWN" entry if a device shows up that is not defined using a custom name.
- PATCH: Introduced the option to sort your connected client lists by Name, IP or MAC address! Columns will sort by alpha or numerical order... in the case of MAC, it seems to go alpha then numeric. Huge thanks to @visortgw for suggesting this feature!
- PATCH: Some additional work was done on the connected clients to account for guest wi-fi clients per feedback by both @visortgw and @CaptainSTX. Thanks also to @ColinTaylor and @DJones for narrowing down what interface guest wi-fi clients reside on, and providing script samples of pulling legit guest wi-fi interface names. RTRMON will now display enabled guest wi-fi ranges along with their associated connections.
- PATCH: Based on a suggestion from @DJones, the client signal strength value has been added to the column layout!
- PATCH: After much back and forth with @visortgw, sleuthing through NVRAM, I have not been able to get past the VLAN brick wall, in order to show which devices are on which VLAN. So for the moment, until 3006 arrives for my router, I will need to put a pin in it, and will just combine LAN and VLAN devices under the same section.
- PATCH: Added a blank IP for clients that come up as UNKNOWN to help with spacing.
- PATCH: With many huge thanks to @ExtremeFiretop, he had some very productive time to help debug and develop some workarounds while testing it against his live GT-BE98U! He singlehandedly was able to figure out the methodology needed to report which clients fell into which VLANs, along with other great code optimization, including falling back to pulling device names from dnsmasq when the custom client name entry is non-existent in NVRAM! THANK YOU!:)
- PATCH: @ExtremeFiretop and @visortgw have been busy working together in the background and putting the final finishing touches on the network client listing screen! Thanks so much for your help and expertise and putting a nice bow on top! :)

Download link:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/RTRMON/master/rtrmon.sh" -o "/jffs/scripts/rtrmon.sh" && chmod 755 "/jffs/scripts/rtrmon.sh"

Significant screenshot:
Here's a great view of what could be possible - showing @visortgw's playground:

1728769270907.png
 
Last edited:
And for the triple win for the day... here's a brand new version of RTRMON, with much courtesy to both @ExtremeFiretop and @visortgw for their insane amounts of testing and coding a little while back. This version brings a totally new screen to RTRMON, showing attached wireless and wired clients. It doesn't just stop at what all clients are attached to your various wireless interfaces, but it looks at LAN, but guest WIFI as well as VLANs/aiMesh VLANs. This view will give you some great insight as to what is currently connected to your router. Thanks so much @ExtremeFiretop, for working all those kinks out and using some innovative ways on displaying clients -- @visortgw's home network is an amazing testing ground for every single situation it seems - you guys both ROCK!

What's new!?
v2.1.0 - (October 12, 2024)
- MINOR:
Based on some samples that @RMerlin provided @JGrana when looking at connected WiFi client connected time, it seemed like a great idea to provide a view of which connected clients are currently attached to your router, and on what interface. This new view (page #7) shows the client name, IP, MAC, Uptime, TX/RX Totals (in GB), TX/RX Speeds (in Mbps) for each wireless interface, and also shows the name, IP and MAC for everything else connected to the LAN (br0). Still a bit experimental as I'm refining this, and would definitely appreciate your feedback!
- PATCH: Some further debugging to eliminate dupes caused by shoddy coding, and will now just display an "UNKNOWN" entry if a device shows up that is not defined using a custom name.
- PATCH: Introduced the option to sort your connected client lists by Name, IP or MAC address! Columns will sort by alpha or numerical order... in the case of MAC, it seems to go alpha then numeric. Huge thanks to @visortgw for suggesting this feature!
- PATCH: Some additional work was done on the connected clients to account for guest wi-fi clients per feedback by both @visortgw and @CaptainSTX. Thanks also to @ColinTaylor and @DJones for narrowing down what interface guest wi-fi clients reside on, and providing script samples of pulling legit guest wi-fi interface names. RTRMON will now display enabled guest wi-fi ranges along with their associated connections.
- PATCH: Based on a suggestion from @DJones, the client signal strength value has been added to the column layout!
- PATCH: After much back and forth with @visortgw, sleuthing through NVRAM, I have not been able to get past the VLAN brick wall, in order to show which devices are on which VLAN. So for the moment, until 3006 arrives for my router, I will need to put a pin in it, and will just combine LAN and VLAN devices under the same section.
- PATCH: Added a blank IP for clients that come up as UNKNOWN to help with spacing.
- PATCH: With many huge thanks to @ExtremeFiretop, he had some very productive time to help debug and develop some workarounds while testing it against his live GT-BE98U! He singlehandedly was able to figure out the methodology needed to report which clients fell into which VLANs, along with other great code optimization, including falling back to pulling device names from dnsmasq when the custom client name entry is non-existent in NVRAM! THANK YOU!:)
- PATCH: @ExtremeFiretop and @visortgw have been busy working together in the background and putting the final finishing touches on the network client listing screen! Thanks so much for your help and expertise and putting a nice bow on top! :)

Download link:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/RTRMON/master/rtrmon.sh" -o "/jffs/scripts/rtrmon.sh" && chmod 755 "/jffs/scripts/rtrmon.sh"

Significant screenshot:
Here's a great view of what could be possible - showing @visortgw playground:

View attachment 61910
Welcome back ...hope you got that certification!!!
 
Welcome back ...hope you got that certification!!!
Thank you... Not yet. Just taking a break today and getting some of these releases out. ;)
 
Hey VJ - minor thing again - do you remember that 'update [y/n] not waiting for an enter keypress causing the Enter to go into the buffer and skipping the next prompt' thing in BACKUPMON?

Just noticed same thing for RTRMON. I'm sure at some point it was copy paste code one way or another... hopefully the fix is equally copy paste ;)

Again no big deal just FYI.

- PATCH: @vibroverbus made a good observation on some inconsistencies in the y/n prompts within the script compared to other scripts such as AMTM. It seems the function I'm using would automatically accept the y or n keypress and keep running without needing to hit enter. This function has now been changed so you can you change your mind after typing y or n, and lets you correct yourself before needing to manually hit the enter key now.
 
And for the triple win for the day... here's a brand new version of RTRMON, with much courtesy to both @ExtremeFiretop and @visortgw for their insane amounts of testing and coding a little while back. This version brings a totally new screen to RTRMON, showing attached wireless and wired clients. It doesn't just stop at what all clients are attached to your various wireless interfaces, but it looks at LAN, but guest WIFI as well as VLANs/aiMesh VLANs. This view will give you some great insight as to what is currently connected to your router. Thanks so much @ExtremeFiretop, for working all those kinks out and using some innovative ways on displaying clients -- @visortgw's home network is an amazing testing ground for every single situation it seems - you guys both ROCK!

What's new!?
v2.1.0 - (October 12, 2024)
- MINOR:
Based on some samples that @RMerlin provided @JGrana when looking at connected WiFi client connected time, it seemed like a great idea to provide a view of which connected clients are currently attached to your router, and on what interface. This new view (page #7) shows the client name, IP, MAC, Uptime, TX/RX Totals (in GB), TX/RX Speeds (in Mbps) for each wireless interface, and also shows the name, IP and MAC for everything else connected to the LAN (br0). Still a bit experimental as I'm refining this, and would definitely appreciate your feedback!
- PATCH: Some further debugging to eliminate dupes caused by shoddy coding, and will now just display an "UNKNOWN" entry if a device shows up that is not defined using a custom name.
- PATCH: Introduced the option to sort your connected client lists by Name, IP or MAC address! Columns will sort by alpha or numerical order... in the case of MAC, it seems to go alpha then numeric. Huge thanks to @visortgw for suggesting this feature!
- PATCH: Some additional work was done on the connected clients to account for guest wi-fi clients per feedback by both @visortgw and @CaptainSTX. Thanks also to @ColinTaylor and @DJones for narrowing down what interface guest wi-fi clients reside on, and providing script samples of pulling legit guest wi-fi interface names. RTRMON will now display enabled guest wi-fi ranges along with their associated connections.
- PATCH: Based on a suggestion from @DJones, the client signal strength value has been added to the column layout!
- PATCH: After much back and forth with @visortgw, sleuthing through NVRAM, I have not been able to get past the VLAN brick wall, in order to show which devices are on which VLAN. So for the moment, until 3006 arrives for my router, I will need to put a pin in it, and will just combine LAN and VLAN devices under the same section.
- PATCH: Added a blank IP for clients that come up as UNKNOWN to help with spacing.
- PATCH: With many huge thanks to @ExtremeFiretop, he had some very productive time to help debug and develop some workarounds while testing it against his live GT-BE98U! He singlehandedly was able to figure out the methodology needed to report which clients fell into which VLANs, along with other great code optimization, including falling back to pulling device names from dnsmasq when the custom client name entry is non-existent in NVRAM! THANK YOU!:)
- PATCH: @ExtremeFiretop and @visortgw have been busy working together in the background and putting the final finishing touches on the network client listing screen! Thanks so much for your help and expertise and putting a nice bow on top! :)

Download link:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/RTRMON/master/rtrmon.sh" -o "/jffs/scripts/rtrmon.sh" && chmod 755 "/jffs/scripts/rtrmon.sh"

Significant screenshot:
Here's a great view of what could be possible - showing @visortgw's playground:

View attachment 61910
@Viktor Jaep: One remaining "issue" that I experience with GT-BE98 Pro has to do with unexplained delays as the code executes in monitor mode (@ExtremeFiretop and I couldn't nail this one down):
  1. [Initiating Boot Sequence - Gathering Initial Stats...]: Followed by 30+ second delay
  2. [|||||||||||||||||||||||||||||||||||||||||||||||||||||]: Followed by 30+ second delay
  3. 10s / 100% [e=Exit] [Selection? ] (if nothing is selected): Followed by 30+ second delay
  4. [Refreshing VPN1 Stats...]: Followed by 30+ second delay (occurs every refresh loop)
Any thoughts on how to minimize or significantly reduce these delays?

FYI, "Mark Router As VPN Site-To-Site Only?" is configured to Yes.
 
Last edited:
@Viktor Jaep: One remaining "issue" that I experience with GT-BE98 Pro has to do with unexplained delays as the code executes in monitor mode (@ExtremeFiretop and I couldn't nail this one down):
  1. [Initiating Boot Sequence - Gathering Initial Stats...]: Followed by 30+ second delay
  2. [|||||||||||||||||||||||||||||||||||||||||||||||||||||]: Followed by 30+ second delay
  3. 10s / 100% [e=Exit] [Selection? ] (if nothing is selected): Followed by 30+ second delay
  4. [Refreshing VPN1 Stats...]: Followed by 30+ second delay (occurs every refresh loop)
Any thoughts on how to minimize or significantly reduce these delays?

FYI, "Mark Router As VPN Site-To-Site Only?" is configured to Yes.
Sounds like it's timing out on something. I'll have to check and see if something is being ignored with that setting enabled?

@Martinski actually posted a great method to bug check the script over in the vpnmon thread... see if you can break out of it when it hangs and let me know what it's getting stuck on?
 
(@ExtremeFiretop and I couldn't nail this one down):

I tested and was unable to replicate, for me every page loaded within 10 to 15 seconds.
At the time; I assumed maybe the VPN readings were having some type of issue, but I don't use it.
 
I tested and was unable to replicate, for me every page loaded within 10 to 15 seconds.
At the time; I assumed maybe the VPN readings were having some type of issue, but I don't use it.
Hanging line appears to be:
Code:
curl --silent --fail --interface tun11 --request GET --url https://ipv4.icanhazip.com
This sounds too familiar, but I don't recall where or the fix.
 
Hanging line appears to be:
Code:
curl --silent --fail --interface tun11 --request GET --url https://ipv4.icanhazip.com
This sounds too familiar, but I don't recall where or the fix.
I think I need to exclude this since the VPN tunnel is private.
 
I think I need to exclude this since the VPN tunnel is private.
It apparently does figure out public IP and location at some point (values x'ed out due to sensitivity):
Code:
 VPN1                                                                                                         

  PUB VPN IP [ xxx.xxx.xxx.xxx                   ]  CITY [ xxxxxxxxxx                        ] TUN: tun11
  Avg VPN RX [                                                                               ] 0.0 Mbps / 0%
  Avg VPN TX [                                                                               ] 0.0 Mbps / 0%
 
It apparently does figure out public IP and location at some point (values x'ed out due to sensitivity):
Code:
 VPN1                                                                                                       

  PUB VPN IP [ xxx.xxx.xxx.xxx                   ]  CITY [ xxxxxxxxxx                        ] TUN: tun11
  Avg VPN RX [                                                                               ] 0.0 Mbps / 0%
  Avg VPN TX [                                                                               ] 0.0 Mbps / 0%
Embarrassingly enough, it seems that this "VPN Site-to-Site" function was never fully implemented. It seems to just capture the setting, and that's IT. :( I believe the intent was to exclude the VPN from going through certain checks that would try to pull a city or external pings to google to determine if it's up. I'd have to look closer at the code, but thanks for bringing this up! I will add this to my list of things that need a fixin'. ;)

Also... if it's a private IP... it should say "PRV VPN IP"
 
Embarrassingly enough, it seems that this "VPN Site-to-Site" function was never fully implemented. It seems to just capture the setting, and that's IT. :( I believe the intent was to exclude the VPN from going through certain checks that would try to pull a city or external pings to google to determine if it's up. I'd have to look closer at the code, but thanks for bringing this up! I will add this to my list of things that need a fixin'. ;)

Also... if it's a private IP... it should say "PRV VPN IP"
It's not a private IP, but WAN traffic is not tunneled through VPN — it is only to access devices on the distant LAN.

As a quick test, I commented out all instances of curl --silent --fail --interface tun11 --request GET --url https://ipv4.icanhazip.com, and the delays disappeared, but public VPN IP and location were cleared out.
Code:
 VPN1                                                                                                        

  PUB VPN IP [ 000.000.000.000                   ]  CITY [ null                              ] TUN: tun11
  Avg VPN RX [                                                                               ] 0.0 Mbps / 0%
  Avg VPN TX [                                                                               ] 0.0 Mbps / 0%
 
The fix would be to replace each instance similar to (variable or interface name may change)
vpnip=$(curl --silent --fail --interface $TUN --request GET --url https://ipv4.icanhazip.com)
with
Code:
if [ "$VPNSite2Site" == "1" ]; then
  vpnip=$NVRAMVPNIP
else
  vpnip=$(curl --silent --fail --interface $TUN --request GET --url https://ipv4.icanhazip.com)
fi
 
I think I need to exclude this since the VPN tunnel is private.
@Viktor Jaep, I found one other place where check needs to be made... WIthin VPN Speedtest code,
if [ "$selectedslot" == "True" ]; then
becomes
if [ "$selectedslot" == "True" ] && [ "$VPNSite2Site" == "0" ]; then
Otherwise, several invalid operands, etc. occur.
 
Last edited:
Thanks to @visortgw for hanging in there, dealing with issues related to latency due to his site-to-site vpn configuration... I really appreciate his input and testing on this!

What's new?
v2.1.3 - (October 19, 2024)
- PATCH:
Minor spacing issues fixed for screen #7 (wired/wireless clients page)
- PATCH: Fixed some logic due to the $VPNSite2Site variable not being considered, though it is set in the config. Thanks to @visortgw for his sleuthing and seeing what worked for him, and implemented these changes across the script as it pertains to site-to-site VPN configurations.
- PATCH: Fixed the Y/N prompts so they now require you to hit <enter> after typing either y or n. This changes its behavior from automatically moving on and possibly causing issues from people also using the enter key accidentally.

Download link (or update directly within AMTM):
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/RTRMON/master/rtrmon.sh" -o "/jffs/scripts/rtrmon.sh" && chmod 755 "/jffs/scripts/rtrmon.sh"
 
Copied rtrmon.sh script to my AiMesh node, and tried to run it. It'd configure, but would not run since it's complaining about missing dependencies.

What's the simplest way to blank out those dependencies? Are there 1-2 places in the script for easy blanking? Alternatively, I'll dig through this a bit later!
rtrmon01.png
 
Copied rtrmon.sh script to my AiMesh node, and tried to run it. It'd configure, but would not run since it's complaining about missing dependencies.

What's the simplest way to blank out those dependencies? Are there 1-2 places in the script for easy blanking? Alternatively, I'll dig through this a bit later!
View attachment 62165
Add flash drive, and install amtm and entware.
 

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