netgear-r6300v2-查看AiMesh节点路由器无线信号强度和温度的方法
AiMesh 节点,也是有局域网IP的,可以在AiMesh router管理界面看到。
通过AiMesh 节点IP,也是能登录节点的管理页面的,可以设置打开 ssh,然后 ssh 登录。
查看 AiMesh 节点路由器无线信号强度和温度的方法:
用 AiMesh 主路由器的用户名和密码 SSH 进 AiMesh 节点地址,执行如下命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 2.4GHz 无线信号强度: wl -i $( nvram get wl0_ifname ) txpwr_target_max # 5GHz 无线信号强度: wl -i $( nvram get wl1_ifname ) txpwr_target_max # CPU 温度: cat /proc/dmu/temperature # 2.4GHz 网卡温度: wl -i $( nvram get wl0_ifname ) phy_tempsense | awk '{print $1 / 2 + 20}' # 5GHz 网卡温度: wl -i $( nvram get wl1_ifname ) phy_tempsense | awk '{print $1 / 2 + 20}' |
将 lz_asuswrt_status.sh
上传至 AiMesh 节点路由器,权限设为0755,在文件所在目录内执行 ./lz_asuswrt_status.sh 命令即可一键获取上述信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | #!/bin/sh # lz_asuswrt_status.sh v1.1.1 # By LZ 妙妙呜 (larsonzhang@gmail.com) LZ_VERSION=v1.1.1 ## 路由器WIFI无线网络操作wl指令名称 WL=wl ## 路由器WIFI无线网络操作wl指令可执行文件路径 WL_PATH=/usr/sbin echo echo $(date) [$$] echo echo LZ $LZ_VERSION script commands start...... echo By LZ \(larsonzhang@gmail.com\) echo Route_Model=$( nvram get productid 2> /dev/null | sed -n 1p ) Hardware_Type=$( uname -m 2> /dev/null | sed -n 1p ) Host_Name=$( uname -n 2> /dev/null | sed -n 1p ) Kernel_Name=$( uname 2> /dev/null | sed -n 1p ) Kernel_Release=$( uname -r 2> /dev/null | sed -n 1p ) Kernel_Version=$( uname -v 2> /dev/null | sed -n 1p ) OS_Name=$( uname -o 2> /dev/null | sed -n 1p ) [ -z "$Route_Model" ] && Route_Model=unknown [ -z "$Hardware_Type" ] && Hardware_Type=unknown [ -z "$Host_Name" ] && Host_Name=unknown [ -z "$Kernel_Name" ] && Kernel_Name=unknown [ -z "$Kernel_Release" ] && Kernel_Release=unknown [ -z "$Kernel_Version" ] && Kernel_Version=unknown [ -z "$OS_Name" ] && OS_Name=unknown echo -e Route Model\\t: "$Route_Model" echo -e Hardware Type\\t: "$Hardware_Type" echo -e Host Name\\t: "$Host_Name" echo -e Kernel Name\\t: "$Kernel_Name" echo -e Kernel Release\\t: "$Kernel_Release" echo -e Kernel Version\\t: "$Kernel_Version" echo -e OS Name\\t\\t: "$OS_Name" if [ "$( uname -o 2> /dev/null | sed -n 1p )" = "Merlin-Koolshare" ]; then echo Firmware Version: "$( nvram get extendno 2> /dev/null | cut -d "X" -f2 | cut -d "-" -f1 | cut -d "_" -f1 | sed -n 1p )" else firmware_version=$( nvram get firmver 2> /dev/null | sed -n 1p ) [ -n "$firmware_version" ] && { firmware_buildno=$( nvram get buildno 2> /dev/null | sed -n 1p ) [ -n "$firmware_buildno" ] && { firmware_webs_state_info=$( nvram get webs_state_info 2> /dev/null | sed 's/^[^_]*[_]/&LZZL/' | sed 's/[_]LZZL/\./' | sed -n 1p ) if [ -z "$firmware_webs_state_info" ]; then firmware_webs_state_info_beta=$( nvram get webs_state_info_beta 2> /dev/null | sed 's/^[^_]*[_]/&LZZL/' | sed 's/[_]LZZL/\./' | sed -n 1p ) if [ -z "$firmware_webs_state_info_beta" ]; then firmware_version="$firmware_version.$firmware_buildno" else firmware_version="$firmware_version.$firmware_webs_state_info_beta" fi else firmware_version="$firmware_version.$firmware_webs_state_info" fi [ -z "$firmware_version" ] && firmware_version=unknown echo Firmware Version: "$firmware_version" } } fi Firmware_Build=$( nvram get buildinfo 2> /dev/null | sed -n 1p ) [ -n "$Firmware_Build" ] && echo -e Firmware Build\\t: "$Firmware_Build" Bootloader_CFE=$( nvram get bl_version 2> /dev/null | sed -n 1p ) [ -n "$Bootloader_CFE" ] && echo -e Bootloader \(CFE\): "$Bootloader_CFE" route_local_info="$( ifconfig br0 2> /dev/null )" if [ -n "$route_local_info" ]; then Route_Status=$( echo $route_local_info | awk -F " " '{print $2}' | sed -n 1p ) Route_Encap=$( echo $route_local_info | awk -F " " '{print $3}' | awk -F ":" '{print $2}' | sed -n 1p ) Route_HWaddr=$( echo $route_local_info | awk -F " " '{print $5}' | sed -n 1p ) Route_IP_Addr=$( echo $route_local_info | awk -F " " '{print $7}' | awk -F ":" '{print $2}' | sed -n 1p ) Local_Bcast_Addr=$( echo $route_local_info | awk -F " " '{print $8}' | awk -F ":" '{print $2}' | sed -n 1p ) Local_Net_Mask=$( echo $route_local_info | awk -F " " '{print $9}' | awk -F ":" '{print $2}' | sed -n 1p ) echo [ -z "$Route_Status" ] && Route_Status=unknown [ -z "$Route_Encap" ] && Route_Encap=unknown [ -z "$Route_HWaddr" ] && Route_HWaddr=unknown [ -z "$Route_IP_Addr" ] && Route_IP_Addr=unknown [ -z "$Local_Bcast_Addr" ] && Local_Bcast_Addr=unknown [ -z "$Local_Net_Mask" ] && Local_Net_Mask=unknown echo -e Route Status\\t: "$Route_Status" echo -e Route Encap\\t: "$Route_Encap" echo -e Route HWaddr\\t: "$Route_HWaddr" echo -e Route IP Addr\\t: "$Route_IP_Addr" echo Local Bcast Addr: "$Local_Bcast_Addr" echo -e Local Net Mask\\t: "$Local_Net_Mask" fi echo cat /proc/cpuinfo 2> /dev/null CPU_frequency=$( nvram get clkfreq 2> /dev/null | sed -n 1p | awk -F ',' '{print $1}' ) Memory_frequency=$( nvram get clkfreq 2> /dev/null | sed -n 1p | awk -F ',' '{print $2}' ) if [ -n "$CPU_frequency" -a -n "$Memory_frequency" ]; then CPU_frequency="$CPU_frequency MHz" Memory_frequency="$Memory_frequency MHz" echo echo -e CPU frequency\\t: "$CPU_frequency" echo Memory frequency: "$Memory_frequency" fi echo CPU_temperature=$( cat /proc/dmu/temperature 2> /dev/null | sed -e 's/.C$/°C/g' | sed -e '/^$/d' | sed -n 1p ) if [ -z "$CPU_temperature" ]; then CPU_temperature=$( cat /sys/class/thermal/thermal_zone0/temp 2> /dev/null | awk '{print $1 / 1000}' | sed -n 1p ) [ -n "$CPU_temperature" ] && CPU_temperature="$CPU_temperature"°C || CPU_temperature=unknown echo -e CPU temperature\\t: "$CPU_temperature" else echo "$CPU_temperature" fi if [ -z "$( which ${WL} 2> /dev/null )" ]; then WL=${WL_PATH}/${WL} elif [ "$( which ${WL} 2> /dev/null )" != "${WL_PATH}/${WL}" -a "${WL_PATH}" != "/usr/sbin" ]; then WL=${WL_PATH}/${WL} fi interface_2g=$( nvram get wl0_ifname 2> /dev/null | sed -n 1p ) interface_5g1=$( nvram get wl1_ifname 2> /dev/null | sed -n 1p ) interface_5g2=$( nvram get wl2_ifname 2> /dev/null | sed -n 1p ) interface_2g_temperature= ; interface_5g1_temperature= ; interface_5g2_temperature= ; [ -n "$interface_2g" ] && interface_2g_temperature=$( ${WL} -i $interface_2g phy_tempsense 2> /dev/null | awk '{print $1 / 2 + 20}' | sed -n 1p ) [ -n "$interface_2g_temperature" ] && interface_2g_temperature="$interface_2g_temperature"°C || interface_2g_temperature="offline or unknown" [ -n "$interface_5g1" ] && interface_5g1_temperature=$( ${WL} -i $interface_5g1 phy_tempsense 2> /dev/null | awk '{print $1 / 2 + 20}' | sed -n 1p ) [ -n "$interface_5g1_temperature" ] && interface_5g1_temperature="$interface_5g1_temperature"°C || interface_5g1_temperature="offline or unknown" [ -n "$interface_5g2" ] && { interface_5g2_temperature=$( ${WL} -i $interface_5g2 phy_tempsense 2> /dev/null | awk '{print $1 / 2 + 20}' | sed -n 1p ) [ -n "$interface_5g2_temperature" ] && interface_5g2_temperature="$interface_5g2_temperature"°C || interface_5g2_temperature="offline or unknown" } wl_txpwr_2g="offline or unknown" ; wl_txpwr_5g1="$wl_txpwr_2g" ; wl_txpwr_5g2="$wl_txpwr_2g" ; [ -n "$interface_2g" ] && { interface_2g_power="$( ${WL} -i $interface_2g txpwr_target_max 2> /dev/null | awk '{print $NF}' | sed -n 1p )" interface_2g_power_max="$( ${WL} -i $interface_2g txpwr1 2> /dev/null | sed -n 1p | awk '{print $5,$7}' | sed -e 's/\(^.*\)[ ]\(.*$\)/\t( \1 dBm \/ \2 mW )/g' )" [ -n "$interface_2g_power" ] && wl_txpwr_2g="$interface_2g_power dBm / $( awk -v x=$interface_2g_power 'BEGIN {printf "%.2f\n", 10^(x/10)}' ) mW$interface_2g_power_max" } [ -n "$interface_5g1" ] && { interface_5g1_power="$( ${WL} -i $interface_5g1 txpwr_target_max 2> /dev/null | awk '{print $NF}' | sed -n 1p )" interface_5g1_power_max="$( ${WL} -i $interface_5g1 txpwr1 2> /dev/null | sed -n 1p | awk '{print $5,$7}' | sed -e 's/\(^.*\)[ ]\(.*$\)/\t( \1 dBm \/ \2 mW )/g' )" [ -n "$interface_5g1_power" ] && wl_txpwr_5g1="$interface_5g1_power dBm / $( awk -v x=$interface_5g1_power 'BEGIN {printf "%.2f\n", 10^(x/10)}' ) mW$interface_5g1_power_max" } [ -n "$interface_5g2" ] && { interface_5g2_power="$( ${WL} -i $interface_5g2 txpwr_target_max 2> /dev/null | awk '{print $NF}' | sed -n 1p )" interface_5g2_power_max="$( ${WL} -i $interface_5g2 txpwr1 2> /dev/null | sed -n 1p | awk '{print $5,$7}' | sed -e 's/\(^.*\)[ ]\(.*$\)/\t( \1 dBm \/ \2 mW )/g' )" [ -n "$interface_5g2_power" ] && wl_txpwr_5g2="$interface_5g2_power dBm / $( awk -v x=$interface_5g2_power 'BEGIN {printf "%.2f\n", 10^(x/10)}' ) mW$interface_5g2_power_max" } if [ -z "$interface_5g2" ]; then echo -e 2.4 GHz\\t\\t: "$interface_2g_temperature" echo -e 5 GHz\\t\\t: "$interface_5g1_temperature" echo echo 2.4 GHz Tx Power: "$wl_txpwr_2g" echo -e 5 GHz Tx Power\\t: "$wl_txpwr_5g1" else echo -e 2.4 GHz\\t\\t: "$interface_2g_temperature" echo -e 5 GHz-1\\t\\t: "$interface_5g1_temperature" echo -e 5 GHz-2\\t\\t: "$interface_5g2_temperature" echo echo 2.4 GHz Tx Power: "$wl_txpwr_2g" echo 5 GHz-1 Tx Power: "$wl_txpwr_5g1" echo 5 GHz-2 Tx Power: "$wl_txpwr_5g2" fi if [ -n "$( which ethctl 2> /dev/null )" ]; then eth_x_set=$( ifconfig 2> /dev/null | grep -E 'eth[0-9]{1,10}' | awk '{print $1}' | sort -n ) if [ -n "$eth_x_set" ]; then x=0 until [ -z "$( echo $eth_x_set | grep -o eth$x | sed -n 1p )" ] do ethx_info=$( ethctl eth$x media-type 2> /dev/null ) if [ -n "$ethx_info" ]; then echo echo Ethernet Port $x Status: echo "$ethx_info" fi let x++ done fi elif [ -n "$( which robocfg 2> /dev/null )" ]; then echo robocfg show 2> /dev/null fi nvram show 1> /dev/null 2> /tmp/lz_nvram.size if [ -f /tmp/lz_nvram.size ]; then NVRAM_usage=$( cat /tmp/lz_nvram.size 2> /dev/null \ | grep -Eio 'size: [0-9]{1,10} bytes \([0-9]{1,10} left\)' \ | sed -e 's/^.*[ ]\([0-9]\{1,10\}\)[ ].*[ ](\([0-9]\{1,10\}\).*$/\1 \2/g' \ | awk '{print $1, $1 + $2}' \ | sed -e 's/\(^[0-9]\{1,10\}\) \([0-9]\{1,10\}\)/\1 \/ \2 bytes/g' \ | sed -n 1p ) if [ -n "$NVRAM_usage" ]; then echo echo -e NVRAM usage\\t: "$NVRAM_usage" fi rm /tmp/lz_nvram.size > /dev/null 2>&1 fi <<EOF NVRAM_usage=$( nvram show 2>&1 \ | grep -Eio 'size: [0-9]{1,10} bytes \([0-9]{1,10} left\)' \ | sed -e 's/^.*[ ]\([0-9]\{1,10\}\)[ ].*[ ](\([0-9]\{1,10\}\).*$/\1 \2/g' \ | awk '{print $1, $1 + $2}' \ | sed -e 's/\(^[0-9]\{1,10\}\) \([0-9]\{1,10\}\)/\1 \/ \2 bytes/g' \ | sed -n 1p ) if [ -n "$NVRAM_usage" ]; then echo echo -e NVRAM usage\\t: "$NVRAM_usage" fi EOF echo free 2> /dev/null echo NAND_bad_block=$( dmesg 2> /dev/null | grep nand_read_bbt | grep "bad block" ) if [ -n "$NAND_bad_block" ]; then echo "$NAND_bad_block" echo Number of NAND bad blocks: "$( echo "$NAND_bad_block" | grep -c '^.*$' )" else echo No bad blocks found in NAND. fi echo cat /proc/mtd 2> /dev/null echo cat /proc/partitions 2> /dev/null echo df -hT 2> /dev/null echo brctl show 2> /dev/null echo cat /proc/net/vlan/config 2> /dev/null if [ -n "$( which bcmmcastctl 2> /dev/null )" ]; then echo bcmmcastctl show 2> /dev/null else if [ -n "$( ps 2> /dev/null | grep igmpproxy | grep -v grep | sed -n 1p )" ]; then echo ps 2> /dev/null | grep igmpproxy | grep -v grep cat "$( ps 2> /dev/null | grep igmpproxy | grep -v grep | sed -n 1p | awk '{print $6}' )" 2> /dev/null fi fi if [ -n "$( ps 2> /dev/null | grep udpxy | grep -v grep | sed -n 1p )" ]; then echo ps 2> /dev/null | grep udpxy | grep -v grep fi echo ip route show 2> /dev/null if [ -n "$( ip route show 2> /dev/null | grep nexthop | sed -n 1p )" ]; then echo ip route show table 100 2> /dev/null echo ip route show table 200 2> /dev/null fi echo echo LZ $LZ_VERSION script commands executed! echo echo $(date) [$$] echo |