Notifications
Clear all

PCIe Ethernet in Thunderbolt docks  

 of  2
  RSS

khronokernel
(@khronokernel)
Active Member
Joined: 2 weeks ago
 

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:

This topic was modified 2 weeks ago

MacBookPro18,3 - 8c/14c/16GB/512GB


ReplyQuote
Topic Tags
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 5 years ago
Builds: 13
 

@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: kryptonitepurge-wranglertbt-flashpurge-nvdaset-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]  


itsage liked
ReplyQuote
khronokernel
(@khronokernel)
Active Member
Joined: 2 weeks ago
 
Posted by: @mac_editor

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


ReplyQuote
itsage
(@itsage)
Founder Admin
Joined: 5 years ago
Builds: 155
 

@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 | Twitter | Facebook | Youtube | Instagram
 
external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2021 14" Microsoft Surface Laptop Studio [11th,4C,H] + RTX 2080 Ti @ 32Gbps-TB4 (WD_Black D50) + Win11 [build link]  


ReplyQuote
khronokernel
(@khronokernel)
Active Member
Joined: 2 weeks ago
 
Posted by: @itsage

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


itsage liked
ReplyQuote
Dima Novosad
(@dima_novosad)
Active Member
Joined: 3 weeks ago
 

@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

 

2019 16" MacBook Pro (RP5500M) [9th,8C,H] + RX 6800 XT @ 32Gbps-TB3 (Razer Core X Chroma) + Win10 1903V1 [build link]  

ReplyQuote
Dima Novosad
(@dima_novosad)
Active Member
Joined: 3 weeks ago
 

@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.

 

2019 16" MacBook Pro (RP5500M) [9th,8C,H] + RX 6800 XT @ 32Gbps-TB3 (Razer Core X Chroma) + Win10 1903V1 [build link]  

ReplyQuote
khronokernel
(@khronokernel)
Active Member
Joined: 2 weeks ago
 
Posted by: @dima_novosad

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


ReplyQuote
Dima Novosad
(@dima_novosad)
Active Member
Joined: 3 weeks ago
 

@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?

 

2019 16" MacBook Pro (RP5500M) [9th,8C,H] + RX 6800 XT @ 32Gbps-TB3 (Razer Core X Chroma) + Win10 1903V1 [build link]  

ReplyQuote
khronokernel
(@khronokernel)
Active Member
Joined: 2 weeks ago
 
Posted by: @dima_novosad

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.

Posted by: @dima_novosad

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


ReplyQuote
 of  2