A Guide USB/Thunderbolt Hubs

How do I connect two displays to My Mac?

This is a something that many people, understandably, struggle with. There are approximately 45 Billion display adapters, video cables, docks and hubs. Some Macs have 2 Thunderbolt ports. Others have 4. Some have USB, some have Thunderbolt. What about USB docks? Why are some $20 and others are $200?

I went though this myself a few months ago when I deiced to buy a second monitor for my computer. I needed a way to connect two displays and a bunch of other devices into a computer that only had two ports. A hub was the obvious answer – but finding a decent one took some research.

I wrote this guide so that others do not have to suffer through reading endless clickbait articles filled with outdated and contradictory information. There are a few recommended docks at the end of this post. I’m not affiliated with these companies in any way, and I don’t make a commission if you choose to buy one. They are just the docks that I think will work well for most people, and are made by companies with good reliability track records.

What is dock and why would I want one?

A USB or Thunderbolt dock is a piece of hardware that lets you connect multiple devices to your computer using a single cable. Most docks a few USB ports, an SD card reader, an ethernet connection, and video output. Higher end docks can also charge your laptop and have connections for multiple 4K monitors.

A Caldigit TS3+ Thunderbolt Dock
A Caldigit TS3+ Thunderbolt Dock

Aside from adding extra ports to your setup, a dock reduces (and usually removes) the need to use various adapters and cables for all your accessories.

What’s difference between a USB dock and a Thunderbolt Dock?

There are USB-C docks and Thunderbolt docks. This is confusing since Thunderbolt and USB-C cables look identical. In actuality, thunderbolt is a type of USB-C cable. The term “USB-C” only refers to the shape of the connector but doesn’t tell you anything about the it’s speed. Conversely, the term “USB 3.0” refers to the cable’s speed , but doesn’t tell you anything about its shape. In short: all Thunderbolt cables and USB-C cables, but not all USB-C cables are Thunderbolt cables.

USB 3 cables come in three different speeds: a 5Gbps version, a 10Gbps version, and a 20Gbps version. This doesn’t matter very much other than to point out that USB cables have one of the worst naming conventions of any technology, and it’s very easy to buy the wrong cable. This is mostly a concern for higher end docks. If you want to feel insane, read the wikipedia article on USB standards.

Here’s a simplified table that breaks down all the various types of USB-C cables

SpeedTechnical nameCommon NameVideo OutputUsage
5 GbpsUSB 3.2 Gen 1USB Superspeed USBSometimesUSB Hub
10 GbpsUSB 3.2 Gen 2USB Superspeed USB 10GbpsSometimesUSB Docks
20 GbpsUSB 3.2 Gen 2×2USB Superspeed USB 20gbpsSometimesUSB Docks
40 GbpsThunderbolt 3Thunderbolt 3YesThunderbolt Dock
40 GbpsUSB 4.0USB4YesUSB4 Docks

USB3 and Video Output

Sending video over USB 3 a cable and dock with a feature called alt-mode. Alt-mode accessories are wired differently than their non-alt-mode counterparts. Support for this feature is optional and it’s up to accessory manufacturers to add it to their docks and cables.The reality is that this feature if often poorly implemented and poorly documented. If you’ve ever had problems connecting a display to a USB dock, this is probably the cause.

Using a display with a non-alt-mode dock requires a video adapter. Apple sells a USB-C Digital AV Multiport Adapter for $70.

Thunderbolt 3 supports video output without the need for special cables or video adapters. If you Mac was released after 2017 it probably has Thunderbolt, but you can find the full list of Thunderbolt equipped Macs here:Apple Support – Identify the ports on your Mac.

Which type of dock should I choose?

You should buy a Thunderbolt 3 dock if any of these apply to you:

  • You want to connect a ton of high speed devices to your computer. High speed devices include things like 4K welcomes, external SSD drives and external RAID enclosures. Some really fast external hard drives use Thunderbolt.
  • You want to use multiple 4K monitors.
  • You want to use USB-C Monitor(s)
  • You want to buy your way out of the hell of USB-C labyrinth

You should buy a USB dock if any of these apply to you:

  • You don’t need dual monitor support
  • Thunderbolt docks are not in your budget
  • You plan on connecting fewer than 10 devices. USB docks are fast enough for external SSDs, but probably not a great option for RAID enclosures.

Thunderbolt Dock Recommendation

My Recommendation: Caldigit TS3 Plus Thunderbolt Dock – $250 USD

If spending $250 is within your budget, this is the dock you should get. It has enough ports whatever you throw at it. It’s also one of the few docks that supports USB-C monitors like the LG UltraFine. This is the dock I purchased for myself I recommend it without reservation.

If you have a Mac with an M1 processor, read the caveats section at the bottom of this post

USB Dock Recommendations

  • Belkin USB-C Express Dock $150 USD – has almost as many ports as the Caldigit Dock. Supports a single 4k monitor or two standard definition monitors. Will charge your laptop.
  • Caldigit SOHO USB Dock ($100) – Fewer ports than the Belkin dock. Supports a single 4K monitor or two standard definition monitors. Will charge your laptop. This is a pretty new product so there aren’t many reviews yet.
  • Anker 5-in-1 USB Adapter – ($35 USD) – This hub will give you ethernet and a few USB ports. Anker sells a few different varieties of this model. I recommend looking at their other hubs and choosing the model that best fits your daily needs. This hub also supports HDMI displays – but your mileage may vary in the success department. See the section about USB-C Alt mode above.

Caveat: M1 Macs

The new M1 MacBook Pro and MacBook Air can only support one external monitor. The M1 Mac mini can support a single display over Thunderbolt and a second display over HDMI.

The CalDigit USB Pro Dock ($249) can support two external displays on M1 Macs. That being said, I haven’t verified this myself. If anyone owns an M1 Mac and uses this dock please let us know how it’s working out.

Other Resources / Guides

Generate Fake Names in Python

Fake is a handy Python package that generates fake names, addresses, and text.

Github – Faker

Install Faker

The simplest way to install Faker is by using pip

pip install Faker 

Examples

Here’s a few examples to get you started. The project’s github page has lots of more advanced code snippets if you decide

Print 10 names to the console

import faker
from faker import Faker
fake = Faker()
    for i in range(10):
    print(fake.name())

# Console Output
> 'Rodney Johnston'
> 'Ryan Watson'
> 'Daniel Doyle'
> 'Kevin Hancock'
> 'Amber Arnold'
> 'Sherri Brooks'
> 'Lori Maldonado'
> 'Stacy Callahan'
> 'Valerie Klein'
> 'Kristen Wallace'

Save 10 names to a list

import faker
from faker import Faker

fake_names = [fake.name() for i in range(10)]

print(fake_names[4])

#Console Output 
> 'Craig Taylor'


Print a fake address to the console

print(fake.address())

# Console Output 
> 469 William Vista
> East Edward, AR 70966

BridgeOS Kernel Panics – Part 1

About this Mac

In early October I replaced my aging MacBook Pro, a base model from 2007, with a Mac Mini. The outgoing machine had served me admirably but was now starting to show its age. I hummed and hawed over which model to buy, but ended up with a Mac mini. With no prospect of travel in the foreseeable future, a desktop made sense. I also splurged on a 32GB RAM upgrade kit from OWC.

My first week with this new machine was blissful. “Wow!” I exclaimed, “look at the speed at which this Excel file opens! Marvel as I keep 25 Chrome tab opens!”

But one morning a dialog box informed me that my computer had restarted because of a problem. Interesting, I thought, as my computer restarted again. And again. And a third time before finally getting ahold of itself. The machine would run fine for a few hours before succumbing to a series of reboots.

Unexpected Restart Warning

My first reaction was to blame the RAM, a component notorious for causing kernel panics when it fails. I also installed it myself, and maybe I screwed something up. On the other hand, the panic medic boot dialog seemed confident that kernel extensions were at fault.

Panic Medic Boot Dialog box

So what’s going on?

Hypotheses

Before falling too far down a proverbial rabbit hole, I ran through Apple’s recommendations, which you can read here: If your Mac Restarted Because of a Problem

Quick Fixes:

QuickfixResult
Reset SMC/NVRAM/PRAMThe machine continued to kernel panic
Disconnect all Peripherals The machine continued kernel panicked with only a keyboard, mouse, and display connected
Try safe mode
I could boot into Safe Mode, but since the issue is intermittent this didn’t tell me very much
Run hardware diagnosticsHardware diagnostics passed
Basic Kernel Panic Troubleshooting Steps

With those out of the way, it was time to develop some hypothesis.

Hypothesis 1: A kernel extension is responsible for the crashes. Testing this should be straightforward: remove the extensions and see if things stabilize.

Hypothesis 2: There’s something wrong with the RAM. This could be as simple as a faulty stick or as serious as a damaged pin on the logic board. The easiest way to test this hypothesis is by reinstalling the original RAM. But this entails removing the logic board. Each time you disassemble a Mac mini you increases the risk of breaking a delicate part.

Testing Hypothesis 1: Kernel Extensions

When I setup my Mac mini, I started fresh. I reinstalled some apps and restored by data from iCloud Drive and OneDrive. Two apps asked for permission to install kernel extensions: Parallels Desktop 16 and Logitech Options.

Removing Logitech Options is straightforward: run the Logi Uninstaller. I assumed that Parallels would also need an uninstaller, but according to their support page all you need to do is drag the application to the recycle bin.

Would this simple act stop the kernel panics? I rebooted the machine and decided to dig into the logs while I waited to find out.

BridgeOS .. are you to blame?

All the panic logs started by referencing Bridge OS 4.6. A quick search shows that BridgeOS is related to the T2 chip. That same search will also lead you to Apple Discussions threads – some with hundreds of responses – of loosely related T2/BridgeOS problems.

{
  "caused_by": "macos",
  "macos_version": "Mac OS X 10.15.7 (19H2)",
  "os_version": "Bridge OS 4.6 (17P6610)",
  "macos_system_state": "running",
  "incident_id": "853278DF-511E-4C30-A286-D73A50488541",
  "timestamp": "2020-10-15 16:24:43.00 +0000",
  "bug_type": "210",
  "macOSOtherString" : "\n** In Memory Panic Stackshot Succeeded ** Bytes Traced 782880 **\n"

}

I never found a consensus on the cause or solution to these BridgeOS crashes. I don’t even know if they’re even related. Maybe BridgeOS isn’t the cause of these kernel panic but a victim. What if BridgeOS just went down with the rest of the ship?

Nevertheless, here are some interesting observations from various threads on the issue:

  • Many users reported kernel panics after they installed Security Update 2020-002, released in March 2020.
  • Some users reported that upgrading to Big Sur resolved the issue. Big Sur ships with a different build BridgeOS (17.16.16610 at the time of writing.)
  • This issue affects other T2 Enabled Macs, but anecdotally it seems to plague Mac mini owners the most frequently.
  • Possible solutions were all over the place – ranging from not using Safari to logic board replacements.

As an aside, while reading these threads my machine kernel panicked. I guess kernel extensions weren’t to blame, but I hadn’t completely ruled out a software issue.

Erase and Install

One surefire way to resolve a software issue is by erasing the software, which is exactly what I did. I started the Mac Mini into recovery mode, wiped the OS and Data volumes, and proceeded with a clean MacOS install.

To my horror, the machine kernel panicked 15 minutes into the install.

Testing the Hardware

In Part 2 of this post I’ll cover hardware troubleshooting. I’ll also dive more into BridgeOS, firmware restores, and the added complexity of diagnosing a T2 equipped Mac.

Thanks for reading

Unified Memory and M1 Chips

From Howard Oakley at The Eclectic Light Company

If demands made on unified memory are more variable, and could require that a high proportion of physical memory is used for graphics and the display, this might result in increased use of virtual memory, and CPU cycles lost to caching. That was certainly a problem when caching to rotating disks, but with modern high-speed SSDs effects on performance are minimised. After all, an internal SSD is only larger and slightly slower-access memory. That requires tighter integration of internal storage too.

When I was a hardware tech at Apple I would often need to help customers understand the difference between RAM and storage. The most effective way of doing that was to liken RAM to your desk and storage to your bookshelf. However, this was during a time when most Macs still used platter hard drive. I wonder how true that analogy remains today – especially with the incredible SSD read/write speeds on machines with a T2 chip.

Speaking of T2 chips, I discovered Howard’s site while troubleshooting a (suspected) T2-related Kernel panic on my Mac mini. What an incredible repository of information. Truly one of the best Mac troubleshooting sites out there.