美文网首页我用 Linux
移动硬盘省电一法

移动硬盘省电一法

作者: 萝卜头实验室 | 来源:发表于2018-04-30 20:13 被阅读132次

本文讨论如何用软件方式断开USB设备以实现联机USB设备的节电。

问题

买3D打印机时满减凑单,选了一个移动硬盘座。4盘位,想着把旧硬盘放上去,用来做备份用。为了全自动化,需要把移动硬盘座一直插在服务器上(服务器是Mac mini,装的Linux)。

移动硬盘座和Mac mini

测了下硬盘座的功率:

  • 不插硬盘:5.6W
  • 插一个硬盘:14W
  • 插两个硬盘:21W

这个功率真不低。而且它也不会休眠节电啥的,不管有没有数据读写,一直是21W.

做备份用,其实每天只需要开机20分钟。本想用WiFi插座定时开关电源,结果硬盘座上有一个电子开关(非机械开关),上电时一定要按一下才能开机,真要命。

试了下umount,功耗也一样。

作为对比,西数的移动硬盘盒(含一个硬盘)在联机时功耗只有5.7W(这里可能有硬盘不同的因素,没有交叉对比),而且umount时功耗接近于0。所以,这个硬盘座有点鸡肋。

解决方案

我甚至想到了用机械指去按一下那个开机键。但这毕竟有点杀鸡牛刀。

经过观察发现,如果硬盘座开机但不联机,功耗也是大约6W。

剩下的问题就是看能不能用软件把USB断开。

搜寻网络,发现还是有办法的。但对不同的Linux内核,办法可能不同。长话短说,我们现在应该很少有机会碰到2.6及以前的内核了。那就只关心新内核上的做法:

echo "2-1.2" > /sys/bus/usb/drivers/usb/unbind
echo "2-1.2" > /sys/bus/usb/drivers/usb/bind

就是把设备标识写入USB驱动的unbind或bind文件,就能实现断开或连接USB的效果。

具体地说:

  • 先用 lsusb 看看设备的总线和设备编号(图中是总线2设备4);顺便记下设备的VID和PID(图中是152d和0567)
  • 然后用 lsusb -t 找到设备的端口(图中是总线2-端口1-端口2,所以魔法字符串是 “2-1.2")
用lsusb查看USB设备

这样就可以用 bind/unbind控制了,顺便看看这个目录的内容。bind/unbind两个文件是只写的,端口编号都是一些符号链接。

USB drivers目录

实现

在主机重启的时候,这些端口编号是有可能变化的,所以不能用固定的数字,而是要把查找魔法字符串的过程自动化。

但上面用lsusb查找的方式并不很适合于程序。对程序更友好的方式是遍历 /sys/bus/usb/drivers/usb 的子目录,看哪个子目录里的 idVendor及idProduct 能和目标 VID及PID 匹配。

而在需要重新“插入”设备时,这些文件都不存在了(因为设备已断开),所以需要事先把魔法字符串保存下来。

另外,在服务器启动/重启后,需要马上将移动硬盘“断开”。

具体实现请看这里

效果

下图是通过小米ZigBee插座记录的功率历史。从4/27开始,每天凌晨一次备份任务,图中显示为一条竖线。4/27服务器有一次手动重启,所以图中有两条竖线。在4/26之前,理论上每天也只应该凌晨有一次峰值,但实际上并不规律。

功率历史记录

下图是每日耗电。

每日电量统计

理论上,在节电方案前应该是0.5度(21W*24h)左右。4/26因为在调试节电方案,反复重启,插拔,耗电很高是可以理解的。但平时的波动还是有点超出预期。

理论上,在节电方案后应该接近0.15度(6W*24h)。但图中相对较高的4/29都只有0.025度。这让我怀疑小米插座的功率计的准确性。

扩展应用

本文主要实现了通过软件断开USB移动硬盘(物理上,USB设备是一直上电和连接USB的),确认可以起到节电的效果。

这个方法适用于其它需要软件断开/连接USB设备的场合。但要注意,它并没有断开USB设备的供电(测试过手机充电),应该是相当于“数据线的断开”。所以,想用这种办法控制USB小夜灯或风扇之类的应该是不行的。

参考

相关文章

  • 移动硬盘省电一法

    本文讨论如何用软件方式断开USB设备以实现联机USB设备的节电。 问题 买3D打印机时满减凑单,选了一个移动硬盘座...

  • 堆肥|人生苦短,及时充电

    「让我们进入超级省电模式。」 安卓手机常用两个功能,一个是省电模式,一个是超级省电模式,通常大家都会用省电模式,超...

  • Android P 省电模式(LowPowerMode)(二)

    在上篇文章Android P 省电模式(LowPowerMode)(一) ------ 省电模式手动开启流程 中最...

  • 省电

    文|尘 小时候我家的麻将机还有用,经常有人到我家来打麻将,我妈妈也在桌上凑角儿。 我就坐在妈妈的旁边,自己的小脑袋...

  • 省电

    很多天了,反正就是一个字,热! 今晚沿江两岸的路灯亮的盏数很少,当我在晚上八点左右发现这个状况的时候,还特地将这个...

  • 给树莓派添加一块USB移动硬盘

    给树莓派添加一块旧的USB移动硬盘:1.树莓派usb接上移动硬盘,移动硬盘需另外供电查看:sudo fdisk -...

  • 移动硬盘异常退出后mac不识别

     今天用mac看移动硬盘上的文件时,移动mac,硬盘异常退出,再连接时,mac不再识别移动硬盘,移动硬盘的指示灯一...

  • win10移动硬盘无法访问提示参数错误解决笔记!

    印象中是修复了一下移动硬盘导致移动硬盘无法打开的。打开cmd命令行,输入CHKDSK G: /F /RG为移动硬盘...

  • 移动设备(U盘、移动硬盘等)无法弹出怎么办?

    常用的移动硬盘 近年来,因为U盘、移动硬盘等损坏...

  • 我的“我我我”文体/问题

    本想打“文体”,但输入法自动出来了“问题”。嗯,也对,确实是一个问题。 * 今天,久违地拿出自己的移动硬盘,开始看...

网友评论

    本文标题:移动硬盘省电一法

    本文链接:https://www.haomeiwen.com/subject/jertrftx.html