Quiero crear un sistema de transferencia de datos de USB a USB en Linux (preferiblemente Ubuntu). Para esto no quiero usar ningún hardware externo o conmutador ( excepto este cable ). Será como montar una unidad USB en un sistema, pero en este escenario uno de los sistemas Linux se montará en el otro. ¿Cómo puedo crear esto?
¿Hay algún módulo de kernel disponible, dado que mi experiencia con la programación del kernel es muy básica?
kernel
drivers
usb
kernel-modules
the_Strider
fuente
fuente
Respuestas:
Si esto es posible, pero es no es posible cortando dos cables USB con conector USB-A (lo que normalmente van en el USB de la placa base) y cruzan la conexión de los cables de datos. Si conecta las líneas de alimentación USB en un cable de fabricación propia, es probable que termine friendo su chip de manejo USB incorporado . ¡No intentes esto en casa!
En la mayoría de las placas de computadora, los chips que manejan USB son solo host. No solo eso, sino que también maneja gran parte de la comunicación de bajo nivel para acelerar las cosas y reducir la carga en la CPU. No es como si pudieras programar tu computadora para que maneje los pines en el puerto USB para actuar como si no fuera un host. Los dispositivos capaces, a nivel de chip, de cambiar entre actuar como un host y conectarse a un host son pocos, ya que esto requiere un chip mucho más costoso¹. Esto es, por ejemplo, por qué los dispositivos inteligentes como mi teléfono inteligente, mi GPS y mi libro electrónico, aunque todos ejecutan Linux o algo similar, no me permiten usar la
ssh
comunicación cuando estoy conectado a través de un cable USB normal.Esos dispositivos entran en un modo tonto cuando están conectados, donde el host (mi sistema de escritorio) puede usar su almacenamiento como un disco USB. Después de desconectar el dispositivo, utiliza la misma interfaz que un host para acceder a los datos (aunque no se requiere conexión por cable, esto ocurre internamente). Con ese tipo de dispositivos, incluso si Linux se ejecuta en ambos, no hay comunicación entre los sistemas, es decir, los Linux . Esto es independiente de un cable micro o mini USB normal que los conecta a mi escritorio.
Entre dos PC de escritorio, lo anterior es normalmente imposible de hacer, ya que requeriría un cable USB-A a USB-A, lo cual no es común (ya que de todos modos no funcionaría con los chips normales que controlan las conexiones).
Cualquier solución que haga USB a USB con dos conectores USB-A que he visto se basa en un cable que tiene algunos elementos electrónicos en el medio. (al igual que un USB → Serie conectado a un cable Serie → USB, pero todo en una sola pieza). Normalmente, estos requieren que los controladores realicen la transferencia, aunque es posible que pueda usar UUCP o alguna otra cosa a través de dicho cable, como lo haría con un puerto serie "normal". Probablemente esto requiera inetd y la configuración adecuada para iniciar sesión en la otra computadora también.
¹ El único dispositivo que tengo que se puede cambiar de software de esta manera es una placa Arduino con exactamente un chip tan especial. Solo este chip hizo que la placa fuera dos veces más cara que una placa Arduino normal.
fuente
ssh
para comunicarme cuando estoy conectado a través de un cable USB normal" Puedo estar malinterpretándote, pero puedossh
en mi iPhone con jailbreakopenssh
en el dispositivo, puede hacerlossh
(a través de Wi-Fi), y si instalaafc2
(Apple File Conduit) en el dispositivo, debería poder explorar el sistema de archivos a través de USB (sin él, está "encarcelado" "a/var/mobile
)Sí, USB 3.0 hace posible la transferencia de datos full duplex, con cableado 3.0. Las especificaciones están en la sección 5.5.2 de las especificaciones USB. El enlace a esas especificaciones se proporciona anteriormente en otra respuesta. http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf
Los cables son cada vez más fáciles de encontrar: se pueden comprar en Amazon, por ejemplo, por menos de $ 8.00. asegúrese de comprar TRANSFERENCIA DE DATOS, cables macho A a macho A. Las versiones más nuevas de Linux admiten la transferencia.
Espero que eso ayude a alguien. Busqué la respuesta durante bastante tiempo.
fuente
podría usar un dispositivo puente USB que esté disponible en un factor de forma de cable como este ... http://www.usbgear.com/link/ (advertencia de reproducción automática de video)
fuente
Es técnicamente posible si uno de los dispositivos admite USB OTG , en el que un puerto puede actuar como maestro o esclavo. Puede configurar el dispositivo OTG como esclavo y dejar que actúe como una unidad de disco duro USB (para que ni siquiera necesite un controlador especial en el maestro).
Esto es lo que hacen muchos teléfonos y algunas cámaras. Si los conecta a una impresora, se convierten en maestros; si se conectan a una PC se convierten en esclavos.
fuente
La forma en que lo haría es usar 2 cables serie USB y una conexión nula entre ellos. Luego puede usar xmodem, zmodem, kermit, etc. para transferir archivos, o usar ppp o slip para una red entre dos máquinas. Pasado de moda pero funcionará.
Thad
fuente