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 conectada via USB e ligada , a câmera aparece como um volume de 32 GB (tamanho do SD) no Nautilus , que permite editar a configuração da câmera por um arquivo simples e, o mais importante, visualizar, 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 é : conectada à minha máquina Linux (Debian 9), a câmera desliga-se novamente após apenas 1 a 10 segundos. Se eu conseguir navegar para a pasta de arquivos de vídeo e começar a copiar um arquivo, a câmera permanecerá ligada 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.
Minha pergunta é: o que posso fazer para impedir que o dispositivo se desligue?
Vendo como isso não acontece quando conectado ao Windows e também não mantendo o dispositivo ocupado, presumo que deve haver uma maneira. No entanto, eu realmente não tenho idéia por onde começar. Minha linha de pensamento atualmente é:
- Pode ser um problema de driver. Como não tenho conhecimento sobre motoristas, não saberia como sair daqui, a menos que alguém estivesse segurando minha mão ou pudesse me indicar fontes surpreendentes.
- Talvez haja uma maneira de pesquisar / executar ping em um dispositivo USB de alguma maneira genérica e talvez isso seja suficiente para mantê-lo vivo. Nesse caso, isso parece algo que pode ser resolvido com algum código. Minha pesquisa atual me levou à
GET_STATUS
Solicitação de dispositivo padrão, mas isso não parece ser suficiente (veja abaixo). - Na pior das hipóteses, um script que copia constantemente arquivos fictícios de e / ou para o dispositivo (ou mesmo 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 diminuem a vida útil do cartão SD e, dado que alguns momentos de inatividade podem levar ao desligamento, essas operações precisam ser executadas constantemente).
EDIT 1 : Encontrei o PyUSB e escrevi um script simples que enviava um GET_STATUS
para a câmera a cada 2 ms (através da ctrl_transfer
função). Isso não impediu a câmera de desligar.
EDIT 2 : Ainda não encontrei uma solução. Além disso, em cerca de um em cada cinco casos, a câmera desliga mesmo enquanto copia um arquivo dela. Compartilhe quaisquer idéias sobre possíveis causas e / ou soluções.