31 votos

¿Transferencia de archivos de PC a PC con USB-C ↔ cables USB-C o USB-C ↔ USB ordinarios. ¿Es posible?

Tengo una laptop HP Win 10 de 64 bits (modelo: 15-dw0088ca) que tiene 1 puerto USB-C y dos puertos USB.

  1. ¿Puedo usar un cable USB-C a USB-C ordinario, como el de la imagen 1, para transferir archivos desde esta computadora HP a otra que también tenga un puerto USB-C?

    simplex1_0-1633888143587.jpeg

    Imagen 1: Cable USB-C a USB-C.

  2. ¿Puedo usar un cable USB-C a USB ordinario, como el de la imagen 2, para transferir archivos desde esta computadora HP a otra que solo tiene puertos USB (sin puerto USB-C)?

    simplex1_1-1633888328047.jpeg

    Imagen 2: Cable USB-C a USB.

Nota: Sé que, con cierto software, se pueden transferir archivos de una PC a otra utilizando un cable USB a USB especial como este:

simplex1_2-1633888514559.jpeg

Cable de transferencia de datos de PC a PC (que no tengo).

Varios sitios afirman que usar un cable USB a USB ordinario para la transferencia de datos de PC a PC no es una solución. Realmente no entiendo por qué, dado que cables ordinarios como USB a Micro-USB, USB a USB-C, USB-C a USB-C pueden utilizarse para transferir archivos entre un teléfono móvil y una PC.

Nota:

Hay una pregunta similar (¿Es posible conectar dos PCs mediante USB-C?), pero las respuestas allí son un poco especulativas. Este es un ejemplo:

Así que, si tienes dos computadoras con puertos USB-C y un cable USB-C, entonces lo más probable es que todo el hardware esté allí para establecer una conexión de 20 Gbps entre las dos. Solo se necesita que una computadora tenga el software adecuado para admitir un dispositivo de red en un puerto USB-C, y que la otra tenga el software adecuado para emular un dispositivo de red en un puerto USB-C.

No está claro en el extracto anterior si es posible una conexión USB-C a USB-C entre dos computadoras, con un cable ordinario (no un cable de transferencia de datos). Además, no hay respuesta con respecto a la transferencia de datos USB-C a USB.

1 votos

¿Esta respuesta responde tu pregunta? ¿Es posible conectar dos PC a través de USB C?

0 votos

@MMM , Las respuestas allí son un poco especulativas. no son del todo claras. Cito de una respuesta: "Entonces, si tienes dos computadoras con puertos USB-C y un cable USB-C, entonces las posibilidades son que todo el hardware esté ahí para hacer una conexión de 20 Gbps entre las dos. Sólo se necesita que una computadora tenga el software adecuado para soportar un dispositivo de red en un puerto USB-C, y la otra tenga el software adecuado para emular un dispositivo de red en un puerto USB-C."

2 votos

"Los cables ordinarios ... se pueden utilizar" solo si la transferencia está habilitada en el teléfono. En ese caso, el teléfono básicamente se presenta a la PC como una unidad externa o un dispositivo controlable. Las PC no tienen esa capacidad de forma predeterminada. A lo que se refiere la respuesta que citaste es a Ethernet sobre USB, en cuyo caso las PC ven los puertos USB como interfaces de red, y la transferencia de datos se realiza con protocolos de red y herramientas de transferencia de datos.

34voto

Louis Puntos 121

USB-C se deshace de la distinción física USB-A/B y en cambio permite que los dos extremos negocien para determinar cuál actúa como ordenador y cuál como dispositivo.

Sin embargo, al conectar dos ordenadores de sobremesa con USB-C juntos con un cable USB-C, aunque es físicamente posible, todavía termina con uno de los extremos requerido para actuar como dispositivo. La mayoría de los ordenadores generalmente no tienen software (o hardware) que les permita actuar como dispositivos, aunque es posible instalar dicho software. Entonces todo depende de este software.

Por eso, para USB-C genérico todavía necesitas un cable de transferencia de datos de PC a PC, que actúe como dispositivo para ambos ordenadores para que ambos ordenadores puedan actuar como anfitriones, lo cual Windows hace bien. A menos que el cable de transferencia pueda emular un adaptador de red para ambos anfitriones, también necesitarás un software especializado para la transferencia de datos.

USB-C también se puede usar para Thunderbolt 3, y si ambos ordenadores tienen esto entonces al conectarlos juntos con un cable USB-C resulta en una conexión de red de 10Gbps entre los dos. Thunderbolt 3 tiene esta capacidad de red incorporada, en lugar de requerir adaptadores o software especial. Incluso puedes usar esta capacidad para encadenar múltiples PCs en una LAN de alta velocidad sin necesidad de un switch, siempre y cuando los PCs intermedios tengan dos puertos Thunderbolt 3, aprovechando la capacidad de encadenamiento en serie incorporada en Thunderbolt 3.

Sin Thunderbolt 3, lo mejor es hacer la transferencia a través de un router común. También puedes conectar los dos ordenadores directamente a través de un cable Ethernet para crear una red local. Los adaptadores Ethernet modernos ni siquiera necesitan un cable cruzado.

26 votos

Creo que debería tenerse en cuenta lo absolutamente insano que es que un usuario ordinario no pueda transferir archivos entre dos computadoras prácticamente al vincularlas con un cable físico, ya sea USB o Ethernet.

5 votos

"La mayoría de las computadoras generalmente no tienen software que les permita actuar como dispositivos" - esto es un profundo error. Para actuar como dispositivo USB, la computadora debe tener un bloque de hardware dedicado y medios para controlar los flujos de datos/multiplexores de host-dispositivo. Lo cual está ausente en la mayoría de todas las computadoras de escritorio. "Solo software" no puede convertir un controlador de host USB en un "controlador de dispositivo", las funciones de hardware son fundamentalmente diferentes. Y no hay un modelo lógico de conexión de host a host en USB3 y anteriores. El concepto solo se introduce en USB4.

4 votos

@iono Funciona perfectamente con Ethernet. Ambas computadoras recibirán una dirección APIPA y si respondes "sí" a la ventana emergente de Windows que te pregunta si quieres hacer que tu computadora sea detectable por otras en la red, podrás compartir archivos. Otros sistemas operativos tienen diferentes opciones de intercambio de archivos (como scp), pero en esencia es lo mismo.

18voto

Nick Dixon Puntos 154

¿Puedo usar un cable USB-C <-> USB-C ordinario, como el de la Imagen 1, para transferir archivos desde esta computadora HP a otra que también tenga un puerto USB-C?

Hasta donde yo sé: solo si ambos puertos son puertos Thunderbolt o USB4, y si el sistema operativo en ambos extremos soporta "IP sobre Thunderbolt" (o realmente Ethernet sobre Thunderbolt). Esto está disponible en macOS, Linux, y aparentemente es compatible en Windows 10 también. Si es compatible, la conexión aparecería como una nueva interfaz LAN a través de la cual se podría utilizar SMB u otro software de transferencia de archivos de red.

Desafortunadamente, parece que el puerto USB-C de tu portátil solo admite USB (3.2 Gen 1x1) pero no Thunderbolt.

Con solo USB, en teoría sería posible con USB-C que cualquiera de los extremos actúe como un rol (host USB vs periférico USB), pero hasta donde sé, las laptops típicamente no admiten esto: solo los smartphones tienden a ser de doble rol, mientras que las computadoras siempre son hosts.

(Cabe señalar que la capacidad para cambiar roles USB para la transferencia de datos parece ser completamente independente de la capacidad para cambiar la dirección del suministro de energía en la Entrega de Energía de USB.)

¿Puedo usar un cable USB-C <-> USB ordinario, como el de la Imagen 2, para transferir archivos desde esta computadora HP a otra que solo tiene puertos USB (sin puerto USB-C)?

Lo mismo que arriba, excepto que el dispositivo en el lado USB tipo-A es siempre un host USB, por lo que la laptop HP en el lado USB-C es específicamente la que necesitaría admitir el cambio de rol.

(Finalmente, <em>si</em> uno de los dispositivos admitiera el modo periférico USB también conocido como USB OTG, como por ejemplo una Raspberry Pi con su chip "dwc2" capaz de OTG, podría fingir ser una interfaz de red o un dispositivo de almacenamiento, pero solo Linux tiene controladores llamados "gadget" que implementan esto; Windows no.)

Será útil si alguien puede explicarme el propósito de ese convertidor que se puede ver en el medio del cable de transferencia de datos de PC a PC (la última de las tres imágenes que publiqué).

No se permiten conexiones regulares USB A a A. El puerto 'A' siempre está en el host USB, y no puedes conectar dos hosts USB juntos. Si intentaras hacer un cable directo de ese tipo, probablemente dañarías uno de los controladores USB.

(Los puertos Micro-B en teléfonos y algunos modelos de RPi están cableados a controladores especiales que pueden actuar como host o periférico, y el puerto Micro-B en sí tiene un pin adicional para indicar esto, algo que los puertos completos A/B no tenían.)

Así que lo que (usualmente) tienes con este cable no es una conexión A a A entre las PCs, sino dos conexiones estándar A a B a la caja en el medio que actúa como un periférico USB en ambos lados. Son bastante similares a si tuvieras dos adaptadores "USB a Ethernet" conectados de forma cruzada.

2 votos

Para Macos, tienes que arrancar uno de los ordenadores en "modo de disco de destino".

0 votos

@ChristopherSchultz: Si deseas acceso directo al disco a través de SCSI, entonces sí, pero esa es una función separada de la conexión a través de TB/FW.

0 votos

" probablemente freirías uno de los controladores USB." USB, incluso las generaciones anteriores, es bastante resistente. Dado que el voltaje se limitará a 5V, nada se freirá. No funcionará, pero en el peor de los casos, es posible que necesites reiniciar ambos PC.

3voto

AcePL Puntos 740

Para ti, (des)afortunadamente, la respuesta se reduce a esto: consigue un cable USB-C/USB-C y prueba. Sin embargo, debes tener cuidado, ya que Austin Hemmelgarn señala que puede haber una diferencia significativa de voltaje entre laptops, la cual puede no ser mitigada por la protección interna del puerto USB... Los laptops modernos no están conectados a tierra en absoluto, por lo que tal vez tengas que conseguir un cable de tierra USB dedicado (aunque no lo creas, aparentemente este es un gran problema en USB, especialmente para las personas que trabajan con sonido en sus laptops, y ellos lo solucionaron hace tiempo), o improvisar algo.

Para conectar dos PCs a través de USB para transferencia de datos - además de usar un cable USB-A/USB-A puenteado que tenga una placa adicional añadida, el cual no tienes - tienes algunas posibilidades disponibles:

  1. Usa un cable USB-C/USB-C. Pero también requiere que al menos uno de los puertos sea un puerto DRD (Dual-role-Data). Esto forma parte del estándar USB-C ya, por lo que básicamente depende de la construcción física real del(los) puerto(s) que tengas en tu(s) laptop(s). Si uno de tus ordenadores fuera una Mac de diseño más nuevo, la respuesta sería sí, ya que Apple hace que todos sus puertos USB-C sean DRD desde hace unos años.

  2. Creo que también podrías lograr lo que necesitas con un cable USB-A/USB-A, pero nuevamente, al menos uno de los puertos necesita ser DRD y por supuesto, creo que es una característica USB3 o superior (Pero por favor no me cites en eso, no estoy 100% seguro).

  3. En teoría, también podrías hacerlo con cualquier cable USB siempre y cuando uno de los dispositivos sea OTG (OTG es básicamente DRD, pero creo que difieren en la implementación, por lo que misma funcionalidad, construcción de puerto diferente), pero la misma condición aplica: no estoy 100% seguro. Además, no estoy seguro si OTG es puramente hardware, o también necesita software para funcionar correctamente (lo que significa controladores en tu caso).

0 votos

‘si se utiliza un cable de calidad’ y siempre y cuando tenga un plano de tierra unificado, lo cual no es garantizado en este caso. Las laptops generalmente tienen un tierra flotante, y no es inusual que tengan una diferencia de voltaje no trivial con respecto a un tierra verdadero. Una descarga al cortocircuitar el tierra flotante con un tierra verdadero en realidad no debería dañar nada, pero yo no apostaría por eso a menos que ambas computadoras involucradas sean fácilmente reemplazables.

0 votos

@AustinHemmelgarn Buen punto. Y si la laptop es más nueva, ni siquiera conectarla a un cargador la pondrá a tierra... Aunque esto ha sido abordado en el estándar USB-C, puede que no sea suficiente. Wow, esto se está volviendo interesante. ¿Qué piensas - apagar ambas laptops, conectarlas y luego encenderlas? Eso o poner a tierra los puertos USB, pero eso requiere un conector de paso, posiblemente en ambos...

1 votos

Tenga en cuenta que uno de los requisitos del USB C fue que cualquier conexión posible no cause daño, por lo tanto, no es necesario ser cuidadoso (suponiendo implementaciones adecuadas, que se deben asumir o de lo contrario ocurrirá un comportamiento indefinido)

3voto

nigel222 Puntos 171

Es posible, pero requeriría controladores diferentes a los que la mayoría de las computadoras normalmente utilizan, para el puerto particular que vas a usar para este propósito. Tal software no está ampliamente disponible y probablemente sería un fastidio configurarlo.

En términos prácticos, conectaría ambas computadoras con Ethernet Gigabit y transferiría datos entre ellas utilizando el software de red existente. El requisito de hardware mínimo (para aquellos que viven en una isla desierta) es un cable Ethernet cruzado. Si tienes una computadora sin puerto Ethernet cableado, obtén un "dongle" Ethernet USB3 (o USB2), o utiliza la conexión inalámbrica a través de tu enrutador. La conexión inalámbrica es bastante rápida hoy en día si colocas la computadora inalámbrica cerca de un enrutador lo suficientemente capaz.

Una vez vi un cable de intercambio de datos USB bastante similar a la foto en la pregunta, con un bulto de plástico en el cable y un software de Windows bastante dudoso. Por curiosidad, lo conecté a una computadora Linux, ¡que reveló que el bulto de plástico contenía dos NICs USB-Ethernet conectados entre sí! Básicamente, una forma costosa de evitar tener que aprender a configurar el software de red por completo.

3 votos

No necesitas un cable cruzado especial para gigabit (y todo el mundo tiene gigabit en estos días). Cualquier cable Ethernet antiguo debería funcionar bien.

1voto

MacGuffin Puntos 261

Este es un largo anexo a la respuesta de @nigel222, demasiado largo para ser un comentario.

Es posible transferir datos por USB de A a A, de C a A, o de C a C, utilizando el protocolo USB 3.x. El proceso es un dolor en el trasero y solo está documentado para ser utilizado por desarrolladores de kernel y controladores, ni siquiera se espera que el típico desarrollador de software tenga que hacer esto. Si los puertos USB-C en cuestión admiten Thunderbolt, entonces es otra historia, conectar computadoras por Thunderbolt creará una conexión de red similar a Ethernet que hace que el proceso sea trivial para todos menos para los novatos más novatos.

Usar dos adaptadores USB-Ethernet y un cable Ethernet es una opción, y sería tan trivial como usar Thunderbolt. No es necesario buscar un cable cruzado para esto, ya que cualquier adaptador Ethernet capaz de velocidad gigabit (y todos menos los más baratos harán esto) pueden negociar automáticamente el cruce. A menos que esté pagando mucho dinero por un par de adaptadores de 10 Gbps, esto significa estar limitado a 1 Gbps, muy por debajo de lo que USB-C es capaz de ofrecer en una conexión directa.

Existen cables puente USB a USB que ofrecen velocidades de 5 Gbps. Esto es una mejora no solo en velocidad sino también en costos. Como descubrió nigel222, el chip en el cable es capaz de emular una conexión Ethernet. Lo que descubrí es que este chip también tiene un modo emulador de puerto serie. Cuando se usa con el software horrible con el que vienen estos cables, el cable está en un modo de transferencia no en red, algún tipo de modo de transferencia serial. Los controladores de Linux para este cable por defecto pondrán el cable en un modo de red y sospecho que permitirán una conexión tipo Ethernet entre dos computadoras Linux. Cómo poner esto en un modo de red para macOS y Windows es un misterio, y si se puede poner en este modo, debería aparecer como un puerto Ethernet en la configuración de red del sistema operativo.

Entonces, es posible conectar dos computadoras por USB para transferir archivos, pero hasta ahora esto queda en el ámbito de los programadores de bajo nivel. Hay soluciones temporales para nosotros los simples mortales, pero ninguna es exactamente bonita, o rápida. No son difíciles, simplemente no son ideales ya que involucran hardware adicional y ralentizan la conexión con este mismo hardware que no tendría que estar ahí si alguien escribiera software para hacer esto más fácil.

Algunas tabletas y teléfonos tienen el software para una transferencia fácil de archivos a una PC por un cable USB-C. No hay nada especial en el hardware que habilite esta función, todo es software con un controlador USB-C listo para usar que es común en muchas computadoras portátiles y de escritorio. Supongo que esta no es una característica ubicua porque todavía hay muchos chips de controlador USB-C en circulación que no admiten funcionalidad de pares a pares y las personas que tienen que responder a los teléfonos en quejas de usuarios preferirían simplemente venderles un cable de transferencia de datos de $50 que intentar explicar la diferencia entre los controladores USB-C.

0 votos

Respuesta totalmente equivocada respecto a los puertos USB tipo C. Aparentemente no tienes idea de lo que podría ser el "controlador USB-C de estante". Debes estar confundiendo la "función de depuración" de un puerto USB con otra cosa. Repito: para tener la función de Doble-Rol-Datos, el hardware del puerto debe tener un "controlador de dispositivo" separado en hardware, conmutable con el "controlador de host" (xHCI) a través de un multiplexor interno o externo. Punto. Por favor, deja de confundir al público con tus pensamientos deseados.

0 votos

@Ale..chenski Estoy de acuerdo en que para tener un puerto con doble función debe haber hardware adicional, pero la comunicación de igual a igual a través de USB no requiere un puerto con doble función. Microsoft detalló los requisitos para comunicaciones de igual a igual en su configuración de depuración de kernel USB y no se requieren puertos con doble función. Aquí está el documento: docs.microsoft.com/en-us/windows-hardware/drivers/debugger/… La forma de comunicarse de igual a igual a través de USB 3.x está integrada en Windows pero debe configurarse manualmente. Esto no es trivial pero tampoco requiere puertos con doble función.

0 votos

Creo que el problema radica en las diferencias en la interpretación de lo que es la comunicación "peer-to-peer". Sí, se define un modo de depuración auxiliar, implementado en casi todos los xHCI. Define un "puerto de depuración" y un acceso especial (y bastante lento) a las estructuras de depuración de MS. Está muy lejos del acceso USB normal al sistema (tanto en el lado del host como dentro de los dispositivos USB), que normalmente se realiza a través de DMA rápido. Estoy seguro de que algunos hackers pueden reutilizar el puerto de depuración (o registros de bloc de notas o lo que sea que esté allí) en algún tipo de acceso al sistema y hacer que se transfieran bloques de datos, pero será deficiente.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X