Hacker News new | past | comments | ask | show | jobs | submit login

Does Thunderbolt anything work properly?

In the past few years I have used five brand new MacBooks (all different models and years, work and personal), four monitors, three Thunderbolt docks - everything new and name brand, including $80 name brand cables - and every single combination has crashed and/or required reboots daily, constant power cycling of monitors, etc etc.

When it all works, it's awesome.

But it's unbelievably flaky and annoying, and I can't understand why the bugs haven't been ironed out yet. However, even with a daily reboot it's still more convenient than plugging five cables into my laptop every time I want to dock it.

Edit: I should note that Big Sur is very stable, requiring only weekly-ish reboots.




AFAIK Thunderbolt could be less-marketingly-termed External PCIe --- and from that perspective, it is amazing that multiple-gigabits-per-second can be transferred on a thin cable between a computer and external devices, with "acceptably small" (but clearly not zero) error rates. I believe the spec is unfortunately still proprietary and confidential, which certainly reduces the number of people who can even try to fix any bugs in implementations.

I should note that Big Sur is very stable, requiring only weekly-ish reboots.

Wow. That's not what I would call "very stable" at all --- unless you mean in the context of using Thunderbolt devices.


The data rates are impressive but that doesn't really excuse anything. The data rate is more or less isolated from everything else in PCIe. The protocols that are glitching out don't care if it's 40Gbps or 480Mbps.


The faster the speed, the more critical signal integrity becomes; and I suspect at least some of the flakiness is due to how tight the tolerances are at Gbps speeds.


It's packet-based, and you can delay a packet by a lot of time and it won't cause any problems. So at higher levels there shouldn't be any tight tolerances.

Signal integrity and timings are really important at the physical layer, but I don't think that's what's breaking.


PCIe is packet-based and will retry, but typically the drivers for PCIe devices are not written to expect that e.g. accesses to its MMIO space take arbitrarily long times to complete, and the software above and around the driver (including the OS) can also be affected by such delays. Likewise, a device that's processing a continuous stream of data is going to overrun or underrun if its requests for interrupts or DMA get delayed due to retries caused by physical layer errors.


But as far as I know an x1 link works fine with real devices, and very much should work fine with real devices. And at the same time, to slow down a normal connection to less than an x1 link you'd need something like a very broken cable that just barely doesn't lose everything, and also doesn't get rejected by the system. So I still doubt physical level errors are the cause of weird flakiness except in very rare cases.


That's true, but I've also seen PCIe devices survive droping to kb/s bandwidth before failing over like you're saying.


There is an External PCIe cabling spec though it appears to be inferior to thunderbolt.

- no power

- limited ASPM support, no CPM support

- much larger (36 pins)

additionally, I imagine user experience is worse due to most systems only enumerate at startup and dont handle surprise unplug well at all.

https://pcisig.com/specifications/pciexpress/pcie_cabling1.0...


Expresscard also exists as a hotswappable version of PCIe for laptops. It's only one lane, so even the modern laptops with PCIe v3 have dismal bandwidth compared to USB3 or Displayport.

Surprise unplugs aren't great. On windows you can safely eject a GPU from your laptop with the taskbar icon.

Compared to thunderbolt it's an order of magnitude cheaper.


> multiple-gigabits-per-second can be transferred on a thin cable between a computer and external devices

Proper TB rated cables are far from being thin.


There might be some implementation details, in particular for thunderbolt 3.

Some 9 years ago, I worked at a place where we had macbooks and Apple Thunderbolt displays. I don't remember ever having issues. And I personally had two displays daisy-chained, with random USB and FireWire peripherals hanging off them. One of the screens or the computer itself developed a contact issue many years later, which of course isn't great, but the connection itself has always been rock-solid.

I remember at one point, after the High Sierra upgrade I think, but I'm not 100% sure on the date, I had some issues with the same thunderbolt screen and the same MBP. But by that time, they had already changed the font rendering, so I didn't use that display as often. Also, the GPU drivers at the time were terribly broken and the MBP would lag like crazy when using it. A few upgrades later, it was solved.

However, in PC land, I have an HP desktop with an HP thunderbolt / usb-c card, and it's hit-and-miss. My understanding is it has something to do with waking up the controller or something, but I've never managed to get it working 100% reliably. DisplayPort alternate mode is broken on Windows, too. I have a friend with a Dell XPS with integrated Thunderbolt, and he gets the exact same behaviour. At least his DP output works...


I only had issues with Apple and Thunderbolt, e.g. display resolution restricted to 1440p instead of 2160p when the same cable on a Windows NUC delivered 5k2k HDR10 resolution without any issues.


Caldigit TS3 dock has been reliable and almost bug free for me. Everyone at the large organization I work for also attests the same.


When I use the TS3+ dock, MacOS tends to reverse the positions of my monitors around 20% of the time I wake up from sleep


Are you plugging into a different port? I was having a similar issue with waking from sleep after being disconnected and reconnected. Then I realized I was plugging into a different port each time, and once I set the position for the displays for each port I never had that issue again.


I can second this. I was experiencing the exact same thing for a while.


Might be partly due to plugging into different ports as somebody mentioned, but it does seem to happen randomly for me too. But I found this tool yesterday that makes it a lot simpler to solve https://github.com/jakehilborn/displayplacer - annoying that it doesn't work properly out of the box, of course


I also have a TS3 and my experience has been similar. Quite solid. At one point I was having issues with a monitor being recognized and thought it was the TS3, but with some tinkering it turned out to be a quirk of the monitor (sometimes it just needs a full power cycle, even when no dock is being used).


I have a TS3+ with an XPS 15 9500, it's a nightmare. With only 2 monitors plugged it works well, but when you plug keyboard mouse and webcam it starts randomly dropping the whole usb stack. I guess that thing works only on macs (for one you can upgrade the firmware only on macos).


I can vouch for Caldigit for both Mac and Windows. Been using them since the start of covid.

One of the worst docks I've used was the Dell ones. With those I've had. 50/50 chance the Ethernet will work. And if you do connect expect to drop out.


We have tested all the thunderbolt dock we could find. The only ones when we managed to have 2 screens working on Mac, Windows and Linux were Lenovo's (non Mac computers are Lenovo too, not sure if that matters)


Ditto (since Big Sur: I had problems with 10.14 on a 2010 MBP).


>I should note that Big Sur is very stable, requiring only weekly-ish reboots.

We are coming close to 2022, we need to set the bar a lot higher than that.

No wonder why people often find me rantish or overly critical. Somethings are just not good enough.


And sometimes they are. One person’s anecdotes aren’t indicative of everybody’s experience. I rarely reboot my Big Sur machines; one has been running for about 4 weeks, since just before the beginning of the lockdown here in New Zealand.

I’m sure it would’ve been running longer had I not needed to reboot to finish installing an app.


I was ranting about this with a colleague the other day.

I remember having a gaming machine in ~2009 running Windows 7, and outside of me screwing with it (overclocking, etc) it's been rock-solid despite being heavily used; I can't actually recall a bluescreen or crash that I couldn't blame on my own doing.

In contrast, 11 years later, my M1 Macbook despite getting nowhere near the abuse that gaming machine got (it only really runs a web browser and I definitely don't mess with hardware or low-level settings - I don't even have System Integrity Protection disabled) will randomly crash or sometimes fail to wake up and will require a forced shutdown every couple weeks.


I only have issues when connecting, once it starts working, it's rock stable.

When I tried to power the JEYI Thunderdock Mini (this is an almost unknown gem but I love it to pieces because of the price, the size, the M.2 slot, the USB C power input) with the Baseus Galio 120W then it kept connecting and disconnecting without stop, it made the laptop into a chiming instrument :) Once I plugged the Aukey Omnia 100W (PA-B5) it has become rock solid.

I have a Monoprice Thunderbolt 3 Dual DisplayPort Mini Dock (search ebay for thunderbolt 3 dual mini dock you will find it for 30-ish, by far the cheapest TB3 dock) and I have two powered USB hubs chained off it. I need to plug it 2-3 times before the hubs are working but once they do, I never have a problem.

Lenovo ThinkPad X1 Extreme Gen 4 is the host.


There might be problems with Thunderbolt docks and monitors, I have no experience with those.

On the other hand, I have used continuously during the last 5 years Thunderbolt SSDs from several brands as my boot and working drives (i.e. without using any internal storage), with many computers, mainly Dell laptops and Intel NUCs.

Besides obviously being faster, the Thunderbolt 3 SSDs have been far more reliable than the external SSDs using USB.

So there is at least something that works properly, but I do not know if that is also true on MacBooks, because I have always used Thunderbolt only in Linux.


When my X1 Carbon running Windows sleeps with a a USB-C (or is it Thunderbolt?) monitor plugged in, sometimes it wont wake up. The power light just slowly throbs.

I agree that there's something magical about getting USB, display, and power over a standard cable.


My problem is more with the ecosystem than reliability; granted, I don’t need too much from it, just some screens, networking and USB. But that’s just a giant pain to figure out in general. Adapters and cables that require painstaking research to get right (and even then a lot of YMMV on the user’s end) are insanely frustrating. I live in a small Eastern European country so for me the idea of using two 4K screens I already had at 60 on a brand new MacBook Pro involved a day’s research and ordering stuff from abroad and waiting more than a week to find out if it would even work or not. And I think of myself as tech literate…

While I understand the ‘elegance’ factor of the nice and compact USB C ports and the expandability of Thunderbolt, I’m glad that I don’t have changing needs because it would frustrate me to constantly have to look into everything and potentially keep having to buy stuff from other countries just to be able to make use of these ports.

But tldr; my TB3 to DisplayPort adapters work well enough that I only reboot the computer for updates.


My advice is to not use docks. They cause too much troubles. It's game over as soon as you try to plug multiple displays and/or 4k displays.

Connect each display with a dedicated cable, thunderbolt to HDMI. Works better.

The only issue then is with Macbooks only having 1 or 2 ports, not much you can plug. Use a bluetooth mouse/keyboard to save ports.


yes i find my TB2 DAS to work perfectly for years now.

as for docks, i’ve tried them all and they all have unacceptable issues of one sort or another.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: