What happens when you plug two USB-C™ host ports together with a C-to-C cable?
What happens when you plug two USB Type-C™ host ports together with a C-to-C cable? Will something bad happen?
tl;dr: As long as both sides comply with the spec, nothing bad should happen!
As an addendum to my Configuration Channel post (https://firstname.lastname@example.org/usb-type-c-s-configuration-channel-31e08047677d), I wanted to answer the question above.
In the pre-Type-C world, just to review, USB hosts or power sources would all have USB Type-A ports, and devices would have USB Type-B. This makes it impossible for the user to accidentally plug two hosts together or two power supplies together. The exception to this is non-compliant A-to-A cables, which people should not use.
Classic USB Type-A ports have Vbus always on at 5V. In fact, this is a necessary condition for device enumeration: The USB device may be a thumbdrive, for example, that requires power before it can start talking to the host at all.
However, bad things could happen if you used a noncompliant A-to-A cable, and connected two different sources’ 5V Vbus lines together.
Does USB Type-C have a similar problem with the officially sanctioned USB-C to USB-C cables?
Taking a look at section 2.3.1 of the USB Type-C specification, this is accounted for. Instead of having 5V on all of the time, Vbus (and Vconn, a separate voltage line designed to power in-cable devices) is only supplied when a connection is detected using the CC method.
Recall in my previous post that UFPs (upstream facing ports, or devices) use an Rd, or a pulldown resistor to Gnd to signal their role. Using a pulldown here is actually very clever. When a USB-C device such as a thumbdrive is plugged into a USB Type-C port, the port initially will have 0V on Vbus, so the drive is initially unpowered on attach. However, the device can passively signal its presence to the host by virtue of Rd, the 5.1 kΩ resistor between CC and Gnd.
Once the power source/USB host detects that there is a pulldown on CC, it applies 5V on Vbus, and the device’s electronics can light up.
Now, when you plug together random USB Type-C ports, because Vbus is 0V when detached and 5V is only applied when a DFP-UFP pairing is detected, we are actually safe when plugging two hosts or sources together, or plugging a USB Type-C host port on a PC to a phone charger with a C-to-C cable. Nothing useful will happen, but an unsafe condition where two active power supplies are opposing is avoided as well.
Hope this has been helpful!
Originally published at plus.google.com.