Thunderbolt can run across DisplayPort and now both can run over USB-C. M.2 NGFF sockets can run mSATA, PCIe SSDs (either in AHCI or NVME), but not every M.2 or mini-PCIe Wi-Fi card will work in every laptop because of blacklisting (wtf?) even though they both attach to the exact same PCIe bus. Some M.2 sockets are only mSATA and can't take pcie/nvme drives. I'm pretty sure any M.2 drive can attach to the mSATA controller via an mPCIe adapter, but I'm willing to be there are some board that don't support that.
Why the hell are we doing multiple protocols on the same wire? It's beyond confusing. I thought with USB3.1, at least there'd be a universal cable, and I didn't realize until reading this article that the cables themselves are different per protocol!
I agree with what the writer is getting at. This is really confusing and it all feels like weird questionable design decisions.
I feel this is a transient rather than inherent problem of running different stacks over the same physical layer. If the physical layer can "miss pairs" then I agree we lose the whole point.
One way is to have some sort of official certificate system enforced by USB.org and adopted by major manufacturers. Basically "guaranteed to support a few pre-defined subsets of protocols".
It's not about missing pairs, Thunderbolt 3 cables are active in the sense that they contain electronics. That's why a Thunderbolt USB-C cable has much larger plugs than a regular USB-C cable.
Edit: it looks like it might be that and/or an active PHY similar to 10Gbps Ethernet.
Thunderbolt was originally designed as an optical link and optical connectors are highly problematic. Misalign the fiber just a tiny bit and you have considerable losses. So they went with a hybrid design where the converter is in the plugs and the connector is electrical. Later it was changed to all electrical but the design where the connection between the two plugs and the plugs and the devices are two separate things was retained.
The second reason is that this design still makes sense. With traditional designs the driver in the end device is always a compromise. For example the Ethernet driver has to be able to drive lines up to 100m long, but how many Ethernet lines are really that long? For Thunderbolt they dis-coupled the physical characteristics of the line driver from the driver in the end device. They basically move all the problems of the physical connection (line length, EMV and so on) form the end device to the cable.