Désactiver L'alimentation USB avec le noyau noir de BeagleBone> = 3,8

j'ai besoin de:

  • éteignez - > dormez quelques secondes - > allumez la puissance USB de beaglebone black

pour être en mesure de matériel réinitialiser un périphérique qui est connecté à un port USB (Modem Huawei E220)

déjà essayé soft-reset( avec unbind / bind et avec authorize 0/1), mais la réinitialisation du logiciel n'est pas suffisante pour faire fonctionner l'appareil à nouveau; l'appareil a un bug bizarre, qui est déclenché par une utilisation de longue date (après quelques jours connecter.)

de nombreuses réponses ont été trouvées en utilisant /sys/debug/omap_mux, mais ce périphérique n'existe plus dans les nouveaux noyaux.

puisque cette question a pris une paire de jours pour obtenir une réponse réalisable, j'ai décidé de la poster ici, avec la réponse, afin qu'elle puisse être utile pour d'autres.

9
demandé sur pzn 2014-06-04 17:56:13

1 réponses

merci à mon ami Cleiton Bueno http://cleitonbueno.wordpress.com/ qui a trouvé cette solution pour moi:

prérequis:

  • apt-get install devmem2

Code qui a résolu le problème:

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

la commande" devmem2 " est responsable de l'accès direct GPIO3_13 du beaglebone, qui contrôle L'IC qui alimente/désactive le port USB.

les commandes "unbind / bind" sont responsables de dire pilote usb pour "rescan" le port après l'alimentation.

12
répondu pzn 2014-06-04 13:56:13