echo phy0tx > /sys/class/leds/tp-link\:blue\:system/trigger
另外,除了 phy0tx,trigger 还有几个可选值:
[none] default-on timer phy0rx phy0tx phy0assoc phy0radio phy0tpt netdev usbdev
当然本文脚本还是有一定价值的:比如可以一眼区分出 100KiB/s 与 1MiB/s
———-
前几天TB上搞了一个火柴盒形的路由器,TP-Link WR703n,
单RJ45口,USB2.0,改外置天线改 64M 内存,改 8M Flash,刷了 OpenWrt 便于折腾。
盒子上只有一颗蓝色 LED,开机后常亮,写了个脚本让它随网络流量闪烁:
以 1Hz 频率闪烁,根据流量调节占空比。无流量时常灭,满带宽时常亮。
下载脚本前,需要安装几个东西:
opkg update
opkg install lmbench-msleep bc
(lmbench-msleep
用来做毫秒级延时,bc
用来计算小数。不是很大,各种依赖加起来几百K吧好像..)
脚本如下,修改好设置保存任意地方,加入rc.local开机自启动就好~
#!/bin/sh | |
#set -x | |
export PATH="/bin:/sbin:/usr/sbin:/usr/bin" | |
IFNAME="eth0" | |
FULLSPEED=1200 # KiB/s | |
LED='/sys/class/leds/tp-link:blue:system/brightness' | |
while [ True ] | |
do | |
# Get traffic data: | |
str=$(ifconfig $IFNAME | grep 'RX bytes') | |
str=${str#*'RX bytes:'} | |
str=${str%' ('*} | |
str=${str%' ('*} | |
now=$((str/1024)) | |
speed=$((now-last)) | |
if [ "$speed" -gt "$FULLSPEED" ] ; then | |
speed="$FULLSPEED" | |
fi | |
last="$now" | |
# Flash LED: | |
ratio=`echo "scale=3;$speed/$FULLSPEED*1000"|bc` | |
ontime=${ratio%'.'*} | |
offtime=$((1000-ontime)) | |
#echo "$ontime" | |
if [ "$ontime" -gt "0" ] ; then | |
echo 255 > "$LED" | |
msleep "$ontime" | |
fi | |
if [ "$offtime" -gt "0" ] ; then | |
echo 0 > "$LED" | |
msleep "$offtime" | |
fi | |
#sleep 10 | |
done |
第一次写(超过10行的)bash 脚本,感觉好奇葩啊..各种蛋疼..
估计有的地方有绕圈子了?至少能运行了..要不是8M小路由器舍不得装 Python 我才不用 bash 嘞…
似乎还是狂闪的那种比较好看?但是好麻烦的样子…
]]>