Emular dispositivo USB con host USB

6

En principio, ¿es posible conectar dos computadoras con un cable USB A a USB A, y tener una que pretende ser un dispositivo USB y la otra actuar como host?

Supongamos que tengo un control completo en el lado del software (a través del controlador / módulo del kernel), y el cable puede ser modificado (por ejemplo, cruzado).

Si no es posible, ¿por qué no? (Por ejemplo, tal vez no se pueda hacer que el conjunto de chips del host envíe señales necesarias por software o algo así). ¿Y cuál es el hardware mínimo que tendría que colocar entre las dos computadoras para hacer que esto funcione?

    
pregunta jdm

3 respuestas

2

Encontré el tablero Facedancer , que parece interesante. Contiene un FTDI, un microcontrolador y un controlador USB MAX3421E, y le permite emular un dispositivo USB en Python ! Es decir, básicamente escribe el código de bits en Python en su PC, y la otra PC ve el dispositivo USB que emula. Podría ser interesante para la creación de prototipos, y se ha utilizado para fuzzing (encontrar errores automáticamente en implementaciones de host USB y software).

    
respondido por el jdm
1

Sí, es posible conectar dos computadoras a través de USB.

No es tan simple como los cables cruzados. Necesita circuitos activos para hacer eso. Hay cables comerciales disponibles que le permiten conectar dos computadoras. Por lo general, se utilizan para transferir datos o migrar de una computadora / computadora portátil nueva a una nueva.

  

Si no es posible, ¿por qué no? (Por ejemplo, tal vez no se pueda hacer que el conjunto de chips del host envíe las señales necesarias por software o algo así).

No es posible en el caso de una computadora (asumiendo una PC como mencionó USB-A) porque el USB generado desde el chipset ( ICH en el caso de Intel) solo es capaz como host.


  

¿Y cuál es el hardware mínimo que tendría que colocar entre las dos computadoras para que esto funcione?

Eche un vistazo a Belkin Easy Transfer (F5U279)

    
respondido por el Chetan Bhargava
-1

En principio, sí puedes. Suponiendo que tiene soporte completo y documentación del controlador. A menos que el chipset no permita el control directo.

Es básicamente como USB OTG palabras. Un dispositivo esclavo que también puede actuar como un dispositivo host, y viceversa. Sólo software especializado. También es similar a cómo funciona el modo de disco de destino de Firewire.

Aunque involucraría mucha codificación. El hardware podría ser tan mínimo como un cable USB A a USB A (no estándar).

En principio al menos.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas