Pergunta

Preciso:

  • desligue -> durma alguns segundos -> ligue a alimentação USB do beaglebone black

para poder redefinir o hardware de um dispositivo conectado ao USB (Modem Huawei E220)

Já tentei reinicialização suave (com desvinculação/ligação e autorização 0/1), mas a reinicialização do software não é suficiente para fazer o dispositivo funcionar bem novamente;o dispositivo tem um bug estranho, que é acionado por um uso prolongado (depois de alguns dias conectado).

Muitas respostas foram encontradas usando /sys/debug/omap_mux, mas este dispositivo não existe mais em novos kernels.

Como esta pergunta demorou alguns dias para obter uma resposta viável, decidi postá-la aqui, com a resposta, para que possa ser útil para outras pessoas.

Foi útil?

Solução

Obrigado ao meu amigo Cleiton Bueno http://cleitonbueno.wordpress.com/ que encontrou esta solução para mim:

pré-requisitos:

  • apt-get instalar devmem2

Código que resolveu o problema:

devmem2 0x47401c60 b 0x00
sleep 1
echo "usb1" > /sys/bus/usb/drivers/usb/unbind
sleep 20
echo "usb1" > /sys/bus/usb/drivers/usb/bind
sleep 1
devmem2 0x47401c60 b 0x01

O comando "devmem2" é responsável por acessar diretamente o GPIO3_13 do beaglebone, que controla o IC que liga/desliga a porta USB.

Os comandos "unbind/bind" são responsáveis ​​por informar ao driver USB para "rescanear" a porta após a alimentação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top