今天把我为qute发布到了github

为什么

我有一台TS453B mini,但是说实话用的并不是很顺畅,系统特别不稳定,总是容易卡死。想着换成其它系统,最后选择了Alpine Linux。 虽然遇到了一些困难,总算是解决了,顺利运行起来。但是有个问题一直无解,那就是没法控制风扇的转速。在BIOS中可以设置风扇为auto或者manual。 实测auto不靠谱,机器会热死机。设置manual的话,风扇在机器启动时以100%转速运转,如果可以忍耐这个噪音的话,到这一步就可以了。 那么能不能直接控制风扇呢?没有任何头绪,直到发现了https://github.com/guedou/TS-453Be,然后折腾一番,没有在QTS中运行起来, 报了segment fault错误。作者提供了完整的步骤和思路,我就想自己写一个吧,大概是从6、7月份开始的,用radare2进行逆向分析,然后就有了qute。期间还想了很多,例如是不是写成驱动形式,是不是写一个自动控制调整转速的逻辑,是不是支持获取其它设备的温度;所以看了怎么实现Linux驱动和Linux驱动相关实现代码,怎么用rustLinux驱动,硬盘SMART属性读取等等。写成驱动形式好处就是可以配合其它PWM调度控制的程序,不用自己去写控制逻辑。想了很多但最后都放弃了没有实现。2021年7月实现了自动调速控制。

是什么

qute是用rust写的通过EC协议来控制QNAP NAS的风扇转速。理论上只要是基于ITE8528QNAP NAS都可以控制。 除了控制风扇和获取温度,还可以设置EuP, Power Recovery Mode

关于EC协议,请查看我的另一片文章EC 协议简析

怎么用

注意:需要root权限运行。

qute v0.1

QNAP device control. Use AT YOUR OWN RISK!!!

USAGE: qute [OPTIONS] [COMMANDS]

OPTIONS:
  -V, --version                 Show version number
  -h, --help                    Show help message
  -v, --verbose [level:N]       Show verbose messages
  -q, --quiet                   Silence all output

COMMANDS:
  eup                           get or set Eup mode
  fan                            get or set fan speed
  power                       get or set power recovery mode
  temp                         get temperature

TS-453B mini 规格信息

453Bmini

Intel Celeron J3455 CPU is a 1.5GHz frequency, that can be bursted to 2.3GHz per core

HD Graphics 500 GPU with 12 EUs

DDR3L 1600 RAM

风扇 fan: xtreme BD121232LB  元山科技

(120 mm, 12 V,1700 RPM, 23 CFM, 42.5 dBA, and 80000 MTBF)

+12V DC
4PIN (PWM)
120 x 120 x 32mm
1500 min^-1 nominal
Cable length 250 mm
Mounting holes 105 x 105 +/0.3 mm
0.19A

内存可以加到16GB。

更多

请移步github了解更多。

参考

  • https://github.com/guedou/TS-453Be