如何防止USB设备(动作凸轮)进入睡眠状态?


8

我有一个动作摄像头(iON Air Pro Lite WiFi)。它使用SD卡,可以通过USB电缆连接到PC。它仅支持Windows和Mac。但是,通过USB连接并打开后,凸轮在Nautilus中的确显示为32 GB的卷(SD的大小),这让我通过一个简单的文件来编辑凸轮的配置,最重要的是,查看,复制和删除实际的视频文件。这就是我所需要的。基本上,它在Windows上的工作原理相同。

连接并打开电源后,lsusb将凸轮显示为:

Bus 003 Device 013: ID 4255:1000 GoPro 9FF2 [Digital Photo Display]

问题是:连接到我的Linux(Debian 9)计算机后,凸轮仅在1到10秒后再次自行关闭。如果我设法导航到视频文件文件夹并开始复制文件,则只要复制过程完成工作,凸轮将一直保持打开状态。复制文件后,凸轮会在几分钟后自动关闭电源。连接到Windows计算机时,不会发生这种情况。

我的问题是,我该怎么做才能防止设备自行关闭?
看到连接到Windows以及如何保持设备繁忙时,这种情况不会发生,我认为应该有一种方法。但是,我真的不知道从哪里开始。我目前的思路是:

  • 可能是驱动程序问题。由于我对驾驶员一无所知,因此除非有人会牵着我的手或将我引向令人惊讶的消息来源,否则我将不知道如何去这里。
  • 也许有一种以某种通用方式轮询/轮询USB设备的方法,也许足以保持它的生命。如果是这样,这听起来可以用一些代码解决。我目前的研究使我提出了“ GET_STATUS标准设备请求”,但似乎并不能解决问题(请参见下文)。
  • 最坏的情况是,一个脚本会不断地从设备和/或向设备复制虚拟文件(甚至只是在设备上重命名/移动文件),这也许可以解决问题。我需要找到一种方法,使其在连接此特定设备时自动运行。此选项似乎可行,但不是很干净(毕竟,持续的读/写操作确实会缩短SD卡的寿命,并且由于不活动的片刻可能会导致电源关闭,因此这些操作将需要不断运行)。

编辑1:我找到了PyUSB,并编写了一个简单的脚本,该脚本GET_STATUS每2毫秒(通过ctrl_transfer函数)向相机发送一次。这完全没有阻止凸轮关闭电源。

编辑2:我仍然没有找到解决方案。同样,在五分之一的情况下,即使从中复制文件,凸轮也会关闭。请分享有关可能原因和/或解决方案的任何想法


这可能与Powernap /笔记本电脑模式有关吗?/ubuntu/80638/how-to-disable-auto-power-off-of-usb-devices-like-usb-mouse
Dfaure

@Dfaure感谢您的指导。可悲的是,这些建议都没有奏效。另外,我在台式机上。
domsson

1
您的lsusb输出使我想到,也许您的cam在Linux上看起来像是GoPro,而GoPro的窍门/问题可能适用于您的iON Air Pro。那就是我要开始的地方。这可能适用:Linux上从gopro复制过来的文件
Glenn

虽然此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。- 评论
杰夫·谢勒

@jeffschaller当链接是另一个SE站点时,我们是否仅将链接的答案排除在外?
Shadur

Answers:


0

可能是USB自动挂起。

查看/ sys / fs:

find /sys/devices/ -name autosuspend

并查看相关的sysfs文件是否包含“ 1”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.