imya
1. 官方固件查看温度的方式
1.1 写一个脚本,比如 showtemp.sh
console.log('Prism test');
console.log('Prism test');
console.log('Prism test');
记一笔,让回忆有迹可循。
console.log('Prism test');
console.log('Prism test');
console.log('Prism test');
现象: 夏天室温30 ℃ 左右时, 路由器经常出现网络无法连接, 重启又正常, 排查过固件问题(刷梅林及官方固件均无法解决, 用梅林固件时没注意温度)
起初一直没有想到是温度过高, 因为前面几年都是正常使用. 官方固件也没有查看温度的地方就一直忽略了.
#!/bin/sh
# 1. 一次性把 4 个值读出来(空格分隔)
fanctrl_info=$(
printf "%s %s %s %s" \
"$(awk '{print int($1/1000)}' /sys/class/thermal/thermal_zone0/temp)" \
"$(wl -i $(nvram get wl0_ifname) phy_tempsense | awk '{print int($1/2+20)}')" \
"$(wl -i $(nvram get wl1_ifname) phy_tempsense | awk '{print int($1/2+20)}')" \
"$(cat /sys/class/hwmon/hwmon0/pwm1 2>/dev/null || echo 0)"
)
# 2. 用 set 把字符串拆成位置参数,再分别赋值
set -- $fanctrl_info
curr_cpuTemp=$1
curr_coreTmp_2=$2
curr_coreTmp_5=$3
curr_rxData=$4
# 3. 打印
printf "CPU: %s°C 2.4G: %s°C 5G: %s°C FanPWM: %s\n" \
"$curr_cpuTemp" "$curr_coreTmp_2" "$curr_coreTmp_5" "$curr_rxData"
ssh -p 端口 路由器登陆名@192.168.50.1 "cat > /jffs/showtemp.sh" < 本地路径下/showtemp.sh<br>
如
ssh -p 1111 hujinhu@192.168.50.1 "cat > /jffs/showtemp.sh" < Downloads/showtemp.sh
ssh登陆路由器,进入/jffs/目录,执行showtemp.sh
hujinhu@RT-AC86U-FDD0:/jffs# ./showtemp.sh
CPU: 94°C 2.4G: 58°C 5G: 62°C FanPWM: 0
此处看到CPU已经超过90度, 网上搜索大概温度范围如下
日常“正常”范围
• 轻载/待机:55 – 70 ℃(室温 25 ℃左右时)
• 中载(5 GHz 高速下载、挂 PT、轻度科学上网):70 – 80 ℃
• 高载(双频满载、USB3.0 硬盘、梅林多插件):80 – 90 ℃ 仍然算常见
两种降温方案,外加usb风扇, 或替换原厂导热垫为铜片, 各有优势.
淘宝搜索 USB 5v 小风扇, 一个或两个,都可以根据路由器尺寸选择5cm左右贴在后面, 风向往路由器里面吹,效果更好(风向向外吹,5v小风扇的负压不足以吸出热量) . 缺点是容易进灰.并且需要常期运行, (动手能力强的可以加温度感应定时开关风扇,另一个话题了,还不如加铜片方便)
参考: https://zhuanlan.zhihu.com/p/419665476
改造后效果:
CPU: 62°C 2.4G: 56°C 5G: 59°C FanPWM: 0







