Como manter o dispositivo USB (cam ação) de ir dormir?

7

Eu tenho uma câmera de ação ( iON Air Pro Lite WiFi ). Ele usa um cartão SD e pode ser conectado ao PC via cabo USB. Ele vem apenas com suporte para Windows e Mac. No entanto, uma vez conectado via USB e ligado , o cam aparece como um volume de 32 GB (tamanho do SD) em Nautilus , que me permite editar a configuração da cam por meio de um arquivo simples e, o mais importante, ver, copiar e excluir os arquivos de vídeo reais. Isso é tudo que preciso. Funciona da mesma forma no Windows, basicamente.

Enquanto conectado e ligado, lsusb mostra a câmera como:

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

O problema é : conectado à minha máquina Linux (Debian 9), a câmera se desliga novamente após apenas 1 a 10 segundos. Se eu conseguir navegar até a pasta de arquivos de vídeo e começar a copiar um arquivo, a câmera permanecerá ativa enquanto o processo de cópia estiver funcionando. Depois que o arquivo é copiado, a câmera se desliga após alguns instantes. Isso não acontece quando conectado a uma máquina Windows.

A minha pergunta é: o que posso fazer para evitar que o dispositivo se desligue?
Vendo como isso não acontece quando conectado ao Windows e também não mantendo o dispositivo ocupado, eu assumo que deve haver um caminho. No entanto, eu realmente não tenho ideia de por onde começar. Minha linha de pensamento atualmente é:

  • Poderia ser um problema de driver. Como não tenho nenhum conhecimento sobre drivers, eu não saberia como ir a partir daqui, a menos que alguém estivesse segurando minha mão ou pudesse me apontar fontes surpreendentes.
  • Talvez exista uma maneira de pesquisar / pingar um dispositivo USB de alguma maneira genérica e talvez isso seja suficiente para mantê-lo ativo. Se assim for, isso soa como algo que poderia ser resolvido com algum código. Minha pesquisa atual levou-me à GET_STATUS Solicitação de dispositivo padrão , mas isso não parece fazer truque (veja abaixo).
  • No pior caso, um script que constantemente copia arquivos falsos de e / ou para o dispositivo (ou apenas renomeia / move arquivos no dispositivo) provavelmente deve fazer o truque. Eu precisaria encontrar uma maneira de executá-lo automaticamente quando esse dispositivo específico estiver conectado. Essa opção parece viável, mas não muito limpa (afinal, as leituras / gravações constantes encurtam a vida útil de um cartão SD e, considerando que alguns momentos de inatividade podem levar a um desligamento, essas operações precisariam ser executadas constantemente). / li>

EDIT 1 : Eu encontrei PyUSB e escrevi um script simples que enviaria um GET_STATUS para a câmera a cada 2 ms (através da função ctrl_transfer ). Isso não impediu que a cam desligasse.

EDIT 2 : Ainda não encontrei uma solução. Além disso, em cerca de um dos cinco casos, a câmera desliga mesmo enquanto copia um arquivo dela. Por favor, compartilhe quaisquer idéias sobre possíveis causas e / ou soluções.

    
por domsson 20.04.2017 / 23:41

1 resposta

0

Pode ser autosuspendido por USB.

Olhe para / sys / fs:

find /sys/devices/ -name autosuspend

E veja se o arquivo sysfs relevante contém "1"

    
por 04.10.2018 / 02:04