What's new

RTRMON RTRMON v2.0.17 -June 8, 2024- Monitor your Router's Health (New: AMTM, Network Conn/Bandwidth/Diag + Port Scanner + Speedtest) (Now BE9x Compatible!)

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

Viktor Jaep

Part of the Furniture
RTRMON v2.0.17
Released June 38 2024

Executive Summary: RTRMON is a shell script that provides near-realtime stats about your Asus-Merlin firmware router. Instead of having to find this information on various different screens or apps, this tool was built to bring all this info together in one stats dashboard. Having a 'system' dashboard showing current CPU, Memory, Disk and Network stats would compliment other dashboard-like scripts greatly (like VPNMON-R3), sitting side-by-side in their own SSH windows to give you everything you need to know that's happening on your router/network with a glance at your screen. Additional network diagnostics functionality was added, as well as insights into connections/speeds established to/from your router and the ability to run Ookla Speedtests against your WAN and (up to) 5 VPN connections!

RTRMON is free to use under the GNU General Public License version 3 (GPL 3.0).

This project is hosted on GitHub

Changelog here

Latest
Release Notes

What's new: GT-AX11000_Pro Compatibility Fix, HUGE update to v2.x!, Large Drive Display Fix, Added EXT USB Storage & More, New Look & Feel, VPN Speedtest, Wi-Fi Scheduler Display, Updated Ookla Speedtest Binary + New Speedtest Stats!, Network Connections/Bandwidth Page, VPN Stats/Minimalist Progressbar/Custom Speedtest Server/+more!, Network Diagnotiscs + TCP/UDP Port Scanner, AMTM!, Further Router Compatibility, GT-AXE/AX Compatibility, WAN IFace Override, Fixed Progressbar %'s, Ookla Speed Test Functionality!

--------------------

Requirements:
1.) Asus/Merlin firmware
-- apparently stock Asus is missing some of the features that RTRMON requires to display its stats.

Compatibility:
1.) The vast majority of Dual-Band Routers

  • Where wl0 = 2.4GHz, wl1 = 5GHz: RT-AC86U, RT-AX86U, RT-AC68U, GT-AX6000, etc. all are supported by default
2.) Tri-Band Routers /w WiFi6
  • Where wl0 = 2.4GHz, wl1 = 5GHz(1), wl2 = 5GHz(2): GT-AX11000_Pro, GT-AX11000, ZenWiFi_Pro_XT12, ZenWIFI_AX
3.) Tri-Band Routers /w WiFi6E
  • Where wl0 = 2.4GHz, wl1 = 5GHz, wl2 = 6GHz: GT-AXE11000, RT-BE96U
4.) Quad-Band Routers w/ WiFi6E
  • Where wl0 = 5GHz(1), wl1 = 5GHz(2), wl2 = 6GHz, wl3 = 2.4GHz: GT-AXE16000, GT-BE98
  • Where wl0 = 5GHz, wl1 = 6GHz(1), wl2 = 6GHz(2), wl3 = 2.4GHz: GT-BE98_Pro
**I will add more devices to the Tri/Quad-Band compatibility list as I research how each one has their wireless interfaces configured. If you see something not working right, please leave a note in this forum, or PM me!

Screenshots:

Page 1: Main CPU, Memory & Disk
1717331392161.png


Page 2: WAN, LAN and VPN Connections
1717288511862.png


Page 3: Wi-Fi Bands
1717288531149.png


Page 4: Speedtest
1717288548551.png


Page 5: Basic Diagnostics & NMAP Port Scans
1717288569227.png
 
Last edited:
Last but not least, Page 6 showing current connections/bandwidth for your WAN, LAN and VPN Connections:

1717288732442.png

How is this script supposed to run?​

I would recommend running this script in its own SSH window from a PC that's connected directly to the Asus router, or from a utility like 'Screen', as it loops and checks the various stats every 10 seconds. Instructions:
  1. Download and install directly from AMTM, or using your favorite SSH tools, copy & paste this command:
    Code:
    curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/RTRMON/master/rtrmon.sh" -o "/jffs/scripts/rtrmon.sh" && chmod 755 "/jffs/scripts/rtrmon.sh"
  2. Configure it using this command:
    Code:
    sh /jffs/scripts/rtrmon.sh -setup
  3. Run it standalone in an SSH window with this command:
    Code:
    sh /jffs/scripts/rtrmon.sh -monitor
  4. Or, using the screen utility, which has now been built-in:
    Code:
    sh /jffs/scripts/rtrmon.sh -screen
  5. To make it even easier, simply execute the script name with the commandline switch, like so:
    Code:
    rtrmon -screen
    -or-
    rtrmon -monitor
    -or-
    rtrmon -setup
    etc...
Please note: in order to use the shortcut method as explained in step 5, you will need to log out of your SSH session completely/close it, then re-open it and log back in. Then you can use the command "rtrmon" from any subfolder location.

Do I need to configure anything?​

You can enter the setup screen with the command 'sh rtrmon.sh -setup' or by hitting the "M" key in the main UI:
1717288761690.png


Hitting the "1" option, there are currently 13 items you can configure (you can also access this screen by using 'sh rtrmon.sh -config'):
1717288844692.png


The really important ones probably are your max speeds... as those will differ from router to router, home to home, location to location. Each menu item has detailed explanations on what each one means. If you have any further questions, please feel free to post in the thread below.

I'm definitely looking for your feedback... what works, what doesn't... what else would you like to see. But all-in-all, as good ideas come up for things to possibly add, very much a WIP (work-in-progress).
 
Last edited:
Sorry @visortgw ... got the DREADED "this forum has been open for 6 months so you can't post anymore"... and had to start a whole new thread. UGH. :(
 
Is debug output to screen only, or is it saved to a file?
Screen only... but hopefully you can save your SSH history? I also just made this... perhaps this will make it easier... just save this to a new "iftest.sh" file, and run it on each node, then please share results?

Code:
#!/bin/sh

#Thanks to @dave14305 for this function!
get_wan_setting() { 
  local varname varval
  varname="${1}"
  prefixes="wan0_ wan1_"

  if [ "$(nvram get wans_mode)" = "lb" ] ; then
      for prefix in $prefixes; do
          state="$(nvram get "${prefix}"state_t)"
          sbstate="$(nvram get "${prefix}"sbstate_t)"
          auxstate="$(nvram get "${prefix}"auxstate_t)"

          # is_wan_connect()
          [ "${state}" = "2" ] || continue
          [ "${sbstate}" = "0" ] || continue
          [ "${auxstate}" = "0" ] || [ "${auxstate}" = "2" ] || continue

          # get_wan_ifname()
          proto="$(nvram get "${prefix}"proto)"
          if [ "${proto}" = "pppoe" ] || [ "${proto}" = "pptp" ] || [ "${proto}" = "l2tp" ] ; then
              varval="$(nvram get "${prefix}"pppoe_"${varname}")"
          else
              varval="$(nvram get "${prefix}""${varname}")"
          fi
      done
  else
      for prefix in $prefixes; do
          primary="$(nvram get "${prefix}"primary)"
          [ "${primary}" = "1" ] && break
      done

      proto="$(nvram get "${prefix}"proto)"
      if [ "${proto}" = "pppoe" ] || [ "${proto}" = "pptp" ] || [ "${proto}" = "l2tp" ] ; then
          varval="$(nvram get "${prefix}"pppoe_"${varname}")"
      else
          varval="$(nvram get "${prefix}""${varname}")"
      fi
  fi
  printf "%s" "${varval}"
} # get_wan_setting

 [ -z "$(nvram get odmpid)" ] && RouterModel="$(nvram get productid)" || RouterModel="$(nvram get odmpid)" # Thanks @thelonelycoder for this logic
  if [ $RouterModel == "GT-AXE16000" ]; then # || [ $RouterModel == "GT-BE98" ]; then
    FourBandCustomAXE16000="True"
  fi

WANIFNAME=$(get_wan_setting ifname)

  if [ "$FourBandCustomAXE16000" == "True" ]; then
    ifname24=$(nvram get wl3_ifname)
    ifname5=$(nvram get wl0_ifname)
    ifname52=$(nvram get wl1_ifname)
    ifname6=$(nvram get wl2_ifname)
  else
    ifname24=$(nvram get wl0_ifname)
    ifname5=$(nvram get wl1_ifname)
  fi

clear
echo "Model: $RouterModel"
echo "WANIF: $WANIFNAME"
echo "24IF: $ifname24"
echo "5IF: $ifname5"
echo "5-2IF: $ifname52"
echo "6IF: $ifname6"
 
GT-AX6000 primary router:
Code:
Model: GT-AX6000
WANIF: eth0
24IF: eth6
5IF: eth7
5-2IF:
6IF:
GT-AXE16000 AiMesh node:
Code:
Model: GT-AXE16000
WANIF:
24IF: eth10
5IF: eth7
5-2IF: eth8
6IF: eth9
GT-AX6000 AiMesh node:
Code:
Model: GT-AX6000
WANIF:
24IF: eth6
5IF: eth7
5-2IF:
6IF:
 
GT-AX6000 primary router:
Code:
Model: GT-AX6000
WANIF: eth0
24IF: eth6
5IF: eth7
5-2IF:
6IF:
GT-AXE16000 AiMesh node:
Code:
Model: GT-AXE16000
WANIF:
24IF: eth10
5IF: eth7
5-2IF: eth8
6IF: eth9
GT-AX6000 AiMesh node:
Code:
Model: GT-AX6000
WANIF:
24IF: eth6
5IF: eth7
5-2IF:
6IF:
Just as I suspected... YET super interesting! I never knew that the WAN Interface just dropped off the face of the earth like that on an iMesh node! I learned something new today! :)

In the upcoming version of RTRMON, I will try to detect if a router is configured as an iMesh node... and if I can't find anything in NVRAM that tells me that, I'll address it in the setup menu... but excluding the WAN interface from its regular routine on the backend will resolve this error you're getting.
 
Last edited:
@visortgw ... could you please run this on one of your iMesh nodes? I'm trying to find some indicator that shows if it's a node.

nvram get wps_modelname
 
@visortgw ... could you please run this on one of your iMesh nodes? I'm trying to find some indicator that shows if it's a node.

nvram get wps_modelname
# nvram get wps_modelname
Wi-Fi Protected Setup Router
 
# nvram get wps_modelname
Wi-Fi Protected Setup Router
Thank you... welp, that wasn't it. Mine shows the same. Will keep searching.

Hmmm... how about this one:

nvram get wl_sync_node
 
What about wan0_gw_ifname? It is eth0 on both AiMesh nodes.
 
Thank you... welp, that wasn't it. Mine shows the same. Will keep searching.

Hmmm... how about this one:

nvram get wl_sync_node
Value of zero for both nodes.
 
Value of zero for both nodes.
Hmm... same on my end.
What about wan0_gw_ifname? It is eth0 on both AiMesh nodes.
Not sure about being able to rely on that. The function included in the script is very explicit on finding the interface... and if it comes up with a blank, then there must be a good reason.

How about this... under the Setup/Config, item 11 allows you to override the WAN0 interface. Could you forcibly select the eth0 from that list, and see what happens? :)
 
Hmm... same on my end.

Not sure about being able to rely on that. The function included in the script is very explicit on finding the interface... and if it comes up with a blank, then there must be a good reason.

How about this... under the Setup/Config, item 11 allows you to override the WAN0 interface. Could you forcibly select the eth0 from that list, and see what happens? :)
No eth0 as option. For RT-AXE16000 AiMesh node:
Code:
Valid interface choices:
0) Auto
1) eth2
2) eth4
3) eth1
4) eth5
5) eth6
6) br0
7) wl0.1
8) wl1.1
9) wl2.1
10) wl3.1
11) eth1.501@eth1
12) eth2.501@eth2
13) eth4.501@eth4
14) eth5.501@eth5
15) eth6.501@eth6
16) wl0.1.501@wl0.1
17) wl1.1.501@wl1.1
18) wl2.1.501@wl2.1
19) wl3.1.501@wl3.1
20) eth7.501@eth7
21) eth9.501@eth9
22) br1
23) eth1.502@eth1
24) eth2.502@eth2
25) eth4.502@eth4
26) eth5.502@eth5
27) eth6.502@eth6
28) wl0.1.502@wl0.1
29) wl1.1.502@wl1.1
30) wl2.1.502@wl2.1
31) wl3.1.502@wl3.1
32) eth7.502@eth7
33) eth9.502@eth9
34) br2
For GT-AX6000 AiMesh node:
Code:
Valid interface choices:
0) Auto
1) eth1
2) eth2
3) eth3
4) eth0
5) br0
6) wl0.1
7) wl1.1
8) eth0.501@eth0
9) eth1.501@eth1
10) eth2.501@eth2
11) eth3.501@eth3
12) wl0.1.501@wl0.1
13) wl1.1.501@wl1.1
14) br1
15) eth0.502@eth0
16) eth1.502@eth1
17) eth2.502@eth2
18) eth3.502@eth3
19) wl0.1.502@wl0.1
20) wl1.1.502@wl1.1
21) br2

EDIT: I take that back. Option 4 for GT-AX6000 is eth0, and selecting it gets rid of errors. Not sure if that is truly WAN interface, though. Definitely missing for GT-AXE16000.
 
Last edited:
For GT-AXE16000:
Code:
# nvram show all | grep eth0
amas_eth0_cost=-1000
amas_eth0_cost_fail=0
amas_eth0_cost_result=
amas_eth0_defif=1
amas_eth0_ethType=8
amas_eth0_ifname=eth0
amas_eth0_index=0
amas_eth0_last_cost_result=
amas_eth0_linkrate=-1
amas_eth0_papcost=-1000
amas_eth0_priority=1
amas_eth0_state=0
amas_eth0_use=1
br0_ifnames=eth0 eth1 eth2 eth3 eth4 eth5 eth6 wl0.1 wl1.1 wl2.1 wl3.1
br1_ifnames=wl3.2 eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 eth6.501 wl0.1.501 wl1.1.501 wl2.1.501 wl3.1.501
br2_ifnames=wl0.2 eth0.502 eth1.502 eth2.502 eth3.502 eth4.502 eth5.502 eth6.502 wl0.1.502 wl1.1.502 wl2.1.502 wl3.1.502
eth_ifnames=eth0 eth5 eth6
igmp_ifname=eth0
lan1_ifnames=wl3.2 eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 eth6.501 wl0.1.501 wl1.1.501 wl2.1.501 wl3.1.501
lan2_ifnames=wl0.2 eth0.502 eth1.502 eth2.502 eth3.502 eth4.502 eth5.502 eth6.502 wl0.1.502 wl1.1.502 wl2.1.502 wl3.1.502
lan_ifnames=eth0 eth1 eth2 eth3 eth4 eth5 eth6 eth7 eth8 eth9 eth10 wl0.1 wl1.1 wl2.1 wl3.1
wan0_gw_ifname=eth0
wan0_ifname_x=eth0
wan1_ifname_x=eth0
wan_ifname_x=eth0
wgn_br1_eth_ifnames=eth0.501 eth5.501 eth6.501
wgn_br1_lan_ifnames=eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 eth6.501
wgn_br2_eth_ifnames=eth0.502 eth5.502 eth6.502
wgn_br2_lan_ifnames=eth0.502 eth1.502 eth2.502 eth3.502 eth4.502 eth5.502 eth6.502

Code:
# nvram show all | grep wan
bond_wan=0
ddns_last_wan_unit=-1
ddns_wan_unit=-1
ftp_wanac=0
httpd_login_fail_wan=0
httpds_login_fail_wan=0
ipv61_prefix_len_wan=64
ipv6_prefix_len_wan=64
led_wan_blue_gpio=4142
led_wan_gpio=4140
led_wan_green_gpio=4141
led_wan_normal_gpio=52
link_wan=0
link_wan1=0
rc_support=mssid 2.4G 5G update usbX2 switchctrl manual_stb 11AX pwrctrl WIFI_LOGO nandflash movistarTriple wifi2017 app ofdma wpa3 reboot_schedule ipv6 ipv6pt s46 PARENTAL2 dnsfilter am_addons cake ntpd dnspriv dualwan pptpd openvpnd utf8_ssid printer modem webdav rrsut cloudsync media appnet timemachine hdspindown diskutility nfsd igd2 dnssec usb_bk email 5G-2 bwdpi wrs_wbl ookla snmp tor HTTPS letsencrypt ssh vpnc repeater psta wl6 wifi_tog_btn user_low_rssi rog wifiradar tcode usericon stainfo realip lacp wanbonding alexa ipsec_srv mumimo netool cfg_sync no_finiwl betaupg amas bcmwifi boostkey bcmhnd mbo conndiag eula proxysta iperf3 wifi6e account_binding gameMode owe_trans wireguard ftp_ssl acl96 dhdlog dis11b smart_connect_v2
snmpd_wan=0
switch_wan0prio=0
switch_wan0tagid=
switch_wan1prio=0
switch_wan1tagid=
switch_wan2prio=0
switch_wan2tagid=
switch_wantag=none
wan0_6rd_ip4size=
wan0_6rd_prefix=
wan0_6rd_prefixlen=
wan0_6rd_router=
wan0_auth_x=
wan0_auxstate_t=1
wan0_clientid=
wan0_clientid_type=0
wan0_desc=
wan0_dhcp_qry=1
wan0_dhcpenable_x=1
wan0_dhcpfilter_enable=1
wan0_dns=192.168.222.1
wan0_dns1_x=
wan0_dns2_x=
wan0_dns_r=192.168.222.1
wan0_dnsenable_x=1
wan0_enable=1
wan0_expires=86480
wan0_gateway=192.168.222.1
wan0_gateway_x=0.0.0.0
wan0_gw_ifname=eth0
wan0_gw_mac=04:42:1A:59:99:80
wan0_heartbeat_x=
wan0_hostname=
wan0_hwaddr=A0:36:BC:71:B4:F0
wan0_hwaddr_x=
wan0_hwname=
wan0_ifname=
wan0_ifname_x=eth0
wan0_ipaddr=192.168.222.250
wan0_ipaddr_x=0.0.0.0
wan0_is_usb_modem_ready=0
wan0_lease=86400
wan0_mroute=
wan0_mtu=1500
wan0_nat_x=1
wan0_netmask=255.255.255.0
wan0_netmask_x=0.0.0.0
wan0_phytype=
wan0_ppp_echo=1
wan0_ppp_echo_failure=10
wan0_ppp_echo_interval=6
wan0_pppoe_ac=
wan0_pppoe_auth=
wan0_pppoe_hostuniq=
wan0_pppoe_idletime=0
wan0_pppoe_ifname=
wan0_pppoe_mru=1492
wan0_pppoe_mtu=1492
wan0_pppoe_options_x=
wan0_pppoe_passwd=
wan0_pppoe_relay=0
wan0_pppoe_service=
wan0_pppoe_username=
wan0_pptp_options_x=
wan0_primary=1
wan0_proto=dhcp
wan0_proto_t=
wan0_realip_ip=
wan0_realip_state=0
wan0_route=
wan0_s46_dslite_mode=0
wan0_s46_ealen_x=0
wan0_s46_hgw_case=0
wan0_s46_offset_x=6
wan0_s46_peer_x=
wan0_s46_prefix4_x=
wan0_s46_prefix4len_x=0
wan0_s46_prefix6_x=
wan0_s46_prefix6len_x=0
wan0_s46_psid_x=0
wan0_s46_psidlen_x=0
wan0_sbstate_t=0
wan0_state_t=0
wan0_unit=0
wan0_upnp_enable=1
wan0_vendorid=
wan0_vpndhcp=1
wan0_wins=
wan0_xgateway=192.168.222.1
wan0_xipaddr=0.0.0.0
wan0_xnetmask=0.0.0.0
wan1_6rd_ip4size=
wan1_6rd_prefix=
wan1_6rd_prefixlen=
wan1_6rd_router=
wan1_auth_x=
wan1_auxstate_t=0
wan1_clientid=
wan1_clientid_type=0
wan1_desc=
wan1_dhcp_qry=1
wan1_dhcpenable_x=1
wan1_dhcpfilter_enable=1
wan1_dns=
wan1_dns1_x=
wan1_dns2_x=
wan1_dnsenable_x=1
wan1_enable=1
wan1_gateway=0.0.0.0
wan1_gateway_x=0.0.0.0
wan1_gw_mac=
wan1_heartbeat_x=
wan1_hostname=
wan1_hwaddr=
wan1_hwaddr_x=
wan1_hwname=
wan1_ifname_x=eth0
wan1_ipaddr=0.0.0.0
wan1_ipaddr_x=0.0.0.0
wan1_is_usb_modem_ready=0
wan1_mroute=
wan1_mtu=1500
wan1_nat_x=1
wan1_netmask_x=0.0.0.0
wan1_phytype=
wan1_ppp_echo=1
wan1_ppp_echo_failure=10
wan1_ppp_echo_interval=6
wan1_pppoe_ac=
wan1_pppoe_auth=
wan1_pppoe_hostuniq=
wan1_pppoe_idletime=0
wan1_pppoe_ifname=
wan1_pppoe_mru=1492
wan1_pppoe_mtu=1492
wan1_pppoe_options_x=
wan1_pppoe_passwd=
wan1_pppoe_relay=0
wan1_pppoe_service=
wan1_pppoe_username=
wan1_pptp_options_x=
wan1_primary=0
wan1_proto=dhcp
wan1_proto_t=
wan1_realip_ip=
wan1_realip_state=0
wan1_route=
wan1_s46_dslite_mode=0
wan1_s46_ealen_x=0
wan1_s46_offset_x=6
wan1_s46_peer_x=
wan1_s46_prefix4_x=
wan1_s46_prefix4len_x=0
wan1_s46_prefix6_x=
wan1_s46_prefix6len_x=0
wan1_s46_psid_x=0
wan1_s46_psidlen_x=0
wan1_sbstate_t=0
wan1_state_t=0
wan1_unit=0
wan1_upnp_enable=1
wan1_vendorid=
wan1_vpndhcp=1
wan1_wins=
wan46det_proceeding=0
wan_auth_x=
wan_clientid=
wan_clientid_type=0
wan_desc=
wan_dhcp_qry=1
wan_dhcpenable_x=1
wan_dhcpfilter_enable=1
wan_dns=
wan_dns1_x=
wan_dns2_x=
wan_dnsenable_x=1
wan_enable=1
wan_gateway=0.0.0.0
wan_gateway_x=0.0.0.0
wan_gw_mac=
wan_heartbeat_x=
wan_hostname=
wan_hwaddr=
wan_hwaddr_x=
wan_hwname=
wan_ifname=
wan_ifname_x=eth0
wan_ifnames=
wan_ipaddr=0.0.0.0
wan_ipaddr_x=0.0.0.0
wan_mtu=
wan_nat_x=1
wan_netmask_x=0.0.0.0
wan_phytype=
wan_ppp_echo=1
wan_ppp_echo_failure=10
wan_ppp_echo_interval=6
wan_pppoe_ac=
wan_pppoe_auth=
wan_pppoe_hostuniq=
wan_pppoe_idletime=0
wan_pppoe_mru=1492
wan_pppoe_mtu=1492
wan_pppoe_options_x=
wan_pppoe_passwd=
wan_pppoe_relay=0
wan_pppoe_service=
wan_pppoe_username=
wan_pptp_options_x=
wan_proto=dhcp
wan_s46_dslite_mode=0
wan_s46_ealen_x=0
wan_s46_offset_x=6
wan_s46_peer_x=
wan_s46_prefix4_x=
wan_s46_prefix4len_x=0
wan_s46_prefix6_x=
wan_s46_prefix6len_x=0
wan_s46_psid_x=0
wan_s46_psidlen_x=0
wan_unit=0
wan_upnp_enable=1
wan_vendorid=
wan_vpndhcp=1
wan_wins=
wandog_delay=0
wandog_enable=0
wandog_fb_count=4
wandog_fb_restart=0
wandog_interval=3
wandog_maxfail=2
wandog_target=
wanports=0
wans_cap=wan usb lan
wans_dualwan=wan none
wans_extwan=0
wans_lanport=1
wans_lb_ratio=3:1
wans_mode=fb
wans_routing_enable=0
wans_standby=0
wans_usb_bk=1
wans_usb_bk_act=0
wans_routing_rulelist=
Possibly wan_ifname_x=eth0?
 
But that doesn't appear to be the case for GT-AX6000 AiMesh node:
Code:
# nvram show all | grep eth0
amas_eth0_cost=-999
amas_eth0_cost_fail=261347
amas_eth0_cost_result=
amas_eth0_defif=1
amas_eth0_ethType=8
amas_eth0_ifname=eth0
amas_eth0_index=0
amas_eth0_last_cost_result=
amas_eth0_linkrate=2500
amas_eth0_papcost=-999
amas_eth0_priority=2
amas_eth0_state=1
amas_eth0_use=1
amas_ifname=eth0
br1_ifnames=wl0.2 eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 wl0.1.501 wl1.1.501
br2_ifnames=wl1.2 eth0.502 eth1.502 eth2.502 eth3.502 eth4.502 eth5.502 wl0.1.502 wl1.1.502
br3_ifnames=eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 wl0.1.501 wl1.1.501
br4_ifnames=eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 wl0.1.501 wl1.1.501
br5_ifnames=eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 wl0.1.501 wl1.1.501
br6_ifnames=eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 wl0.1.501 wl1.1.501
cfg_device_list_eth0=<GT-AXE16000>192.168.222.250>A0:36:BC:71:B4:F0>0>7AEFD06C10244B3A6BB85CF6163F89C55AED3BA1<RT-AX86U>192.168.222.253>F0:2F:74:92:9B:08>0>75B02525A5E8B36D6D20644BACFC485C5AED3B8F<GT-AX6000>192.168.222.1>04:42:1A:59:99:80>1>5DEA12F8A4C84578F02532F2AE9954C95AED3B9A<RT-AX86U>192.168.222.252>7C:10:C9:4E:84:A8>0>42D09C010A407B8A139A2AAF303EFCF05AED3B8C
eth_ifnames=eth0 eth5
igmp_ifname=eth0
lan1_ifnames=wl0.2 eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501 wl0.1.501 wl1.1.501
lan2_ifnames=wl1.2 eth0.502 eth1.502 eth2.502 eth3.502 eth4.502 eth5.502 wl0.1.502 wl1.1.502
lan_ifnames=eth0 eth1 eth2 eth3 eth4 eth5 eth6 eth7 wl0.1 wl1.1
wan0_gw_ifname=eth0
wgn_br1_eth_ifnames=eth0.501 eth5.501
wgn_br1_lan_ifnames=eth0.501 eth1.501 eth2.501 eth3.501 eth4.501 eth5.501
wgn_br2_eth_ifnames=eth0.502 eth5.502
wgn_br2_lan_ifnames=eth0.502 eth1.502 eth2.502 eth3.502 eth4.502 eth5.502
size: 101280 bytes (95328 left)
Code:
# nvram show all | grep wan
bond_wan=0
ddns_last_wan_unit=-1
ddns_wan_unit=-1
ftp_wanac=0
httpd_login_fail_wan=0
httpds_login_fail_wan=0
ipv61_prefix_len_wan=64
ipv6_prefix_len_wan=64
led_wan_gpio=4145
led_wan_normal_gpio=4113
link_wan=0
link_wan1=0
mr_mswan_idx=0
rc_support=mssid 2.4G 5G usbX2 update switchctrl manual_stb 11AX pwrctrl WIFI_LOGO nandflash movistarTriple wifi2017 app ofdma wpa3 no_jumbo_frame reboot_schedule ipv6 ipv6pt s46 ocnvc PARENTAL2 dnsfilter am_addons cake ntpd dnspriv dualwan pptpd openvpnd utf8_ssid printer modem webdav rrsut cloudsync media appnet timemachine hdspindown diskutility nfsd igd2 dnssec usb_bk email bwdpi wrs_wbl ookla snmp tor HTTPS letsencrypt ssh vpnc repeater psta wl6 user_low_rssi rog wifiradar tcode usericon stainfo realip lacp wanbonding alexa ipsec_srv mumimo netool cfg_sync no_finiwl betaupg amas bcmwifi bcmhnd mbo conndiag eula proxysta iperf3 account_binding gameMode wireguard ftp_ssl acl96 dhdlog dis11b smart_connect
snmpd_wan=0
switch_wan0prio=0
switch_wan0tagid=
switch_wan1prio=0
switch_wan1tagid=
switch_wan2prio=0
switch_wan2tagid=
switch_wantag=none
vpnc_default_wan=0
vpnc_default_wan_tmp=
wan0_6rd_ip4size=
wan0_6rd_prefix=
wan0_6rd_prefixlen=
wan0_6rd_prouter=
wan0_6rd_router=
wan0_auth_x=
wan0_auxstate_t=1
wan0_clientid=
wan0_clientid_type=0
wan0_desc=
wan0_dhcp_qry=1
wan0_dhcpenable_x=1
wan0_dhcpfilter_enable=1
wan0_dns=192.168.222.1
wan0_dns1_x=
wan0_dns2_x=
wan0_dnsenable_x=1
wan0_dot1p=
wan0_dot1q=0
wan0_dscp=-1
wan0_enable=1
wan0_expires=86453
wan0_gateway=192.168.222.1
wan0_gateway_x=0.0.0.0
wan0_gw_ifname=eth0
wan0_gw_mac=
wan0_heartbeat_x=
wan0_hostname=
wan0_hwaddr=04:42:1A:58:7B:78
wan0_hwaddr_x=
wan0_hwname=
wan0_ifname=
wan0_ipaddr=192.168.222.254
wan0_ipaddr_x=0.0.0.0
wan0_is_usb_modem_ready=0
wan0_lease=86400
wan0_mroute=
wan0_mtu=
wan0_nat_x=1
wan0_netmask=255.255.255.0
wan0_netmask_x=0.0.0.0
wan0_phytype=
wan0_ppp_conn=
wan0_ppp_echo=1
wan0_ppp_echo_failure=10
wan0_ppp_echo_interval=6
wan0_pppoe_ac=
wan0_pppoe_auth=
wan0_pppoe_hostuniq=
wan0_pppoe_idletime=0
wan0_pppoe_ifname=
wan0_pppoe_mru=1492
wan0_pppoe_mtu=1492
wan0_pppoe_options_x=
wan0_pppoe_passwd=
wan0_pppoe_relay=0
wan0_pppoe_service=
wan0_pppoe_username=
wan0_pptp_options_oto=dhcp
wan0_pptp_options_x=
wan0_primary=1
wan0_proto=dhcp
wan0_proto_t=
wan0_realip_ip=
wan0_realip_state=0
wan0_route=
wan0_s46_dslite_mode=0
wan0_s46_ealen_x=0
wan0_s46_offset_x=6
wan0_s46_peer_x=
wan0_s46_prefix4_x=
wan0_s46_prefix4len_x=0
wan0_s46_prefix6_x=
wan0_s46_prefix6len_x=0
wan0_s46_psid_x=0
wan0_s46_psidlen_x=0
wan0_sbstate_t=0
wan0_state_t=0
wan0_unit=0
wan0_upnp_enable=1
wan0_vendorid=
wan0_vid=
wan0_vpndhcp=1
wan0_wins=
wan0_xgateway=192.168.222.1
wan0_xipaddr=0.0.0.0
wan0_xnetmask=0.0.0.0
wan1_6rd_ip4size=
wan1_6rd_prefix=
wan1_6rd_prefixlen=
wan1_6rd_router=
wan1_auth_x=
wan1_auxstate_t=0
wan1_clientid=
wan1_clientid_type=0
wan1_desc=
wan1_dhcp_qry=1
wan1_dhcpenable_x=1
wan1_dhcpfilter_enable=1
wan1_dns=
wan1_dns1_x=
wan1_dns2_x=
wan1_dnsenable_x=1
wan1_dot1p=
wan1_dot1q=0
wan1_dscp=-1
wan1_enable=1
wan1_gateway=0.0.0.0
wan1_gateway_x=0.0.0.0
wan1_gw_mac=
wan1_heartbeat_x=
wan1_hostname=
wan1_hwaddr=
wan1_hwaddr_x=
wan1_hwname=
wan1_ifname=
wan1_ipaddr=0.0.0.0
wan1_ipaddr_x=0.0.0.0
wan1_is_usb_modem_ready=0
wan1_mroute=
wan1_mtu=
wan1_nat_x=1
wan1_netmask_x=0.0.0.0
wan1_phytype=
wan1_ppp_conn=
wan1_ppp_echo=1
wan1_ppp_echo_failure=10
wan1_ppp_echo_interval=6
wan1_pppoe_ac=
wan1_pppoe_auth=
wan1_pppoe_hostuniq=
wan1_pppoe_idletime=0
wan1_pppoe_ifname=
wan1_pppoe_mru=1492
wan1_pppoe_mtu=1492
wan1_pppoe_options_x=
wan1_pppoe_passwd=
wan1_pppoe_relay=0
wan1_pppoe_service=
wan1_pppoe_username=
wan1_pptp_options_x=
wan1_primary=0
wan1_proto=dhcp
wan1_proto_t=
wan1_realip_ip=
wan1_realip_state=0
wan1_route=
wan1_s46_dslite_mode=0
wan1_s46_ealen_x=0
wan1_s46_offset_x=6
wan1_s46_peer_x=
wan1_s46_prefix4_x=
wan1_s46_prefix4len_x=0
wan1_s46_prefix6_x=
wan1_s46_prefix6len_x=0
wan1_s46_psid_x=0
wan1_s46_psidlen_x=0
wan1_sbstate_t=0
wan1_state_t=0
wan1_unit=0
wan1_upnp_enable=1
wan1_vendorid=
wan1_vid=
wan1_vpndhcp=1
wan1_wins=
wan_auth_x=
wan_clientid=
wan_clientid_type=0
wan_desc=
wan_dhcp_qry=1
wan_dhcpenable_x=1
wan_dhcpfilter_enable=1
wan_dns=
wan_dns1_x=
wan_dns2_x=
wan_dnsenable_x=1
wan_dot1p=
wan_dot1q=0
wan_dscp=-1
wan_enable=1
wan_gateway=0.0.0.0
wan_gateway_x=0.0.0.0
wan_gw_mac=
wan_heartbeat_x=
wan_hostname=
wan_hwaddr=
wan_hwaddr_x=
wan_hwname=
wan_ifname=
wan_ifnames=
wan_ipaddr=0.0.0.0
wan_ipaddr_x=0.0.0.0
wan_mtu=
wan_nat_x=1
wan_netmask_x=0.0.0.0
wan_phytype=
wan_ppp_conn=
wan_ppp_echo=1
wan_ppp_echo_failure=10
wan_ppp_echo_interval=6
wan_pppoe_ac=
wan_pppoe_auth=
wan_pppoe_hostuniq=
wan_pppoe_idletime=0
wan_pppoe_mru=1492
wan_pppoe_mtu=1492
wan_pppoe_options_x=
wan_pppoe_passwd=
wan_pppoe_relay=0
wan_pppoe_service=
wan_pppoe_username=
wan_pptp_options_x=
wan_proto=dhcp
wan_s46_dslite_mode=0
wan_s46_ealen_x=0
wan_s46_offset_x=6
wan_s46_peer_x=
wan_s46_prefix4_x=
wan_s46_prefix4len_x=0
wan_s46_prefix6_x=
wan_s46_prefix6len_x=0
wan_s46_psid_x=0
wan_s46_psidlen_x=0
wan_unit=0
wan_upnp_enable=1
wan_vendorid=
wan_vid=
wan_vpndhcp=1
wan_wins=
wandog_delay=0
wandog_enable=0
wandog_fb_count=4
wandog_fb_restart=0
wandog_interval=5
wandog_maxfail=12
wandog_target=
wanports=0
wans_cap=wan usb lan
wans_dualwan=wan none
wans_extwan=0
wans_lanport=1
wans_lb_ratio=3:1
wans_mode=fo
wans_routing_enable=0
wans_standby=0
wans_usb_bk=1
wans_usb_bk_act=0
size: 101280 bytes (95328 left)
wans_routing_rulelist=
 
@dave14305 ... Hoping you might know what in NVRAM can tell you if a router is configured as an iMesh node, and not a regular router? Any ideas? Definitely a head scratcher.
 
v2.0.8 Beta1 is finally available after a long wait! :) Couple more things to work on to get things finalized, but here's an early preview! @visortgw -- this version contains a potential fix for your iMesh Node issue... item #12 in the config menu allows you to configure the device as a node, so that it excludes reporting on WAN0 traffic.

What's new?
v2.0.8b1 - (TBA)
- MINOR:
Brought RTRMON up to the new visual standards in use across VPNMON-R3, TAILMON and BACKUPMON. All screens have been resized for the more "wide-screen" look, allowing me to condense information, and make better use of screen space. This also includes an operations menu which you can show/hide in order to capitalize on even more screen space in much of the same way VPNMON-R3 functions.
- PATCH: In previous versions, only 2 VPN slots would be presented with relevant info. In today's version, up to 5 different VPN slots are displayed depending on which ones are in use.
- PATCH: In previous versions, you could only run a speedtest against your first VPN connection. In this release, you can indicate whether to run a speedtest against any of your up to 5 VPN slots.
- PATCH: Previously, when WiFi interfaces turn on or shut off, they would not be represented in RTRMON as doing such, and would require a restart of RTRMON to see the current WiFi state. Now, the WiFi interfaces reflect reality in realtime.
- PATCH: Prevously, the iftop network stats would only gather WAN, LAN and the first available VPN slot. Page 6 (network/bandwidth stats) now queries and displays all VPN connection info.
- PATCH: Added some additional information on page 1: Total Available RAM, and Total Swap File Size.
- PATCH:
On the Network Diagnostics page, RTRMON is now showing a preview of the test command involved in determining if a function works or not. This gives more insight as to the command, IP or network address that the test is trying to attempt.
- PATCH: Added a new item (12) under the Configuration menu that allows you to specify whether the router that RTRMON is running on is an iMesh Node, Repeater or Bridge. In these operating modes, the eth0 interface is most likely not being used, and will no longer be reporting on any WAN0 traffic.
- PATCH: Added a new item (13) under the Configuration menu that allows you to specify how large you want your log file to reach. The default is currently 2000 rows, which would give you many months of log data.

BETA 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:

Every screen is new... enjoy!
1716671295866.png
 
Last edited:
@dave14305 ... Hoping you might know what in NVRAM can tell you if a router is configured as an iMesh node, and not a regular router? Any ideas? Definitely a head scratcher.
Check sw_mode and look at possible outcomes in:
It seems like router=1, ap=3, AiMesh node=5.
 
@visortgw -- this version contains a potential fix for your iMesh Node issue... item #12 in the config menu allows you to configure the device as a node, so that it excludes reporting on WAN0 traffic.
@Viktor Jaep: That appears to take care of the missing WAN interface errors on AiMesh nodes. I do see some failures within the diagnostic results:
Code:
  Network Resolution Test...   [Failed]   | nslookup google.com 127.0.0.1
  Dig Functionality Test...    [Failed]   | dig google.com
 

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