Hello!
Currently I'm in the market for Thunderbolt docks to pair with my 14" MacBook Pro. I've been looking on the market for docks with better reliability and noticed most OEMs don't list the Ethernet Vendor and connection type. Unfortunately most OEMs have opted for Realtek USB NICs which I am not too keen on due to issues in the past with Realtek (both PCIe and USB).
This written to document the Ethernet controllers built into many Thunderbolt docks, with the goal of easily finding docks that use PCIe Ethernet. This list is currently limited to docks natively supported in macOS, as the list was compiled with a 14" MacBook Pro in mind.
Why PCIe over USB
With macOS, Apple generally prioritizes PCIe devices over USB for better driver support as drivers are written explicitly for them (see next section). Whereas with USB, Apple writes semi-generic drivers based off USB CDC (Controller Device Class). As of Monterey, the following are supported:
- ACM: Abstract Control Model
- DMM: Device Management Model
- ECM: RNDIS, Ethernet Control Model
- EEM: Ethernet Emulation Model
- NCM: Network Control Model
- WCM: (WebCaM) Device Management Model
Additionally PCIe NICs generally offload much of the compute task from the CPU onto the on-board controller, giving your system some headroom during bandwidth intensive tasks. Compare this to USB, much of the compute task is still on the CPU side.
- Note 1: Not all USB Ethernet devices are supported in macOS (namely AX88179) however the vast majority are thanks to this generic driver struture.
- Note 2: Apple may sometimes have additional support for certain USB Ethernet controllers via add-on drivers such as AppleUSBRealtek8153Patcher.kext
Finally the most noticable issue with USB NICs is that they share bandwidth with the rest of your USB devices on the same controller. USB 3.0 for example has a shared bandwidth of 5Gbps, and when you have a dock with multiple devices plugged in, that takes up precious resources:
Device | Bandwidth | Notes |
---|---|---|
USB to SATA HDD | 3Gbps | Lower end HDD (SATA 2 speeds) |
USB to SATA SSD | 5Gbps | SATA 3 SSD (capped at USB 3.0) |
USB Ethernet NIC | 1Gbps | Standard 1Gbe |
USB Capture Card | 5Gbps | |
TOTAL | 14Gbps |
As you can see, devices will be strained for bandwidth as we’re exceeding the 5Gbps bandwidth allowed under USB 3.0. Removing devices from this chain can greatly alliviate contrains, allowing your NIC to run without comprimise as well as allowing other USB devices to run faster.
PCIe Driver Support
Currently in macOS Big Sur/Monterey, there are 3 PCIe Ethernet Vendors natively supported. Besides the Intel8254X driver, all other drivers in macOS natively support both Intel and Apple Silicon machines:
- Drivers can be found under
/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/
Vendor | Driver | Supported Architectures | Hardware |
---|---|---|---|
Intel | AppleIntel8254XEthernet.kext | x86_64 | 80003ES2LAN, 82545EM, 82571EB/82571GB |
Intel | AppleIntelI210Ethernet.kext | x86_64, arm64e | i210, i225 |
Intel | Intel82574L.kext | x86_64, arm64e | 82574L, 82566DC |
Broadcom | AppleBCM5701Ethernet.kext | x86_64, arm64e | 5764M, 57761, 57762, 57765, 57766 |
Aquantia | AppleEthernetAquantiaAqtion.kext | x86_64, arm64e | AQC107, AQC113 |
Model Notes
With the above 5 drivers, currently Apple only uses 2 of them in their products:
- Aquatia is used on all Macs with 10Gbe
- Broadcom is used on all 2011+ Macs with 1Gbe
- ie. 2011-2020 iMacs, 2010-2020 Mac minis, 2013 Mac Pro
Apple previously used Intel with their 2006-2012 Mac Pro’s:
- MacPro1,1-3,1 (2006-8): 8254X
- MacPro4,1-5,1 (2009-12): 82574L
However as of Big Sur/Monterey no native Macs use Intel. Additionally Apple maintains the i210 kexts solely for Thunderbolt docks, and i225 support was added into AppleIntelI210Ethernet.kext with macOS Catalina.
Dock Recommendations
Best Bang for Buck
The best bang for buck for the majority of users would be the Belkin Thunderbolt 3 Express Dock HD soley for the reason of being insanely cheap on eBay while still including essential features:
- Fresco Logic USB 3.0 Controller
- Intel i210 PCIe Ethernet Controller
- 85w USB-PD Charging
- Single DisplayPort 1.2
- Thunderbolt 3 passthrough
- can be used as additional DisplayPort output
It’s a very bare bones dock, but if all you need is some USB ports, PCIe Ethernet and DisplaPort, this dock is a great value! Ensure you look on used markets such as eBay to get better pricing, as these docks usually sit under $100 CAD without PSUs or just over with them.
Best Overall
From my research, I’ve found that the best dock overall in the field seems to be CalDigit’s TS3 Plus dock. The main reasons why:
- Includes 3 dedicated USB Controllers
- Dual Fresco Logic USB 3.0 Controllers (one for rear and front)
- Single AsMedia USB 3.1 Controller (for rear 10Gbps USB-C)
- Intel i210 PCIe Ethernet Controller
- 87w USB-PD Charging
- Single DisplayPort 1.2
- Thunderbolt 3 passthrough
- can be used as additional DisplayPort output
- SD 4.0 and UHS-II reader
- Optical Audio
If price is no issue, the TS3 Plus surpasses every dock out there currently. However due to how long this product’s been out, a TS4 Plus is sure to be on the horizon.
Best for eGPU
If you’re an eGPU user, you’ve really only got 2 realistic options:
- TUL mini eGFX prototype
- Visiontek Expansion Chassis TB3 Mini eGFX
Both of these enclosures include an Intel i210 PCIe Ethernet Controller while still giving you the flexibility of a PCIe slot for eGPUs. However due to the 15w charging, you will need to supply the laptop with an additional cable.
Thunderbolt Ethernet Table
USB
OEM | Model | Power | Ethernet Controller | Connection | Notes |
---|---|---|---|---|---|
Belkin | Thunderbolt 3 Dock Pro | 85w | Realtek RTL8153 | USB | |
CalDigit | USB-C Pro Dock | 85w | Realtek RTL8153 | USB | |
ThinkPad | Universal Thunderbolt 4 Dock | 100w | Realtek RTL8153 | USB | DisplayPort MST, no multi-monitor in macOS |
OWC | Thunderbolt 4 Dock | 90w | Realtek RTL8153 | USB | |
Sonnet | Echo 11 Thunderbolt 4 | 90w | Realtek RTL8153 | USB | |
Satechi | Thunderbolt 4 Dock | 96w | Realtek RTL8153 | USB | |
WAVLINK | Thunderdock SP 3/Thunderdock SP 5 | 85w | Realtek RTL8153 | USB | |
Dell | Thunderbolt Dock TB16 | 130w | Realtek RTL8153 | USB | 130w limited to Dell systems |
Plugable | Thunderbolt 3 USB-C Dual Display | 96w | Realtek RTL8153 | USB | |
HP | Thunderbolt Dock 120W G2 | 120w? | Realtek RTL8153 | USB | |
Razer | Thunderbolt 4 Dock Chroma | 90w | Realtek RTL8153 | USB | |
Corsair | TBT100 Thunderbolt 3 Dock | 85w | Realtek RTL8153 | USB | |
Seagate | Firecuda Gaming Dock | N/A | Realtek RTL8153 | USB | |
Mantiz | Saturn Pro | 97w | Realtek RTL8153 | USB | |
HP | Omen Accelerator | 60w | Realtek RTL8153 | USB | |
WAVLINK | Thunderdock SE/Thunderdock SE III | N/A | Asix AX88179 | USB | Requires 3rd party drivers in macOS |
Razer | Core X Chroma | 100w | Asix AX88179 | USB | Requires 3rd party drivers in macOS |
PCIe
OEM | Model | Power | Ethernet Controller | Connection | Notes |
---|---|---|---|---|---|
Apple | Thunderbolt Display | N/A | Broadcom BCM57761 | PCIe | |
Apple | Thunderbolt 1 to Ethernet adapter | N/A | Broadcom BCM57762 | PCIe | Same NIC as 2020 M1 iMac |
Belkin | Thunderbolt 3 Express Dock HD | 85w | Intel i210 | PCIe | |
Plugable | Thunderbolt 3 Dock + 60W | 60w | Intel i210 | PCIe | |
i-tec | Thunderbolt 3 Dual 4K Dock + 60w | 60w | Intel i210 | PCIe | |
CableMatters | Thunderbolt 3 Dock + 60w | 60w | Intel i210 | PCIe | |
StarTech | Thunderbolt 3 Dual-4K | 15w? | Intel i210 | PCIe | |
StarTech | Dual 4K Mini Thunderbolt 3 Dock | N/A | Intel i210 | PCIe | |
StarTech | Thunderbolt 3 Dock - Dual 4K 60Hz | 85w | Intel i210 | PCIe | |
CalDigit | TS3 Plus | 87w | Intel i210 | PCIe | |
Sonnet | Echo 11 Thunderbolt 3 | 87w | Intel i210 | PCIe | |
TUL | mini eGFX prototype | 15w | Intel i210 | PCIe | |
Visiontek | Expansion Chassis TB3 Mini eGFX | 15w | Intel i210 | PCIe | |
Goodway | DBD1330 | 96w | Intel i225 | PCIe | 2.5Gbe, must buy in bulk |
ThinkPad | Universal Thunderbolt 4 Dock | 100w | Intel i225 | PCIe | 2.5Gbe, not offically available. DisplayPort MST |
OWC | Thunderbolt 3 Pro Dock | 60w | Aquantia AQC107 | PCIe | 10Gbe, same NIC as 2017 iMac Pro/ 2019 Mac Pro |
Akitio | Thunder3 Dock Pro | 60w | Aquantia AQC107 | PCIe | 10Gbe, same NIC as 2017 iMac Pro/ 2019 Mac Pro |
Sonnet | Twin 10G SFP+ | N/A | Intel X540 | PCIe | Requires 3rd party drivers for macOS, no Apple Silicon support |
HP | Elite Thunderbolt 3 Dock | 65w | Broadcom BCM57786 | PCIe | Not supported in macOS |
REF: my journey to document many Thunderbolt docks and their Ethernet Controller:
MacBookPro18,3 - 8c/14c/16GB/512GB
@khronokernel, welcome to the forums! I have tried the Razer TB4 dock and the ThinkPad Universal Thunderbolt 4 dock. Am returning the latter simply because it doesn’t work appropriately in macOS (DisplayPort MST). Otherwise latter would be a better dock. Not a fan of the Realtek NIC myself. In my experience it has generally worked ok on the Razer. I did notice once that Ethernet didn’t work on hot-plugging on my 2019 16-inch MBP. Re-plugging fixed it.
On the 2021 16” MBP, haven’t seen Ethernet issues yet but there’s one issue that plagues the USB ports (also happens on 2019 Mac) - on hot-plugging to the dock I need to power cycle my DAC/AMP setup to get it to show up. Minor inconvenience as it’s right on my desk but could be an issue for things that are bus-powered and your dock is tucked away (like mine). Perhaps I should test a USB drive.
Since I switch laptops (work vs. personal) hot-plug behavior is important to me. However, once everything is working, it’s been a stable setup without issues.
I shared some of my experience here: https://egpu.io/forums/laptop-computing/my-experience-switching-to-an-egpu-less-world/
BTW, quick suggestion: adding power delivery as separate column in the table would make it much more useful.
"Desultory reading is delightful, but to be beneficial, our reading must be carefully directed." — Seneca
Author: kryptonite ✧ purge-wrangler ✧ tbt-flash ✧ purge-nvda ✧ set-eGPU
Insights Into macOS Video Editing Performance
Launching Apps on Specific (e)GPUs on macOS
Definitive macOS Thunderbolt eGFX Compatibility Registry
Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]
BTW, quick suggestion: adding power delivery as separate column in the table would make it much more useful.
Ah great idea! I mostly care for 60w~ so didn't really account for it in my research but looking back I bet that's pretty important to a lot of people ;p
MacBookPro18,3 - 8c/14c/16GB/512GB
@khronokernel, Thank you very much for sharing this excellent resource. Would you mind if we cross-post it to the front end and top-nav for more visibility? This Thunderbolt dock table can help users greatly during their search.
LinkedIn | Youtube | Instagram
• external graphics card builds
• best laptops for external GPU
• eGPU enclosure buyer's guide
2021 Gigabyte Z590i Vision D [11th,6C] + RTX 3060 Ti @ 32Gbps-TB4 (Gigabyte Gaming Box) + Win11 [build link]
Would you mind if we cross-post it to the front end and top-nav for more visibility?
Oh ofc, no issue at all!
MacBookPro18,3 - 8c/14c/16GB/512GB
@khronokernel, This is really awesome! I looked up OWC Thunderbolt 3 Pro Dock on Amazon - it's pretty cool but has some very funny negative comments. I would love to find something like this but with maybe just the Ethernet, 1-2 USB 3.1 and maybe sd card reader. I would just love to off load Ethernet to PCIe controller and see if this helps with performance. I am using Belkin USB-C adapter at the moment.
Wow that same dock by OWC is also sold under different company - Akitio. Okie Dokie
@khronokernel, super interested in this topic and subbed here. This would've been awesome to test by like NexusGamming or Linus to see if there is real world difference in performance. Judging by some comments from shoppers, it looks like PCIe route has a lot of computability issues. This needs some testing to really understand what the real difference is and if it is worth the trouble. I am thinking Razer Thunderbolt 4 dock personally. It looks sweet, a bit limited on the networking side but already on Amazon Warehouse Deals $100 cheaper. I am going to give it sometime and see what other people think/experience before making decision.
This needs some testing to really understand what the real difference is and if it is worth the trouble.
The main area where you'll see a difference between USB and PCIe would be:
CPU Overhead
If you're hammering the network while also using the CPU for other tasks, you'll notice the USB driver stack using a noticable amount of CPU. Generally this varies system to system, but it's generally quite noticeable (sometimes pegging a core on download via USB NICs)
However unless you're constantly maxing out a 1Gbps link, it will be fairly difficult to peg a core with just USB ethernet. Unless you know your workload is going to be quite CPU and Network intensive, this shouldn't be too much of an issue.
USB Bandwidth
Assuming the Thunderbolt dock you purchased only has 1 USB 3.0 controller, all peripherals connect will be sharing that 5Gbps link.
Therefore if you have:
Device | Bandwidth | Notes |
---|---|---|
USB to SATA HDD | 3Gbps | Lower end HDD (SATA 2 speeds) |
USB to SATA SSD | 5Gbps | SATA 3 SSD (capped at USB 3.0) |
USB Ethernet NIC | 1Gbps | Standard 1Gbe |
USB Capture Card | 5Gbps | |
TOTAL | 14Gbps |
- Table ignores additional overhead from USB conversion
With these 4 devices hooked up and active, you've already exceeded the sum total 5Gbps a USB 3.0 controller can provide to its devices. So in situations where you'll be maxing out your network and the other USB devices connected on the same controller, you can notice a degrade in performance.
- USB 3.1 can partially alliviate this issue but due to some weird bandwidth hacks we'll stick with stock 3.0
Some higher end docks will have additional USB 3.0 controllers so front side ports won't take bandwidth away from rear ones, however docks like these generally already have a PCIe Ethernet controller anyways.
- CalDigit TS3 Plus is a notable example where they include 3 USB controllers (x2 3.0 controller, x1 3,1 controller) and a PCIe Intel i210 NIC
MacBookPro18,3 - 8c/14c/16GB/512GB
@khronokernel, wow this great explanation. thank you for this. I feel like I am picking it up. You mentioned USB 3.1 could solve a lot of the things. Is it because the bandwidth is 10gb instead of 5? Also, I was just replying yesterday to another thread where someone was having similar setup to mine with 6800XT and Razer Chroma but when they hooked up external dock via USB they got error code 12. Does this mean that the ports on MacBookPro share this 10GB bandwidth or are they independent? From I what understand the total bandwidth is 40Gb so if to allocate 10GB for a dock would the gpu only have 30 available? Would this be not enough for egpu?
You mentioned USB 3.1 could solve a lot of the things. Is it because the bandwidth is 10gb instead of 5?
So as with most things USB, bandwidth sharing is complicated. So while yes USB 3.1 does support 10Gbps shared bandwidth for devices on the same controller, weird issues come into play when mixing and matching 3.1 and 3.0 devices:
This mainly applies to users of USB hubs which I assume it quite a few as many docks (especially TB4) are limiting the number of USB ports present (to make room for the additional TB4 ports for daisy chaining). However if you're using the direct ports off the USB Controller, this shouldn't be much of a concern.
Does this mean that the ports on MacBookPro share this 10GB bandwidth or are they independent? From I what understand the total bandwidth is 40Gb so if to allocate 10GB for a dock would the gpu only have 30 available? Would this be not enough for egpu?
Unfortunately selectively allocating bandwidth to individual devices is not possible on the same port. Additionally Thunderbolt 3's effective bandwidth is not 40Gbps, instead it's closer to 32Gbps~ as this is the amount 4 lane PCIe 3.0 will provide. The remaining 8Gbps is allocated for dual DisplayPort 1.4 as well overhead.
- DisplayPort is limited to 1.2 on pre-Titan Ridge TB3 controllers, Coffee Lake and newer Macs should all be equipped with Titan Ridge or newer controllers.
So assuming you have 2 thunderbolt devices in a chain (ie. dock and eGPU), you have 2 options:
- Share the same port and daisy chain
- Your TB3 dock will allocate 2 lanes of PCIe 3.0 to itself, as well as your eGPU
- Downside is that you're limiting the overall bandwidth of the eGPU
- Connect to individual ports/busses
- Both the TB3 dock and eGPU will get a full PCIe 3.0 link
- Note that per-port is referring to individual busses. Intel MacBook Pros (2016+, 4 port model) will have 2 busses, one for each side and thus bandwidth is shared if you use both ports on the same side
- Connecting a eGPU on one side and TB3 dock on the other is the ideal setup.
- Apple Silicon Macs don't have this limitation, each port has a dedicated bus. This applies to all models including the M1, M1 Pro and M1 Max. However macOS does not support eGPUs on Apple Silicon at this time
MacBookPro18,3 - 8c/14c/16GB/512GB