I'm trying to connect a single PC with limited storage (Mini ITX) to a much bigger PC full tower that has a lot of hard drive storage. Both machines have USB-C on them so I was just wondering if I can just get a USB-C to USB-C cable to connect them together to begin transferring files? Does USB C act as both host/client? I've seen USB 3 crossover cables so I'd be willing to go with that if it's easier but I'm trying to get the best possible speed on the cheap.
-
Paging @AliChen. – Spiff Jun 03 '17 at 22:01
-
1Beware that the mere presence of a USB Type-C connector doesn’t necessarily tell us much about what that port is really capable of. Do you have any indication whether or not they’re Thunderbolt 3 ports? – Spiff Jun 03 '17 at 22:04
-
Yea after some research I realized it's the TB circuitry that dictates who is client/server based on faux Ethernet IP addresses on the Thunderbolt adapter. – Brian Jun 05 '17 at 00:46
-
It appears this question was bumped for some reason in spite of its age, and there's similar questions popping up still. I've seen people successfully transferring data over a USB-C-to-USB-C link but not by any regularly documented means. It will be hit and miss based on the hardware and software involved. – MacGuffin Apr 22 '23 at 04:47
3 Answers
To connect one Type-C device (one PC) with another Type-C USB device (or another PC) and expect some connectivity, at least one of the "Type-C link partners" must support so-called DRD - Dual Role Device. The DRD port advertises its dual role by continuously switching its CC (communication channel) pins from 5.1k pull-down (signifying a USB device) to 56k-22k-10k pull-up (signifying USB host with different VBUS supply capability). It does this flip-flop several cycles per second.
However, to be a DRD Type-C device, it must have TWO USB controllers inside, one of xHCI (host controller interface), and another of "DCI" type - device controller interface. The IO of these two controllers must be multiplexed at the USB port pins. Currently only a few products (notably the Intel SoC aka "atom cheery trail" family, and other mobile-oriented chips found in mobile phones) have this capability. If a PC is made of desktop line of processors, no DRD is available yet.
If both PC are of the same kind, no connection (and no harm) will happen.
If one Type-C PC has DRD functionality, it will pick the phase of its "flip-flop advertising" with the role that is opposite to the connected single-role device. If the connecting device is host, the DRD device will lock as device, and vice-versa. If both devices are DRD, the roles will be selected at random, and later should be switchable in software.
- 12,414
- 4
- 35
- 46
-
If any newer Intel chipsets support DRD/DRP, I will be glad to correct my answer... – Ale..chenski Jun 04 '17 at 01:19
-
Thanks for the detailed response. I figured it's just easier to go with a USB 3 transfer cable then since it's very rare to find PC motherboards with native ThunderBolt support unless it's with an addin card variety which wouldn't work for my setup. – Brian Jun 05 '17 at 00:48
-
1I found a datasheet for intel 200 series chipsets (Z270 on my motherboard), that states: _the USB Host Controller can now be paired with a standalone USB device to provide dual role functionality. The USB subsystem incorporates a USB 3.0 device controller. This controller is instantiated as a separate PCI function and shares USB 2.0 port 1 and USB 3.0 port 1._ and furrther: _Bus 0: Device 20: Function 1 USB Device Controller (OTG)_ Whether there are drivers for this I don't know ... – Luciano Feb 10 '18 at 17:44
-
1Actually, after messing around on my computer, I found that the abovementioned PCI device is missing (disabled). But it may exist on other, more expensive motherboards. This was on an intel skylake platform. – Luciano Feb 10 '18 at 18:03
-
What about Intel Kaby Lake chips, e.g. [8250](https://en.wikichip.org/wiki/intel/core_i5/i5-8250u)? Do they support DRD? – Suncatcher Feb 04 '20 at 10:06
-
@Suncatcher Not sure about 8250, but Z8xxx series of SoC (CherryTrail/CherryView ) were designed for ultra-light mobile devices. They used to have Dual-Data-Role (they have a USB Device Controller) and intended to operate over a single Type-C port in all modes. – Ale..chenski Feb 05 '20 at 02:22
-
I've been asking myself the same question and discovered a few things.
First is that Apple laptops have had this featured called "Target Disk Mode" for a very long time. This mode is in the computer firmware and allows many models of Apple computers to act like an external drive to another computer. This feature exists in Apple computers with USB-C ports. I've tested this with my own Apple laptop with USB-C ports by putting it into Target Disk Mode and using it like a USB drive to another Apple laptop with a USB-A male to USB-C male cable. Apple does this in firmware but there is no reason I can see why this cannot also be done in the operating system, and done in a way to support more than looking like a storage device.
A second thing I discovered is that the model of USB chip Apple puts in their laptops that are capable of this feat is widely used by other computer makers. There's evidence of this with the "hackintosh" crowd using Apple drivers on their non-Apple computers running macOS and seeing the USB ports working.
A third thing I discovered is that there is a project called "USB Gadgets" which intends to allow a computer running open source operating systems to act like a USB device to another computer. There is an abundance of information on this for USB 2.0 but not so much for the USB 3.x chips seen in newer systems.
A fourth thing I discovered is that USB-C ports used for charging/powering a laptop must enter into device mode for the charging to work. You can see this by plugging a "device" computer, one that takes power in from USB-C, into a "host" computer, one capable of providing power out from USB-C, and every USB-C port in a computer will provide some power. If one were to look at the connected USB devices on the "host" computer the "device" computer will be listed. The negotiation of which direction the power flows, and how much, is done over the data pins of the USB port. Unlike the previous systems that used resistors on the data pins for a very passive means of conveying this information this new protocol requires an actual data connection.
Fifth is that in the USB 3.x spec is a provision for host to host communications by the "superspeed" data pins. This means all four twisted pair data wires in the cable are available for host to host communications, and each is capable of 5 Gbps of data. That means a 20 Gbps connection is possible.
So, if you have two computers with USB-C ports, and a USB-C cable, then the chances are that all the hardware is there to make a 20 Gbps connection between the two. All it takes is one computer to have the right software to support a network device on a USB-C port, and the other to have the right software to emulate a network device on a USB-C port.
If that software exists then I haven't found it. If it does not exist then someone is likely writing it right now.
- 1,246
- 5
- 13
-
1Importantly, "USB gadgets" are not a software-only solution, they still need the device-side hardware (possibly as part of a DRD or OTG port) – Ben Voigt Oct 13 '21 at 17:18
-
"then the chances are that all the hardware is there to make a 20 Gbps connection between the two. All it takes is one computer to have the right software" - wrong, the chances are dim as explained in the accepted answer. The computers must have "device-side hardware", as Ben Voigt commented. – Ale..chenski Oct 13 '21 at 17:45
-
@BenVoigt " Importantly, "USB gadgets" are not a software-only solution, they still need the device-side hardware (possibly as part of a DRD or OTG port) " The point of my answer is that the device side hardware is common in most laptops on the market today. A laptop that charges from USB-C *must* support device mode, that is required to communicate with a USB-C charger host. Without device side hardware it cannot charge. With this also comes features like Target Disk Mode, another function that requires device side hardware. – MacGuffin Oct 18 '21 at 00:53
-
@Ale..chenski " wrong, the chances are dim as explained in the accepted answer. The computers must have "device-side hardware", as Ben Voigt commented. " For a MacBook to act in Target disk mode it *must* have device side hardware so the chances a MacBook has the hardware is 100%. The USB-C hardware Apple uses is not unique, many other manufacturers use the same chips which can be demonstrated a number of ways including the "hackintosh" users using Apple drivers to get USB-C to work. There is also a hot-to-host mode in the USB-C and USB 3.x specs to allow this. – MacGuffin Oct 18 '21 at 01:05
-
1@MacGuffin: Target Disk Mode requires device-side hardware, USB PD does not. You seem to be assuming that the power provider is always a host and the power consumer is always a device but that is not the case with USB PD. – Ben Voigt Oct 18 '21 at 15:43
-
@BenVoigt Even if it is not required it is what they do. Windows laptops with USB-C charging will appear as a USB billboard device when plugged into another computer. Maybe not all do this but some do. For a laptop to appear as a device means the laptop has a USB controller with dual role capability. I've been reading the USB specs and I'm getting from it is that anything wanting to negotiate USB-PD must show as a billboard device if the negotiation fails. Even if successful the device may still show as a billboard device so the host has a device enumerated to track power use. – MacGuffin Oct 19 '21 at 22:03
-
@MacGuffin: A laptop is generally not plugged into a dedicated USB PD power supply. Typically it is plugged into a dock, which is a USB hub. The laptop serves as USB host for downstream ports on the dock and integrated peripherals of the dock, and the dock feeds USB-PD power to its upstream port where the laptop is plugged in. If the laptop were going into device mode to receive USB-PD, it would be unable to control the downstream devices. – Ben Voigt Oct 19 '21 at 22:14
-
@BenVoigt I'm not catching how that's relevant. As I understand the USB-PD spec a laptop that sinks power into a USB-C port must support showing as a USB billboard device in case of a USB-PD negotiation failure. In order to do this the hardware must support dual role. If the laptop has the hardware to show as a billboard device then it has the hardware to appear as other kinds of devices, that would include showing as a network interface. Being able to transfer data as a billboard device should mean it is able to transfer data as some other kind of device. – MacGuffin Oct 19 '21 at 23:12
-
"A laptop that charges from USB-C must support device mode" - this is brutally wrong. Charging function/role is provided by Power Delivery mechanism, which has nothing to do with USB transfer function. Whatsoever. But it is true (five years after the original question) that USB4 standard does define now so-called "host-to-host" tunnel mode. – Ale..chenski Aug 11 '22 at 00:17
-
@Ale..chenski USB host-to-host mode has been in the USB spec since version 3.0 was published in 2008, but support for this has been largely absent in any operating system. USB4 "requires" support for host-to-host mode, or at least that's the claim but it appears that there's exceptions. – MacGuffin Aug 11 '22 at 13:46
-
Try this yourself, plug a laptop that charges by USB-C into another computer via a USB-C to USB-A cable and you will find that laptop appearing to the other computer as a USB 2.0 billboard device. You can argue that this is not required if you like but it works. That can't happen unless there is device mode hardware in the laptop. If there is device mode hardware in the laptop then with the correct software it can appear as other kinds of devices. It is this hardware that the "USB gadget" software exploits to provide emulation of most any kind of USB device. – MacGuffin Aug 11 '22 at 15:29
-
@MacGuffin, it would be nice if you could support your statement on host-to-host communication by citing any paragraph or section of USB3.x specification. – Ale..chenski Aug 12 '22 at 16:54
This likely won't help the original poster, but if your PC's both have Thunderbolt, and you have a Thunderbolt cable, it is supported (TB3 and TB4 cables use USB-C connectors but are typically thicker and rarely longer than 50cm). I just connected two laptops that are on different networks, and a new Ethernet connection appeared and I can browse shared folders and use Remote Desktop from one to the other, without any manual configuration. One laptop is Windows 10, the other is Windows 11.
- 340
- 3
- 7



