Desconecte el dispositivo USB sin desenchufarlo ni volverlo a conectar

Desconecte el dispositivo USB sin desenchufarlo ni volverlo a conectar

Tengo un IRTOY comprado a prototipos peligrosos. Lo ejecuto en Windows 7 x64 con WinLirc 0.9c. Pero a veces los dispositivos simplemente se cuelgan de repente y necesito quitarlos y volver a colocarlos para que vuelvan a funcionar. Deshabilitar y habilitar el puerto com desde el administrador de dispositivos a menudo genera un mensaje de error en Windows que indica que el dispositivo no se pudo activar.

Parece un problema de hardware relacionado con el IRTOY. Ahora estoy buscando un dispositivo para cortar la alimentación por USB. Debería poder cortar la alimentación del dispositivo de forma remota. En realidad, debería simular una extracción física del dispositivo del puerto USB, como un relé con conectores USB macho y hembra.

¿Hay alguna solución a este problema?

Respuesta1

Aparentemente, el IRTOY tiene un error y necesita un reinicio total, y el apagado es el único medio para hacerlo. Malo.

Una solución para alternar la alimentación de VBUS mediante software sería utilizar un concentrador USB con controladores de alimentación de puerto conmutables (normalmente son difíciles de encontrar, pero aún más fáciles que encontrar una placa base de PC con controladores de alimentación de puerto). Luego deberías lograr emitir ClearPortFeature(PORT_POWER) al puerto con el IRTOY conectado y luego SetPortFeature(PORT_POWER).

No estoy seguro de cómo hacer esto exactamente desde el espacio de la aplicación, pero el Visor de árbol de dispositivos USB gratuito (porUwe Sieber) puede activar y desactivar el puerto VBUS usando la opción emergente "Reiniciar dispositivo". Tenga en cuenta que un puerto USB generalmente tiene un condensador considerable conectado, por lo que puede tomar algún tiempo purgar el VBUS, por lo que el comando Borrar y Configurar debe separarse adecuadamente a tiempo. Desafortunadamente, USBTreeView lo hace demasiado rápido. Alternativamente, puede reiniciar todo el concentrador; lleva bastante tiempo apagar VBUS en sus puertos descendentes.

Si Uwe no tiene su código fuente abierto, deberás ir aSDK de Microsoftpara obtener el código fuente principal de USBView y descubrir cómo emitir los comandos de activación/desactivación del puerto al controlador.

información relacionada