I appreciate this article but fundamentally this is just a fault of the USB-C standard. One of the hardest parts is not just that it's sometimes confusing what is supported, a lot of the complexity is also pushed onto what any given usb-c cable supports.
Sometimes, especially with video, there is a distinct direction built into many of these cables. Now you need to find in your cable bin/storage the right kind of cable for each application potentially killing a lot of re-usability (if you have neatly organized usb-c cables labeled by their technical capabilities you're much better than me).
Not to mention, there are issues with power. Lots of laptops have video wired to usb-c which you can connect to a monitor, but I bought a portable monitor that took usb-c as an input using the DP standard last year and it was a nightmare to get it work correctly. My understanding was that usb-c => DP, most of the time the cable itself is unpowered from the usb-c side since the monitor accepting displayport will power the connection on its side (since it's usually plugged in). Since mine was a portable monitor this wasn't the case and I basically needed to use a wacom link to combine a DP signal, separate usb power into a combined signal out. Totally lame...
I remember back in 2015-2016 when everyone was heralding USB-C as the one port to rule them all. Turns out, it's more like 17 ports in a trench coat to rule them none.
It's been five years since USB-C became standard on MacBooks and we've seen Apple reverse course on the idea it could replace everything, and with the exception of a handful of ultraportables, most PC laptops and motherboards still include 2+ USB-A ports as well as other IO. In other applications, like cars, aircraft, public charging stations, USB-A is here to stay, and the advantages of USB-C are dubious at best. A more fragile port, for... what, reversibility?
Having a clear use case for a port is invaluable. When I plug in an HDMI cable, I know it's going to be used for display output. MagSafe? Power delivery. USB-A/Firewire? A client peripheral connected to a master computer bus, like a printer or MIDI keyboard. USB-C eschews that philosophy entirely. In a way, it's almost like a step backwards to the days of serial ports and DIN cables, with different standards competing for supremacy and no way of knowing if Thing A works with Thing B without trial and error.
Playing USB-Cs advocate, a world where every specialist connector on a laptop would double as another USB to hook up random gadgetry when not in use as the primary role would be awesome. For example I never use that HDMI or the ethernet port. They exist because situations where the matching plugs are part of infrastructure you don't control, but I might prefer a world where those plugs need to be labeled because all the ports are the same to double as lowly gadget hosts.
What's bad is the usual implemention where you have one "holy grail" port that's effectively a proprietary docking station connector (because no other docking station has the exact same subset of "concurrent beyond-USB stuff") that might downgrade to some single usecase protocols beyond serving as a lowly plain USB. But where you have a serious lack of other "USB and/or X" beyond The One. This quickly gets ugly when you want to connect display and power separately. You absolutely need another port that's also capable of delivering power (or the reverse, a second display-capable USB so that power can be fed in isolation via the docking-capable port), but this is unfortunately rare, instead you get special ports that are completely useless while doing the docking station thing.
> Firewire? A client peripheral connected to a master computer bus
Nope. Firewire is masterless/multi-master/peer-to-peer. That's why you could not only transfer music from you laptop to an iPod, but from one iPod to another iPod without any (other) computers on the bus. It is also why two computers can by attached via Firewire, as a generic network link or for low-level debugging.
I’ve had a super old DVD player connect to the internet over an hdmi cable to my blue ray/surround sound system device that had Ethernet connected. It used the connection to patch itself, didn’t even ask if I wanted to.
Even a $7 AmazonBasics HDMI cable has Ethernet support (https://www.amazon.com/dp/B014I8SSD0), not that this really matters since hardly any devices ever supported Ethernet over HDMI.
Also, Ethernet over HDMI is limited to 100 Mbit/s which would make it slower than most modern Wi-Fi networks (leaving aside any possible reliability issues).
> Turns out, it's more like 17 ports in a trench coat to rule them none.
That's why the body has an orifice for food, an orifice for defecation, an orifice for breeding, an orifice for breathing, ect. Some functionality should be kept separate, even if in some cases doubling up (breathing through the mouth) is technically possible.
A big mistake was turning the cables from passive wires connecting two ports into things needing active circuitry in the plug. Average consumers don’t think like this. They just want the “iPhone to USB” cable. Some consumers won’t understand why cable A is any different than cable B. After all, they both have the USB C thingy on both ends.
The problem is that on the one hand they want to enable USB-c to be low cost and universal for all devices. But on the other hand you want USB-C to support 100W and 240W charging but it’s not cost effective to put enough copper to carry 100-240W in your average low cost phone cable.
So the cable needs something active to indicate it’s capability. So you don’t melt it.
That would only occur during the overcurrent event. Robust engineering would not only try to correct existing overcurrent events but also to prevent them.
That's just reality and there is not a way around it. If you want the cable to be removable at both ends, more than an inch long, and really really fast, then it has to be active.
That would require actually acknowledging versions like "USB 1" and "USB 2", but the standards group would rather use retroactively-changing nonsense like "USB 3.2 Gen 1".
That would open them to liability of being sued by disabilities groups, because the tiny icons will be very difficult to see on the increasingly tiny connectors.
As I see it, if there are these active circuitry in the plug (and there is) it should provide "answers to questions", I don't think that the final user would be overly upset if he/she attempted to use a cable to (say) connect to a monitor and the OS would interrogate the cable and:
1) OK, this cable is fine for sending video to monitor xxxx
2) Sorry but this cable is not suited for video transmission
3) This cable seems to be monodirectional, try reverting it
...
etc.
The issue is when you have a bunch of cables, all either white or black that you cannot distinguish, and you have to try all of them, hoping to have a suitable one (alternatively they could have made them "colour coded", like, say, black 5 V charge only , yellow dual voltage, green charge + video, etc., even with just a small colour dot on the connectors )
And at the prosumer / pro level people don't even want to think at all.
Complex, fragile connection are just a chore for the average person. It means failure on the job, delay, stress.
Unless they invest in more marketing so people get the message and stronger builds (alas for instance DELL thunderbolt docking station are not solid yet)
> for instance DELL thunderbolt docking station are not solid yet
Neither are their USB-C docks. IT wraps the USB-C connector with tape by default, because it will otherwise break in 4 weeks after handing it out. It's a shame considering the price for those docking stations.
I will be given the same task of get a USB-C portable monitor to work on a Huawei Mate D14 (1 USB-C) next week. Already preparing for that massive headache.
Back in the tail end of 2019 I tried to go full Thunderbolt 3 (T3 from now on). I wanted to swap between my desktop rig and MBP '19 with just a single wire. I bought a T3 dock and prepared. Problems:
1. Nvidia RTX 2070 does not support T3. I could not use a T3 dock at all. Regular USB C docks could connect to the card and run everything else though.
2. My MoBo did not support T3. Not only would I have to upgrade it, I would also have to buy a PCIe card and use short DisplayPort cables to connect the graphics card to it in order to have video out.
So I downgraded to a USB C dock. More problems:
1. My MBP '19 only allowed one monitor to connect. But I had a few year old ThinkPad that could drive two monitors!
2. The keyboard connection started to become unreliable. So I hard-wired it to the desktop.
3. Eventually the MBP stopped outputting video to the monitor. Apple said I had to update the firmware in the monitor. I declined.
Eventually I gave up on docks. The USB C dock now acts as the most overpriced dock imaginable for a ChromeCast '20. Maybe one day I'll try with Thunderbolt 4 with plenty of planning beforehand. Or maybe not.
The single monitor thing is because apple doesn’t support DisplayPort MultiStream. It has long been confusing why because pre apple silicon it worked fine on their GPUs in windows but macOS has no support. Given their thunderbolt drive it seems silly.
This is a long standing flaw of macOS. The common workaround is a lot of these docks will offer a TB3 passthrough, where a standard USB-C to whatever-you-need, will work.
That, and the issue where your Nvidia graphics card simply won't work over Thunderbolt 3 (or at all, for that matter). It's a long-standing and frankly petty omission that really leaves me wondering how serious ML researchers get their work done on the platform...
I've recently tried this. It's not much improved. I have a PC, and invested in the TB3 compatible motherboard and add-in card. Displays rarely work, but so I instead hardwire this machine to the displays, as they have the extra inputs. On some boots, Thunderbolt isn't detected and will need a few reboots to be picked up. Getting the drivers installed, for a custom build PC, was also a nightmare. The thunderbolt headers are unique to manufacturer, so my Gigabyte Titan Ridge has a 5 or 3pin connector, whereas my Asus board is a 12 pin. Luckily, it seems to only be present for DMA security, so if you bridge pins 3 and 5 on the Add-in card it works. The motherboard still needs to support thunderbolt however, this didn't work on an older, z270 chipset.
On the MacBook side the only issue is that when disconnecting, a display won't sleep and just show a frozen image.
So, at least rest well knowing you've cut your losses wasting time with thunderbolt.
In my experience, boards with built in TB work better than boards that have headers but require a dedicated card.
Recently I put an ASUS ProArt X570 Creator in my main tower, and its onboard TB4 works great. Some basic functionality was there straight away after a clean Windows install and the gaps were filled in by installing Thunderbolt drivers from ASUS’ support site for the motherboard. It even supports G-Sync on the monitor through the hub-connected monitor, which was a real surprise (though refresh rate is limited to 120Hz without using a compressed color format due to the dock only supporting DisplayPort 1.2).
The biggest problem was actually getting the video card to recognize DisplayPort as a monitor connection during boot. For some reason EVGA 3000 series cards had a quirk where DP connected displays weren’t recognized in EFI and would only come online after booting the OS. Thankfully EVGA had a VBIOS update available that fixed this.
I’m looking forward to more TB4 docks being released. My current dock, the TS3+ has been quite reliable (especially after updating its firmware), but as noted its DP out is outdated.
Oh no doubt. To be clear, mixing and matching manufacturers was a cost-saving measure, and in retrospect, should have done better research.
I did eye the ProArt board, but considering it was over twice as expensive in my region for a machine not really intended for content creation, i went with the far cheaper option.
I just installed a Thunderbolt 4 card in a new motherboard, so I'm being a little more optimistic, but I will take advantage of the free return policies over the holidays if necessary. The only problem I have is devices from my connected Thunderbolt 3 dock stop working after waking from suspend (but the display DOES work), so I'm going to try updating drivers to see if it works.
Essentially I have the solution you desired to set out to achieve, just through lucky choice of base hardware - single cable from desktop/laptop to dock which carries two monitors, keyboard, mouse, audio and network.
This stemmed from a hatred of USB-C Docks - I was provided a low end mac laptop for work and a usb-c dock with a DisplayLink chipset in it to drive two monitors on my desk. This was so lacking in performance there was visible lag on the desktop as the dual core processor was completely swamped having to render 2x1080p displays entirely in software. Basic tasks were unacceptably slow, the machine was demonstrably faster on battery than it was plugged into this dock and receiving power. I self funded a Caldigit TS3+ dock and immediately could use the laptop as it should have been in the first place, we got immediate approval to expense a purchase of these for the whole team. and I brought my dock home.
I have a HP Workstation as my desktop and the official method for supporting Thunderbolt 3 is exactly as you describe, install the add in card, use the two short DisplayPort Cables to the DP Inputs on the Thunderbolt card, and to then use the single cable to connect to the dock. GPU Display Out -> Thunderbolt PCI-E -> Dock. This appears to be the scenario for all desktop PCs using Thunderbolt, even the computers with the chipset built into the board - there's always a DisplayPort Input involved to present the display output from the GPU to the target.
On the counter side to this even Apple who are all in on Thunderbolt have problems with this separation between Display and PCI-E - If you look at the Mac Pro they've done some serious work with their custom PCI-Express implementation in the form of their MPX extensions to enable Thunderbolt support through their GPUs, by the looks of things they do the opposite thing - essentially routing PCI-E through the GPU and out of the USB-C ports on the GPU.
As an aside - nVidia discontinued USB-C Ports on their GPUs with the next generation 3000 series, this I think will lead to less confusion going forward
GPU and thunderbolt compatibility most definitely is a thing when your GPU has a type-C connector on it and you're trying to use that connector for thunderbolt.
it's definitely a thing and it's definitely always "not compatible."
Ohh, he is literally talking about a USB-c port on the back of the graphics card. That port isn't Thunderbolt, nor has it ever been advertised as such. It's a weird port meant for Virtual Reality....so yea not sure what to say about that.
I think a huge problem with usb-c is that there's software lacking explaining the situation to the user. There exist a huge number of standards and options but for users it only works or it doesn't, but ideally it should be explained in an easy way. For example with power-delivery: I need X watt, you charger can provide it but the cable can only handle up to Y Watt. Identifying what's at fault, why and what to do.
Can one just write an app like this? For an macbook, the information should be there....although it sounds very, very complicated and involved.
I think they mean it should show up as part of the error message provided by the OS. "Error, the cable you used to connect <human-readable monitor identifier> doesn't support <thing needed>." "Error, the dock <human-readable dock identifier> doesn't support <thing needed>, which <human-readable peripheral identifier> requires." Identify the limiting component, explain the what the new cable/dock/hub/etc needs to support so the customer has an actual chance of getting things to work!
I really miss the Thinkpad docking stations that existed on the bottom of your laptop. Yes, they were proprietary as hell. But they were also some of the coolest, most convenient connectors that existed. I know USB-C docks are technically better for a plethora of reasons, but I still find myself missing the Nintendo-Switch-like convenience of dropping my laptop onto my desk and watching my monitor and peripherals spring to life. Every time I did I could almost hear Jeff Goldblum saying "there is no step three" in my head.
Here, we still use 2015' Dell laptops with PR02X and PR03X old fashioned docks. And some HP zbook with Ultraslim docking station 2013 , with few displayport issues on the first firmware releases.
Next laptop generation will sadly be the end of all those proprietary yet reliable docks and the beginning of USB-C/TB3 wd15/wd19/tb16 era and its army of bugs, failures (WD15 someone ?) and painful and hazardeous firmware upgrades.
Ouch, that's gotta hurt. One of the things I loved about those old-fashioned docks were how cheap they were, especially secondhand: I ended up buying 3 docks for my T460s, one for work and two for home (one in the office, one at the media center). Cost me less than $50 for the lot of them, and now I can plop down my laptop anywhere I please and it automagically assumes the form of my setup. Hopefully they make a comeback...
Yes I can also find tons of second hand PR02/03X 5 minutes from home here, dirty cheap. But the 19v 130w PSUs are usually more expensive and difficult to find.
But the PR and ultraslim dock series are so far very reliable, even after years of use.
I dread the future massive switch to USB-C and TB3 entry dock.
I hope a chip maker will eventually release a all-in-one TB controller with USB3.x/Display outputs/GbE Ethernet/Sound embedded. Currently, everything is split into differents ICs, hence the high cost and complexity.
Hey, if someone made a USB-C dock for laptops that felt as good as a Switch or a Thinkpad Dock I'd be half-invested from the jump. Unfortunately, the majority of the docks I've seen are more along the lines of a tumor-sized dongle that you strap your laptop to.
Go take a look at the Dell TB16 : it's a quite massive thing, almost the size of an old macmini 2009, equiped with a too short of a tb cable. And fun fact, the TB16 is also fan cooled with an Embedded Controller (EC) and firmware that manage the fan curb.
Literally just returned a Dell WD19TB. Supposedly it was certified to work with MacBook Pro and tested with a 16in 2020 Intel and 2021 MacBook Pro Max. Neither worked and dock would shutdown after only 5 minutes if I was lucky.
For Macs I would only use the suggested docs from Apple (CalDigit/OWC etc).
I have a Dell WD19TB too and it works great with the MacBook Pro M1 Pro. I have 2 monitors connected (a 1440p@240Hz and a 1080p@60Hz), keyboard, mouse, a Elgato video capture card and ethernet. The 1080p monitor gave some trouble though, I had to connect it to the usb-c port on the dock that supports daisy chaining.
The dock also works out of the box with the iPad Pro M1 (with some caveats, only the 1440p monitor outputs video, didn't try to use the Elgato card) and with my Dell Latitude running Ubuntu.
Could not ever get the up-to-date TB16 to do power delivery correctly to anything (HP Zbook/various Asus/Lenovo Yoga 7) except a Dell laptop. The led on the USB-C connector stays off. The power - if delivered - stays very low and the laptop takes from its battery.
The Brydge ones look nice, but I prefer having my laptop's screen fully accessible while docked. Plus, I'm not really sure how I liked the idea of a vertically positioned dock... one bad swipe and I'd be out my Macbook, because I can guarantee you it's not surviving the fall off my desk.
And only two ports? What's the point of even docking it in the first place if I get less IO out of it?
well you don't get "less" IO, you get exactly the same. Also you said "like the Switch," so that means screen-inaccessible and vertically positioned.
Now it sounds like what you really want is what I use: a single cord connected to an LG Ultrafine that has it's own set of built-in ports, one of which is connected to a port replicator (legacy USB-A, ethernet, etc).
Sorry, I should have been more specific. The Lenovo Thinkpad dock is like the Switch dock but better, since it doesn't render certain features of the device unusable when docked.
The current thinkpad dock that I use (with a thinkpad) docks via usb-c , I click it in, and then 3 screens, mouse,eyboard,webcam, headset all wake up. I think its still cool.
I'm in a similar position with my Surface Book. I hate that the dock is proprietary, but that one magnetic cable that covers everything is really nice.
Repeat it again: XPS 13 with the TB16 Thunderbolt dock gives me 3 external monitors. I tried the dock with the Mac M1 and obviously one monitor is supported because... Apple limitations. The problem with the XPS 13 is that it doesn't have the same battery duration of the M1 but beyond that in term of features is a top notebook.
They got one thing right. No heisenberg insertion problem, and its reasonably robust.
They got everything else wrong. Cable differences, drivers, how people think about the space overall. Even in USB-C hubs (not docks) people make truly strange choices like "I will give you one USB-C power input, and one output tail, but I won't make another USB-C port available even though I could"
Very thorough explanation. I'm always confused by the sheer number of options USB-C and Thunderbolt provide through the same connector. This seeks to clarify it a bit, although USB4 might make everything even more complicated than the mess it is now.
Just wait until you start having to deal with TB4 docks.. I bought the Kensington one earlier this year and attempted to use it with a XPS 9310 running Ubuntu 20.40 and what a total PITA. No matter the configuration I could not get two monitors to work at the same time. I ended up returning and buying a Corsair TB3 dock and it's been smooth sailing ever since.
Ah, the wonders of Thunderbolt over USB-C. One connector, two sides, three generations, ten protocols, a hundred dollars and still one just one monitor. If you're lucky.
Plus Power Delivery capabilities... Had Asus Expertbook B1500CEAE (11th gen Core and tb3 controller) a few weeks ago that sadly don't support USB-C power delivery plugged on the USB-C port of a multiport AV replicator setup, but charge ok if directly connected to the TB3 USB-C port.
This same configuration (USB-C power supply plugged on the multiport's USB-C) works on an Apple Macbook Air M1 2020.
I've had this page bookmarked for years now, so major kudos to the author. 5 years on, it's still the best of explanation of all the different USB-C modes. I would love to see an updated version to include Thunderbolt 4 and USB4.
I took ximeng's interpretation of my comment yesterday and worked on it. Here's my newest attempt at the USB-C explanation.
A. The USB C cable physically consists of:
1. 60/100W power wire pair
2. USB2 speed data wire pair supporting 0.48Mbit/s
3. 4 high speed data wire pairs (“high speed lanes”). These can be ommitted.
Each high speed lane supports at least 5/10Gbit/s depending on cable length.
4. Separate wire for negotiating power roles (source/sink) and data roles (upstream/downstream or host/peripheral).
5. eMarker cables are required for rapidly changing wattage of power supply (Programmable Power Supplies, PPS)
B. Protocols (all over high speed lanes apart from USB2):
1. USB. 480mbit/s over the dedicated pair is always possible. 5/10gbps USB using two high speed lanes is the default mode for the high speed lanes depending on cable length. (four high speed lanes at 20gbps theoretically possible but rarely supported by hosts)
2. DisplayPort 1.2 (8.64Gbit/s video data over 2 high speed lanes) / DisplayPort 1.3/1.4 (12.96Gbit/s over 2 high speed lanes, double over 4). MST technology allows splitting the aggregate video data bandwidth across monitors but Mac doesn't support this. DisplayPort 1.4 supports video compression, but this is rarely supported by monitors. If using only 2 high speed lanes the other 2 can be used for USB data. This mode doesn't require any protocol converter to connect a DisplayPort device, only a simple USB C controller to negotiate DisplayPort mode. The USB C pins become DisplayPort pins, essentially.
3. Thunderbolt 3/4 (needed for Mac dual monitors). Thunderbolt 4 is USB4 with optional features mandatory (however in practice these optional features are likely to always be included so they can be treated as the same). TB3 carries PCI Express + DisplayPort packets, TB4 also native USB packets. Thunderbolt controllers are required on both ends. In a TB3 dock, this controller provides the USB root hub, in TB4 the USB data comes from the host. Bus bandwidth is maximum 40gbps, depends on host and cable both (this is why TB peripherals ship with so short cables). The bus can have two independent DisplayPort connections (which PCs can again split to even more). Laptops with TB4 and/or two Thunderbolt ports always have two, most TB3 laptops with a single port will only provide one -- and that one will only be DP 1.2. Note two ordinary independent DP cables can carry 51.84Gbit/s worth of video data (if the host and monitor both supports at least 1.3) but the TB bus is limited to 40Gbit/s.
Finally, power: 5/9/15/20V. Requirements signaled by resistors on the device side if only 5V. More than 5V negotiated between devices: 1. Agree source and sink, by default the data upstream/host is source but this can be negotiated, 2. Source indicates how much power it can provide, either 3A or with a 20V cable optionally 5A. This assumes fixed power, some devices now support PPS.
Sometimes, especially with video, there is a distinct direction built into many of these cables. Now you need to find in your cable bin/storage the right kind of cable for each application potentially killing a lot of re-usability (if you have neatly organized usb-c cables labeled by their technical capabilities you're much better than me).
Not to mention, there are issues with power. Lots of laptops have video wired to usb-c which you can connect to a monitor, but I bought a portable monitor that took usb-c as an input using the DP standard last year and it was a nightmare to get it work correctly. My understanding was that usb-c => DP, most of the time the cable itself is unpowered from the usb-c side since the monitor accepting displayport will power the connection on its side (since it's usually plugged in). Since mine was a portable monitor this wasn't the case and I basically needed to use a wacom link to combine a DP signal, separate usb power into a combined signal out. Totally lame...