¿Cómo evitar que el dispositivo USB (cámara de acción) se vaya a dormir?


8

Tengo una cámara de acción ( iON Air Pro Lite WiFi ). Utiliza una tarjeta SD y se puede conectar a la PC mediante un cable USB. Viene solo con soporte para Windows y Mac. Sin embargo, una vez conectada a través de USB y encendida , la cámara aparece como un volumen de 32 GB (tamaño de la SD) en Nautilus , lo que me permite editar la configuración de la cámara a través de un archivo simple y, lo más importante, ver, copiar y eliminar Los archivos de video reales. Eso es todo lo que necesito. Funciona igual en Windows, básicamente.

Mientras está conectado y encendido, lsusbmuestra la cámara como:

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

El problema es : conectado a mi máquina Linux (Debian 9), la cámara se apaga nuevamente después de solo 1 a 10 segundos. Si logro navegar a la carpeta de archivos de video y empiezo a copiar un archivo, la cámara permanecerá encendida mientras el proceso de copia esté haciendo su trabajo. Una vez que se copia el archivo, la cámara se apaga solo después de unos momentos. Esto no sucede cuando está conectado a una máquina con Windows.

Mi pregunta es, ¿qué puedo hacer para evitar que el dispositivo se apague solo?
Al ver cómo esto no sucede cuando se conecta a Windows y tampoco mientras se mantiene el dispositivo ocupado, supongo que debería haber una manera. Sin embargo, realmente no tengo idea de por dónde empezar. Mi línea de pensamiento actualmente es:

  • Podría ser un problema del conductor. Como no tengo conocimiento de los conductores, no sabría cómo ir desde aquí, a menos que alguien me tome de la mano o pueda señalarme fuentes increíbles.
  • Tal vez haya una manera de sondear / hacer ping a un dispositivo USB de alguna manera genérica y tal vez eso sea suficiente para mantenerlo vivo. Si es así, esto suena como algo que podría resolverse con algún código. Mi investigación actual me llevó a la GET_STATUSSolicitud de dispositivo estándar, pero eso no parece funcionar (ver más abajo).
  • En el peor de los casos, una secuencia de comandos que constantemente copia archivos ficticios desde y / o al dispositivo (o incluso simplemente renombra / mueve archivos en el dispositivo) probablemente debería ser el truco. Necesitaría encontrar una manera de ejecutarlo automáticamente cuando este dispositivo en particular esté conectado. Esta opción parece factible, pero no muy limpia (después de todo, las lecturas / escrituras constantes acortan la vida útil de una tarjeta SD, y dado que unos pocos momentos de inactividad pueden provocar un apagado, estas operaciones tendrían que ejecutarse constantemente).

EDITAR 1 : Encontré PyUSB y escribí un script simple que enviaría un GET_STATUSa la cámara cada 2 ms (a través de la ctrl_transferfunción). Esto no evitó que la cámara se apagara en absoluto.

EDIT 2 : todavía no he encontrado una solución. Además, en aproximadamente uno de cada 5 casos, la cámara se apaga incluso mientras se copia un archivo . Por favor comparta cualquier idea sobre posibles causas y / o soluciones.


¿Esto quizás esté relacionado con el modo Powernap / laptop? /ubuntu/80638/how-to-disable-auto-power-off-of-usb-devices-like-usb-mouse
Dfaure

@Dfaure gracias por el puntero. Lamentablemente, ninguna de esas sugerencias funcionó. Además, estoy en una máquina de escritorio.
domsson

1
Su salida lsusb me dio la idea de que tal vez su cámara aparece en Linux como GoPro y que los trucos / problemas para GoPro pueden aplicarse a su iON Air Pro. Ahí es donde comenzaría. Esto puede ser aplicable: copy-files-from-gopro-over-usb-on-linux
Glenn

Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia. - De la opinión
Jeff Schaller

@jeffschaller ¿Hacemos una excepción para las respuestas de solo enlace cuando el enlace es otro sitio SE?
Shadur

Respuestas:


0

Puede ser una suspensión automática de USB.

Mira / sys / fs:

find /sys/devices/ -name autosuspend

Y vea si el archivo sysfs relevante contiene "1"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.