In August of 2014, the USB Implementers Forum unveiled the USB Type-C Cable and Connector Specification. The latest in the industry’s long line of attempts at achieving the holy grail of “one port to rule them all,” USB Type-C arrived roughly a year after the release of the USB 3.1 Specification, and given its broad industry backing, looked like it might actually be the solution we all were hoping for. Furthermore, an updated version of the USB Power Delivery Specification released alongside it enabled USB Type-C to handle up to 100 W of power and introduced a feature called Alternate Modes. This method of changing the signaling mode or personality of the port meant that Type-C cables and connectors could also be used for other high-bandwidth protocols such as DisplayPort, Thunderbolt, and HDMI. So three years later, has our rosy USB Type-C future arrived yet? Not even close. Concerns are mounting over a myriad of implementation details which could end up causing USB Type-C gear to not work in practice, and possibly even derail the standard in the long run. The reason why isn't because the specification is a mess or nobody envisioned the potential pitfalls though. Type-C remains very much a work in progress; additional specifications and revisions have been steadily forthcoming, with the latest being as recent as February of this year. Therefore, I thought it might be a good opportunity to take a closer look at the state of the USB.

USB Type-C is a cable and connector standard and is separate from the USB 3.1 protocol specification. USB 3.1 Gen 2 (SuperSpeed USB 10 Gbps) signaling can be implemented using Type-A and Type-B connectors. Likewise, USB 2.0 can use Type-C connectors. There is no requirement for all devices to be full-featured, and you can be assured that for reasons of cost, most products will support the bare minimum of functionality required to get the job done.

Alternate Modes are not part of the USB 3.1 Specification, instead they are defined in the Type-C, Power Delivery 2.0/3.0, and Billboard Device Class specifications. Alternate Modes can only be used by Type-C ports that also implement USB Power Delivery (PD), because that is the mechanism by which they are negotiated. The Billboard Device Class exists to provide a USB 2.0 device that can be presented to the host if Alternate Mode negotiation fails. For instance, it could provide information about the full capabilities of the device to the OS which could then display a dialog box saying, "Hey, you just plugged a Thunderbolt dock into a conventional USB Type-C port, so it's not going to work."

USB Type-C uses a dedicated configuration channel (CC) to establish many aspects of a link, including attach / detach, plug orientation, power and data relationships (source-to-sink and host-to-device), USB PD communication, and discovery and configuration of functional extensions. PD contracts and Alternate Modes are configured via the CC and can be renegotiated for an active link. Fully-featured Type-C cables come complete with CC, 4 pairs of high-speed differential signaling lines, a side-band use channel, as well as a separate set of USB 2.0 data and VBUS connections. Alternate Modes only get to reassign the functionality of the high-speed pairs and SBU channel, which correspond to the pins highlighted in yellow in the following diagram:

If we consider a theoretical USB 3.1 Gen 2 (SuperSpeed USB 10 Gbps) Type-C dock device with one upstream facing port (UFP) in addition to DisplayPort, Gigabit Ethernet, and 3 downstream facing ports (DFPs), it could handle any number of scenarios relatively gracefully. USB devices connected to the DFPs should be able to communicate with the host connected to the UFP using the fastest common protocol between the two endpoints, and power relationships will be established using any of the supported methods outlined in the USB 2.0, 3.1, Type-C, Battery Charging, or PD specifications. Now let's say the dock’s UFP and the host both support DisplayPort Alternate Mode, and I connect a DisplayPort monitor to the dock. The high-speed lines and SBU between the host and dock will then become a DisplayPort link, and the USB hub in the dock will continue to function just fine, but only as a USB 2.0 hub. While hubs can allow multiple devices to share a bus, they can’t magically increase the overall bandwidth of the uplink. So the GbE adapter in our dock would keep working, but it won’t be delivering full Gigabit speeds anymore. However, DP Alternate Mode in particular has another trick up its sleeve. USB 3.1 only ever uses two of the high-speed signaling pairs for SuperSpeed USB or SuperSpeed USB 10 Gbps data transfer. Alternate modes can and do use all four, which means DP Alternate Mode can leave the SuperSpeed USB pairs alone and create a 2-lane (half-width) DisplayPort main link using the other two pairs. As long as that's enough bandwidth to drive your display, you can have your cake and eat it too.

One thing to bear in mind is that Alternate Mode signals cannot traverse the standard USB hub topology, which in practical terms limits them to usage between a directly connected host and device. Composite devices, such as the one in the prior example, skirt around that by providing a dedicated port to expose the Alternate Mode functionality. In theory, the Alternate Mode signals could be taken from the Alt Mode PHY of the UFP, re-driven and then MUXed back onto one or more of the DFPs. However, it quickly becomes a very complicated and costly design, unless someone were to develop silicon specifically to address that scenario.

Using DisplayPort Alternate Mode to drive multiple displays connected to a USB Type-C hub would lead to further complications. All GPUs are limited to a certain number of display output streams. Intel’s recent integrated offerings provide three, NVIDIA has held fast at four for quite some time, and discrete solutions from AMD will get you a maximum of six streams. In general, you can't drive more displays than the number of output streams supported by your GPU. Although DisplayPort 1.2 added support for multi-stream transport (MST) over a single link, Apple in particular has historically chosen not to support this feature except in the case of specific tiled displays. While a composite USB Type-C hub device could potentially support DisplayPort Alternate Mode on any of its DFPs as described earlier, connecting more than one display would lead to either mirroring or a blank display if it only received a single stream from the UFP. However, if the host PC supported MST over DP Alt Mode, and the device included a DP MST hub along with multiple DP Alt Mode PHYs to drive that signaling mode on the DFPs, you could add displays until you ran out of either DP bandwidth or available display streams. While I seriously hope Apple reconsiders its stance on MST, even basic MST hubs currently start around $80. So you'd potentially be looking at $150 or more for a 4-port USB 3.1 Type-C device with that capability. Most currently available USB solutions that support multiple connected displays are instead based on DisplayLink silicon that employs proprietary lossy compression algorithms to pipe display data over a standard USB link.

As for Thunderbolt, Intel's 2-port controllers have historically included two DisplayPort inputs and one output, so a single Thunderbolt link can carry 2 DP streams without using MST, but a single device could never make use of more than one of them unless it included a pair of 2-port controllers internally. There is also no way to make a Thunderbolt hub with more than 2 ports given the parts that Intel has produced to date. I’m also pretty sure that Thunderbolt controllers will be the only chips to ever include a USB Type-C Thunderbolt Alternate Mode PHY.

On the other hand, Thunderbolt is... COMPLETELY BONKERS. One can now purchase a 4 lb. laptop that is capable of 160 Gbit/s of full-duplex I/O. There is nothing outside of the data center or research lab that even comes close to the per-lane data rates of Thunderbolt. It is not, however, for the masses. Even if Intel does eventually integrate it into their chipsets and make the specification available to other parties as they recently announced, it will always be niche and expensive. Thunderbolt makes no sense unless an application leverages an existing PCIe based controller for which no USB variant is available, or absolutely requires more than 10 Gbit/s of bandwidth. Despite Intel's “Recommended Customer Price” of $8.55 for 2-port Thunderbolt 3 controllers, you pretty much never see Thunderbolt products priced less than $80 per port. USB is cheap and crappy and what pretty much everyone will use. Thunderbolt is awesome and expensive and Macs will continue to have it, but only pros and maybe some gamers (for eGPUs) will ever use it. Now both protocols can coexist on the same port, which is great, because an awful lot of Mac owners were pretty vocal about how annoyed they were by the perceived uselessness of their Thunderbolt and Thunderbolt 2 ports (even though they were indistinguishable from the MiniDP ports on prior Mac models).

It is unfortunate that Thunderbolt is still often assumed to be a simple multiplexed bus. This is entirely incorrect. Thunderbolt and Thunderbolt 2 ports support multiple signaling modes, but operate in one and only one of those modes for as long as the link is up (either Thunderbolt or DP++ signaling). Thunderbolt 3 ports always operate as USB 3.1 Type-C ports and instead negotiate USB 3.1 SuperSpeed, Thunderbolt, or DP 1.2 signaling over the high-speed pairs and SBU channel via USB Type-C Alternate Modes. Thunderbolt signaling mode creates a 2-channel, full-duplex, serial link at either 10.3125 or 20.625 Gbit/s. Because PCIe and DisplayPort are both packet based protocols, Thunderbolt can use protocol converters to just take those packets and retransmit them over this insanely fast serial link. The Thunderbolt nodes are connected together via a network of crossbar switches that operate similarly to Ethernet switches. This is what makes Thunderbolt so totally amazing, and it drives me absolutely crazy that so many people still think it's just a simple signal MUX that combines PCIe and DisplayPort. To put things in perspective, the fastest signaling rates employed commercially via either direct-attach twinaxial copper or VCSEL transceivers for Fibre Channel, InfiniBand, 40/100GbE or other converged networking technologies are currently 28.05 and 25.78125 Gbit/s. But thanks to Thunderbolt, a consumer laptop can do 20.625 Gbit/s with an $8.55 chip that draws 2.2 W and measures 10.7 mm per side. Truly amazing times we live in.

So why are there no USB Type-C hubs on the market? Why can't I find a single USB 3.1 Gen 2 (SuperSpeed USB 10 Gbps) hub anywhere? Why is there a dearth of USB Type-C to USB 3.0 Type-B cables longer than 3 feet? Why are there so many Type-C products with 1-star ratings that are all just white label variants of the same exact hardware? Because designing and producing a new ASIC of any substantial size on a reasonably advanced process takes at least 24 months or so. And while some aspects of USB Type-C can be implemented by repurposing, combining or tweaking currently available components, others, like affordable, full-featured USB Type-C hubs, will have to wait until new silicon reaches the supply chain. So we're really only just now coming into the window where the hardware manufacturers even have parts available from which to build USB Type-C or 3.1 Gen 2 (SuperSpeed USB 10 Gbps) devices.

Very few companies that sell PC peripherals have any real hardware engineering capability. They buy or simply copy reference designs from ODMs, slap a few decals on a case they buy from someone else and try to differentiate based on price or marketing. Most ODMs and OEMs aren't that much stronger in the engineering department. They want to buy a fully integrated solution with a proven reference design that minimizes component count and BOM cost, has already been certified, and has cleared any regulatory hurdles. Until someone spins the necessary silicon to drive all these new USB Type-C devices, we get nothing. Looking through the catalogs of the following companies, you can see that there is a fair amount in the pipeline that isn't available quite yet:

Fresco Logic
Genesys Logic
VIA Labs

There is necessarily a lag between when a specification is published and volume production of the silicon based on that spec. And I'm not saying these companies waited until the ink was dry on the spec before they began to work on the hardware. They were involved in the process and much of the spec was defined by technologies they were reasonably comfortable with in the first place. However, you're not going to contract for wafer starts until you've secured the necessary IP, have a design that works and can be certified, and have paying customers lined up (or at the very least a sufficiently large addressable market to bank on). Although there will always be customers who only care about being first to market and don't give a toss about certification, or whether it even meets spec and might possibly burn your house down, that's not where the big design wins are going to come from. And while I’m as anxious as anyone for the USB Type-C future to be here now, I would prefer to wait and spend my money on hardware that actually works.

Author’s note: This post is primarily in response to Accidental Tech Podcast, Episode 228: “I Never Cancel a Drag”, which starts out with a discussion of USB Type-C hubs and devices.