Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Amethyst1

macrumors G3
Original poster
Oct 28, 2015
9,782
12,181
New toy :D

RN8414-001_EN_v2.png


A Belkin Thunderbolt Express Dock, providing:
So let's see what USB 3.0 gives us - it's worth noting the controller only gets 2.5 GT/s to play with, so 250 MB/s is the theoretical maximum. But can we even get that much?

Setup: 240GB Crucial BX500 SATA-III SSD in some generic USB 3.0 enclosure. Tests performed using QuickBench 4.0 on an empty ~30GB partition.


Early 2011 13" MacBook Pro - OS X 10.9.5 - Native USB 2.0: :(

BX500_USB2_Native.png

--------------------------------------------------------------------------------------------------------

Early 2011 13" MacBook Pro - OS X 10.9.5 - Dock USB 3.0: :)

BX500_USB3_Dock.png

--------------------------------------------------------------------------------------------------------

Late 2015 21.5" iMac 4K - macOS 10.14.6 - Native USB 3.0: :D (crappy enclosure probably limited to SATA-II).

BX500_USB3_Native.png
 
Last edited:
New toy :D

RN8414-001_EN_v2.png


A Belkin Thunderbolt Express Dock, providing:
So let's see what USB 3.0 gives us - it's worth noting the controller only gets a single PCIe 1.0 lane, so 250 MB/s is the theoretical maximum. But can we even get that much?

Setup: 240GB Crucial BX500 SATA-III SSD in some generic USB 3.0 enclosure. Tests performed using QuickBench 4.0 on an empty ~30GB partition.


Early 2011 13" MacBook Pro - OS X 10.9.5 - Native USB 2.0: :(

View attachment 1823725
--------------------------------------------------------------------------------------------------------

Early 2011 13" MacBook Pro - OS X 10.9.5 - Dock USB 3.0: :)

View attachment 1823728
--------------------------------------------------------------------------------------------------------

Late 2015 21.5" iMac 4K - macOS 10.14.6 - Native USB 3.0: :D (crappy enclosure probably limited to SATA-II).

View attachment 1823729

Have you tested this Dock with Snow Leopard? :)
 
  • Like
Reactions: Amethyst1

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
New toy :D

RN8414-001_EN_v2.png


A Belkin Thunderbolt Express Dock, providing:
So let's see what USB 3.0 gives us - it's worth noting the controller only gets 2.5 GT/s to play with, so 250 MB/s is the theoretical maximum. But can we even get that much?

Setup: 240GB Crucial BX500 SATA-III SSD in some generic USB 3.0 enclosure. Tests performed using QuickBench 4.0 on an empty ~30GB partition.


Early 2011 13" MacBook Pro - OS X 10.9.5 - Native USB 2.0: :(

34/25 MB/s read/write
--------------------------------------------------------------------------------------------------------

Early 2011 13" MacBook Pro - OS X 10.9.5 - Dock USB 3.0: :)

131/123 MB/s read/write
--------------------------------------------------------------------------------------------------------

Late 2015 21.5" iMac 4K - macOS 10.14.6 - Native USB 3.0: :D (crappy enclosure probably limited to SATA-II).

255/233 MB/s read/write
Why would the controller only get 2.5 GT/s? Thunderbolt 1/2 is 5 GT/s usually. What does pcitree.sh or FixPCIeLinkRate.efi say?

Does AmorphousDiskMark or ATTO Disk Benchmark work on these old OSes?

Just did - OOTB, only the FireWire chip shows up in 10.6.8. No audio, ethernet or USB 3.0. Time to start hunting down drivers :)
Audio is a USB device isn't it? That should work. Is it not a standard USB interface? Is there a type of USB Audio device that doesn't work in old OSes? Oh wait, no USB means no USB Audio. What about GenericUSBXHCI.kext?
 
  • Like
Reactions: Amethyst1

Amethyst1

macrumors G3
Original poster
Oct 28, 2015
9,782
12,181
Why would the controller only get 2.5 GT/s?
No idea, but System Profiler confirms that the Ethernet, FireWire and USB 3.0 controllers only get 2.5 GT/s. FWIW, Ethernet works on 10.7.5.

What does pcitree.sh [...] say?
Nothing at all on either Mavericks or High Sierra. Am I missing a prerequisite?

Does AmorphousDiskMark or ATTO Disk Benchmark work on these old OSes?
Amorphous is only available on the App Store - no thanks. I'll try ATTO on High Sierra.

Audio is a USB device isn't it?
Yep.

What about GenericUSBXHCI.kext?
I'm going to try that but it's for 10.7.5 and later versions, not 10.6.8 as far as I can see? (I'll also try on 10.7.5 for good measure).
 

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
No idea, but System Profiler confirms that the Ethernet, FireWire and USB 3.0 controllers only get 2.5 GT/s. FWIW, Ethernet works on 10.7.5.
If Thunderbolt is initialized during boot (it shoot be if you can boot from it or do Thunderbolt target disk mode) then
Code:
fs0:
load -nc FixPCIeLinkRate.efi > FixPCIeLinkRate.txt
should be able to see all the devices.

Nothing at all on either Mavericks or High Sierra. Am I missing a prerequisite?
You need a working version of pciutils. It should work with High Sierra using sudo nvram boot-args="debug=0x144"

If you're using my version of pciutils, then you can use sudo lspci -A detect to get some info.

El Capitan and earlier require DirectHW.kext. This is explained in the comments section of the pcitree.sh gist.

Amorphous is only available on the App Store - no thanks. I'll try ATTO on High Sierra.
But it's a free app? You can copy it from another Mac?

I'm going to try that but it's for 10.7.5 and later versions, not 10.6.8 as far as I can see? (I'll also try on 10.7.5 for good measure).
I've never looked at the code or tried it but I would like to one day (for compatibility with USB 3.2 gen 2x2). Might be cool if it could be ported to an earlier OS.
 
  • Like
Reactions: Amethyst1

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
Thanks - that did it for Mavericks; the output of pcitree.sh is attached.
I guess I haven't seen Light Ridge before or I don't have any Light Ridge devices.

Your 2011 MacBook Pro and dock both use the same Light Ridge controllers. As a host controller in the MacBook Pro, it has a 5 GT/s x4 upstream link so I don't see why it couldn't have 5 GT/s downstream links.

FixPCIeLinkRate.efi wouldn't do anything in this case since the link status of the FL1100 matches the capabilities of the corresponding downstream bridge of the LightRidge (be:00.0). What you could try is ignore the link capabilities of be:00.0 and try to retrain it as 5 GT/s.
https://forums.macrumors.com/thread...performance-for-the-cmp.2124253/post-27891356

With the script from that post, do the following command and check pcitree.sh again to see if anything changed:
sudo ./fast.sh 2 be:00.0

I have Port Ridge Thunderbolt 1 devices (Apple Thunderbolt to FireWire Adapter and Apple Thunderbolt to Ethernet Adapter) which support 5 GT/s (but the FireWire and Ethernet controllers only use 2.5 GT/s).
https://forums.macrumors.com/threads/testing-tb3-aic-with-mp-5-1.2143042/post-27612591

As for DirectHW.kext, I haven't done much testing with that. I would like to make a version that works in all versions of macOS and make it PowerPC, Intel, and Apple Silicon compatible; 32 bit and 64 bit if necessary.
 
  • Like
Reactions: Amethyst1

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
FWIW the Apple Thunderbolt Display also looks to be using Light Ridge. So does the Matrox DS1.
Right. Light Ridge can have one or four PCIe devices connected while Port Ridge can only have one or two PCIe devices connected. So Light Ridge is better for docks and displays and Port Ridge is better for adapters.
https://ark.intel.com/content/www/us/en/ark/products/66003/intel-dsl2210-thunderbolt-controller.html
https://ark.intel.com/content/www/u.../intel-cv82524efl-thunderbolt-controller.html
 
  • Like
Reactions: Amethyst1

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
Got my hands on a Kanex KTU10 Thunderbolt 1 to eSATA + USB 3.0 adapter. It uses “Port Ridge”, as well as ASMedia ASM1042A and ASMedia ASM1602 at 5 GT/s each. Benchmarks to be done.
There's a couple of strange things:
1) Your Thunderbolt controller chip at 05:00.0 says it can run at PCIe 2.0 x4 and the root port at 00:01.1 says it can support PCIe 2.0 x4 but the link is running at PCIe 1.0 speed.
2) The Thunderbolt NHI 07:00.0 has the same device ID as the bridges.

The USB 3.0 controller is PCIe 2.0 x1 (4 Gbps) so it's not going to be as fast as a USB 3.1 gen 2 controller connected to a USB 3.0 device (USB 3.0 is also 4 Gbps but USB has less overhead than PCIe so USB's 4 Gbps is going to be slightly faster than what PCIe's 4 Gbps is going to allow).

The SATA controller (4.8 Gbps) is also PCIe 2.0 x1 (4 Gbps) so it's going to be limited by that PCIe link.

I wonder if you can use the fast.sh script to fix #1? Or you can try FixPCIeLinkRate.efi in the EFI Shell. I don't think it would improve anything since PCIe 1.0 x4 (8 Gbps) is enough to handle both the SATA and USB controllers of the dock. But if you connected more Thunderbolt devices in a chain or to the other Thunderbolt port then it could have an effect.
 
  • Like
Reactions: Amethyst1

rampancy

macrumors 6502a
Jul 22, 2002
741
999
You know, considering what you did to that MacBook earlier with the eGPU, I half expected you to post pics of a fully working iMac with half its guts hanging out and a PCI-E USB 3.0 card soldered on to the back, connected to a bunch of 4K monitors at full resolution.
 
  • Like
Reactions: Amethyst1

Amethyst1

macrumors G3
Original poster
Oct 28, 2015
9,782
12,181
You know, considering what you did to that MacBook earlier with the eGPU, I half expected you to post pics of a fully working iMac with half its guts hanging out and a PCI-E USB 3.0 card soldered on to the back, connected to a bunch of 4K monitors at full resolution.
Well, I do have a poor 2010 27” iMac that could use some USB 3.0 ports. :D

But is this vaguely what you had in mind? :) (not my image/machine!)

index.php
 
Last edited:

Amethyst1

macrumors G3
Original poster
Oct 28, 2015
9,782
12,181
1) Your Thunderbolt controller chip at 05:00.0 says it can run at PCIe 2.0 x4 and the root port at 00:01.1 says it can support PCIe 2.0 x4 but the link is running at PCIe 1.0 speed.
That pcitree.sh output was generated on High Sierra, while the one in #9 was generated on Mavericks and doesn't indicate that the chip is running at PCIe 1.0 speed. Strange.
 

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
That pcitree.sh output was generated on High Sierra, while the one in #9 was generated on Mavericks and doesn't indicate that the chip is running at PCIe 1.0 speed. Strange.
Interesting. Also different is the Thunderbolt device that is connected in each case. The Kanex connected in High Sierra uses Port Ridge while the Belkin connected in Mavericks uses Light Ridge (same as the host Thunderbolt controller). Since the host controller can connect at PCIe 2.0 x4 in the Mavericks case, then it's likely the fast.sh script or FixPCIeLinkrate.efi will be able to affect the High Sierra case. Or it may be that the status register for the Light Ridge host controller is not always correct in regards to PCIe link rate.
 
  • Like
Reactions: Amethyst1

Amethyst1

macrumors G3
Original poster
Oct 28, 2015
9,782
12,181
Early 2011 13" MacBook Pro - macOS 10.13.6 - 240GB Crucial BX500 via USB 3.0 in Belkin Thunderbolt 2 Express Dock HD:

tb2dock.png


--------------------------------------------------------------------------------------------------------

Early 2011 13" MacBook Pro - macOS 10.13.6 - 240GB Crucial BX500 via USB 3.0 in Kanex KTU10:

kanex.png
 

Attachments

  • pcitree_tb2dock.txt
    6.2 KB · Views: 143
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,932
4,233
Early 2011 13" MacBook Pro - macOS 10.13.6 - 240GB Crucial BX500 via USB 3.0 in Belkin Thunderbolt 2 Express Dock HD:
Those numbers are like SATA II (3 Gbps). What USB enclosure did you put the Crucial BX500 in? Try a different benchmark? AmorphousDiskMark.cpp or ATTO Disk Benchmark.app?
If you want to test USB performance, then a NVMe in a USB 3.1 gen 2 enclosure is the way to go. It should give the best numbers for all USB speeds.
 
  • Like
Reactions: Amethyst1

Amethyst1

macrumors G3
Original poster
Oct 28, 2015
9,782
12,181
Those numbers are like SATA II (3 Gbps). What USB enclosure did you put the Crucial BX500 in?
Yep. The enclosure uses the ASMedia ASM1051 USB 3.0 to SATA II chip.
I have a Samsung T5 USB 3.1 gen 2 SSD. It's the boot drive for my Late 2015 21.5" iMac 4K (my main system). It currently does about 430 MB/s read and 420 MB/s write on there (I'm guessing that's without UASP because Mojave shows IOUSBAttachedSCSI.kext as not loaded).
 
Last edited:

rampancy

macrumors 6502a
Jul 22, 2002
741
999
Well, I do have a poor 2010 27” iMac that could use some USB 3.0 ports. :D

But is this vaguely what you had in mind? :) (not my image/machine!)

index.php

Beautiful! (Though I'd be really curious as to why this actually happened. Were they trying to install a water cooling block or something?)
 
  • Like
Reactions: Amethyst1
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.