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

vsc

macrumors member
May 8, 2014
74
33
I tried mirroring a drive through USB from the Titan Ridge to the OWC external drive enclosure. After a lot of data transferred, the system kicked out the drive with apparently too many errors on the USB bus. That said I'm using an Apple USB-C / USB3.1 type 1 adapter.... Ordered a different cable which will permit eliminating the adapter from the mix, though it take a couple of days to show up.
 

Boloman28

macrumors newbie
Oct 20, 2020
12
2
Hello All,

I have a
My system:
Mac Pro 5,1 mid 2010 (Server)
Titan Ridge 2.0 flashed - Port 4
macOS Big Sur 11.2.1
OpenCore 0.6.6

Pin 3-5 Jumpered
No additional power to Titan 2.0 Card

I see the TB3 card installed and even connected to my OWC Thunderbay 43, However the Drives never mount.
I would be most appreciative if some one could direct me on how to get the drives to mount.


Screen Shot 2021-02-18 at 07.42.53 AM.png

One additional question: Where should the USB on the TR3 Card be connected inside the 5,1?

BTW: My TB3 enable laptop mount the drives just fine, its a beautiful thing.

TIA

Be Well
Screen Shot 2021-02-18 at 07.10.02 AM.png Screen Shot 2021-02-18 at 07.09.32 AM.png Screen Shot 2021-02-18 at 07.08.43 AM.png Screen Shot 2021-02-18 at 07.08.12 AM.png
 

vsc

macrumors member
May 8, 2014
74
33
Hello All,

I have a
My system:
Mac Pro 5,1 mid 2010 (Server)
Titan Ridge 2.0 flashed - Port 4
macOS Big Sur 11.2.1
OpenCore 0.6.6

Pin 3-5 Jumpered
No additional power to Titan 2.0 Card

I see the TB3 card installed and even connected to my OWC Thunderbay 43, However the Drives never mount.
I would be most appreciative if some one could direct me on how to get the drives to mount.


View attachment 1731737
One additional question: Where should the USB on the TR3 Card be connected inside the 5,1?

BTW: My TB3 enable laptop mount the drives just fine, its a beautiful thing.


Do you have a SSDL loaded for slot 4 by OpenCore? The OpenCore package most people are using has it disabled by default.

Perhaps a warm boot after a cold boot will make the drives show up?

Your pictures doesn't show the jumper but I assume it is present.

Technically the USB input to the Titan Ridge isn't needed to make your drives work, but to the point there is no port directly accessible inside of the MacPro5,1. One option is to add a small USB hub using the USB provided to the BlueTooth card. Or if you have a PCIe card with an internal USB port, this could be used. In short the connection provides USB2.0 to the Titan Ridge.

I have found Thunderbolt 3 to be very reliable with the Titan Ridge setup, though I can't say the same for USB where USB also has some quirks.
 

Boloman28

macrumors newbie
Oct 20, 2020
12
2
Do you have a SSDL loaded for slot 4 by OpenCore? The OpenCore package most people are using has it disabled by default.

Perhaps a warm boot after a cold boot will make the drives show up?

Your pictures doesn't show the jumper but I assume it is present.

Technically the USB input to the Titan Ridge isn't needed to make your drives work, but to the point there is no port directly accessible inside of the MacPro5,1. One option is to add a small USB hub using the USB provided to the BlueTooth card. Or if you have a PCIe card with an internal USB port, this could be used. In short the connection provides USB2.0 to the Titan Ridge.

I have found Thunderbolt 3 to be very reliable with the Titan Ridge setup, though I can't say the same for USB where USB also has some quirks.
Hello,
Thanks for the quick response.

Yes, the card is in slot 4 and jumpered, interestingly, when the card was in slot 3, the Port Bus speed indicated 20 x 2. In slot 4 it shows 40 x1.

I'm not 100% sure I understand your question regarding the SSDL, The ACPI .ami file does not specify the slot, if thats what you mean. I've seen those configurations but have not tried these.

Tried many different mounting methods without success. I also, I don't see the drives in Disk Utilities or using; diskutil list
 

vsc

macrumors member
May 8, 2014
74
33
It does specify the slot. In the screen shot below, the path _SB_.PCI0.IOU2.I2PS.PPB4.PXS4, ultimately specifies slot-4.

I'm using OpenCore Configurator, but you can just edit the OpenCore config.plist via a normal text editor. The SSDL must enabled. See below.

<dict>
<key>Comment</key>
<string>Thunderbolt 3 - Slot 4</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-TB3-HackinDROM.aml</string>
</dict>
 

Attachments

  • Screen Shot 2021-02-18 at 7.46.02 AM.png
    Screen Shot 2021-02-18 at 7.46.02 AM.png
    267.2 KB · Views: 175

Boloman28

macrumors newbie
Oct 20, 2020
12
2
It does specify the slot. In the screen shot below, the path _SB_.PCI0.IOU2.I2PS.PPB4.PXS4, ultimately specifies slot-4.

I'm using OpenCore Configurator, but you can just edit the OpenCore config.plist via a normal text editor. The SSDL must enabled. See below.

<dict>
<key>Comment</key>
<string>Thunderbolt 3 - Slot 4</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-TB3-HackinDROM.aml</string>
</dict>
My file is called: SSDT-TBOLT3.aml

with the following details:


<dict>
<key>Comment</key>
<string>TBOLT3</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-TBOLT3.aml</string>
</dict>
 

vsc

macrumors member
May 8, 2014
74
33
Likely that is a usable SSDL file. Some people starting using the one I showed, but it is unclear if it makes a difference.

I assumed you tried a warm boot with the drive enclosure plugged in and powered up? Many people have the behavior that the drives show up in system information but only are mounted, and displayed in Disk Utility, after a warm boot.

I'm starting to run out of ideas. That said I have an OWC dual drive USB3 enclosure which to be blunt is problematic. After a few rounds with their support I have found a way to live with it, but I have concerns about dropping far more money on one of their Thunderbolt enclosures. Though there are few alternatives on the market. That said I have a number of LaCie and Buffalo portable Thunderbolt drives which work flawlessly with the Titan Ridge.
 

Boloman28

macrumors newbie
Oct 20, 2020
12
2
Well, a good place to start would for me to try a different .ami file. Can you please provide a link where I can download the file.
 

vsc

macrumors member
May 8, 2014
74
33
Attached is what I'm loading for the Titan Ridge in slot 4.
 

Attachments

  • SSDT-TB3-HackinDROM.aml.zip
    1.7 KB · Views: 224

xmas1er

macrumors newbie
Feb 18, 2021
3
2
Scenario: Connecting Apple Thunderbolt Display(MC914LL/B) Titan Ridge.
Mission: To fix instant CPU wake up when display sleep.
Stuffs:
0. Apple ThunderBolt Display(MC914LL/B),​
1. Mac Pro 4,1>5,1 (dual cores x5690),​
2. Mac OS Big Sur(11.1),​
3. Titan Ridge v2​
- no PCIe power connected,​
- 9 Pins USB connected to outside tower's 2 USB ports using item 7.​
- port 1 connected to item 0. using item 8.​
- port 2 connected to item 9.​
- both mini ports connect to display ports on item 10.​
4. TitanRidgeNVM23-E64Fr.bin,​
5. OpenCore 0.6.4(From Martin Lo),​
6. restart script (from OFXCProductions) ,​
7. 9 pin USB to 2 male USB 2 Type A,​
8. Apple Thunderbolt 3 to Thunderbolt 2 adaptor,​
9. Apple USB-C digital AV multiport adaptor,​
10. Sapphire Pulse Radeon Rx580​
Require Reading: This thread, minimally from 50-61
Observations:
On cold start, display lights up, display accessories: camera, mic, display audio, and ambient light sensor always works. When display goes to sleep, CPUs sleep. No more instant relay clicking to make up CPUs.

On subsequent restarts, display and/or display accessories may or may not work. Disconnecting/reconnecting port 1 may/may not wake up display and/or display accessories. Need to repeat cold start(disconnect plugs to Mac pro and Display. Make coffee. Go outside. Smell some flowers...) to wake up thunderbolt Display and Display accessories.

Item 9. I think any USB-C to USB 2 adapters would work. Happened to have one.
If Item 9. is not connected, CPUs wake up instantly(power rely clicking) when Display sleep. Display USB 2 ports will not work.

Item 7. is not necessary but I want Display USB 2 ports to work.

Display ethernet will light up switch/router side led. But SystemPreferences->Network does not show Display ethernet but has an entry: thunderbolt bridge. System Report on PCI show ethernet entry has no driver (see picture 1).

On Apple forums, there were complaints about Apple Thunderbolt Display finicky behavior and it is connected to a real Apple thunderbolt port. But, overall, I am happy with this daily workflow.

Further Research:
Any explanations as to why the ethernet and usb open host controllers @thunderbolt@145,0,0 @148,0,0 and @148,0,1 has no driver installed would be appreciated.

Links:
OFXCProductions:

Martin Lo's OpenCore: https://forums.macrumors.com/thread...n.2180095/page-53?post=28255048#post-28255048

This forum: 1-62.
 

Attachments

  • tempImageZ1N45N.png
    tempImageZ1N45N.png
    6.9 MB · Views: 170

Mr_Time

macrumors newbie
Aug 5, 2020
19
5
*Apogee Thunderbridge Solved* (Working in Catalina w/5.4c Symphony Drivers)

For the last couple of days I have been trying to get an Apogee Thunderbridge to work with a flashed v23.0 Titan Ridge card and Opencore. The card worked fine for TB uses apart from working with the Apogee Thunderbridge. The Apogee Thunderbridge was “recognized” in the system profiler correctly (Apple Inc. Vendor/40 Gb/s) but it would not connect to any interfaces connected to it (“no Apogee systems found”). I tried everything I could think of...changed TB cable, re-installed Apogee drivers, allow driver in Gatekeeper, tried Mojave, cold boot, warm boot, etc. But nothing worked...

The solution turned out to be simple...to just remove the SSDT-TBOLT3.aml file from my Opencore EFI and reboot. System profiler reports Thunderbolt bus as vendor “Gigabyte” 20 GB/s

Based on this finding, I have a couple of questions...

1. Is SSDT-TBOLT3.aml only required for HotPlug or do I loose any other of the Titan Ridge card’s functionality?

2. Is there another SSDT file I should try?

thanks
 
Last edited:
  • Like
Reactions: Scansterz

Mr_Time

macrumors newbie
Aug 5, 2020
19
5
Yes, my flashed Titan Ridge card is now working with the Apogee Thunderbridge but only when the SSDT-TBOLT3.aml is not added to the Opencore EFI.

The Apogeee Thunderbridge is a Thunderbolt “bridge” device that allows you to connect to Apogee X-Symphony enabled audio interfaces to Thunderbolt.
 
  • Like
Reactions: Scansterz

Mr_Time

macrumors newbie
Aug 5, 2020
19
5
What is needed to make it Works

In my case this worked for me in Catalina:

1. Flashed Titan Ridge Card v23.0 in slot 4 of 2012 5.1
2. Apogee symphony drivers 5.4c. Be sure to “allow” the system software from developer “Apogee” when installing in the Security & Privacy preference pane.
3. Do not include SSDT-TBOLT3.aml if using Opencore.
4. Warm reboot in MacOS
 
Last edited:
  • Like
Reactions: Scansterz

mschuster91

macrumors newbie
Feb 27, 2021
12
0
Hi everyone. I have a Mac Pro 4.1 (flashed to 5.1, firmware 138.0.0.0) and a Gigabyte Titan Ridge 2.0 (flashed with GC-Titan-Ridge-V2.0-Mod-NVM50-CaseySJ.bin). The Mac is using a standard unmodified OpenCore 0.6.6 (set up following the guide at https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/) and Debian Linux (Testing, distribution kernel 5.10.0-2-amd64) as OS.

The Thunderbolt port 1 is connected to a TB3=>TB2 adapter in turn connected to a Late 2013 iMac I want to use in Target Display Mode as a display for the Mac Pro. (TDM has been tested using a 2019 Macbook Pro)

Thunderbolt itself seems to be sort-of working - the card is recognized by the Linux kernel no matter the firmware or the THB_C header jumper being present, and Thunderbolt networking works.

What does not work, however:
  • Any form of hot-swap - the iMac has to be booted prior to the Mac Pro in order for a successful connection. Unplugging the cable and replugging it does not work at all, the connection is not reestablished.
  • Any form of graphics output before the Linux kernel initializes the GPU (both the NVIDIA GeForce GT710 and the AMD RX5500 XT which I intend to use as a PCI passthrough in a gaming VM). This is probably Opencore related but I don't care pretty much - I can always plug in the old NVIDIA GT120 back in if I ever have trouble booting or need OS X
  • DisplayPort passthrough for Target Display Mode on the iMac, both with any of the GPUs or an external DisplayPort source plugged in the TB card
  • USB - when attaching a device like a hub (Aukey USB-C hub and a bog standard USB1.1 keyboard), it gets enumerated during boot and shows up in lsusb, but the devices themselves don't work, removing or adding devices doesn't do anything, not even a message in the console
How do I at least get the DP passthrough working? I'd even be willing to ignore USB-C not working.

# lspci
00:00.0 Host bridge: Intel Corporation 5520 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 13)
00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 13)
00:0d.0 Host bridge: Intel Corporation Device 343a (rev 13)
00:0d.1 Host bridge: Intel Corporation Device 343b (rev 13)
00:0d.2 Host bridge: Intel Corporation Device 343c (rev 13)
00:0d.3 Host bridge: Intel Corporation Device 343d (rev 13)
00:0d.4 Host bridge: Intel Corporation 7500/5520/5500/X58 Physical Layer Port 0 (rev 13)
00:0d.5 Host bridge: Intel Corporation 7500/5520/5500 Physical Layer Port 1 (rev 13)
00:0d.6 Host bridge: Intel Corporation Device 341a (rev 13)
00:0d.7 Host bridge: Intel Corporation Device 341b (rev 13)
00:0e.0 Host bridge: Intel Corporation Device 341c (rev 13)
00:0e.1 Host bridge: Intel Corporation Device 341d (rev 13)
00:0e.2 Host bridge: Intel Corporation Device 341e (rev 13)
00:0e.3 Host bridge: Intel Corporation Device 341f (rev 13)
00:0e.4 Host bridge: Intel Corporation Device 3439 (rev 13)
00:0f.0 Performance counters: Intel Corporation Device 3424 (rev 13)
00:10.0 PIC: Intel Corporation 7500/5520/5500/X58 Physical and Link Layer Registers Port 0 (rev 13)
00:10.1 PIC: Intel Corporation 7500/5520/5500/X58 Routing and Protocol Layer Registers Port 0 (rev 13)
00:11.0 PIC: Intel Corporation 7500/5520/5500 Physical and Link Layer Registers Port 1 (rev 13)
00:11.1 PIC: Intel Corporation 7500/5520/5500 Routing & Protocol Layer Register Port 1 (rev 13)
00:13.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller (rev 13)
00:14.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:14.3 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Throttle Registers (rev 13)
00:15.0 PIC: Intel Corporation 7500/5520/5500/X58 Trusted Execution Technology Registers (rev 13)
00:16.0 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.1 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.2 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.3 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.4 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.5 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.6 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.7 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.1 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 2
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 3
00:1c.3 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 4
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6
00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 PCI bridge: Microsemi / PMC / IDT PES12T3G2 PCI Express Gen2 Switch (rev 01)
02:02.0 PCI bridge: Microsemi / PMC / IDT PES12T3G2 PCI Express Gen2 Switch (rev 01)
02:04.0 PCI bridge: Microsemi / PMC / IDT PES12T3G2 PCI Express Gen2 Switch (rev 01)
03:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
07:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06)
0a:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch (rev c5)
0b:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch
0c:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 14 [Radeon RX 5500/5500M / Pro 5500M] (rev c5)
0c:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
0d:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
0d:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
10:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
11:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
12:00.0 PCI bridge: Texas Instruments XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] (rev 01)
13:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01)
# lspci -t
-[0000:00]-+-00.0
+-01.0-[01-09]----00.0-[02-09]--+-02.0-[03-08]----00.0-[04-08]--+-00.0-[05]----00.0
| | +-01.0-[06]--
| | +-02.0-[07]----00.0
| | \-04.0-[08]--
| \-04.0-[09]--
+-03.0-[0a-0c]----00.0-[0b-0c]----00.0-[0c]--+-00.0
| \-00.1
+-07.0-[0d]--+-00.0
| \-00.1
+-0d.0
+-0d.1
+-0d.2
+-0d.3
+-0d.4
+-0d.5
+-0d.6
+-0d.7
+-0e.0
+-0e.1
+-0e.2
+-0e.3
+-0e.4
+-0f.0
+-10.0
+-10.1
+-11.0
+-11.1
+-13.0
+-14.0
+-14.1
+-14.2
+-14.3
+-15.0
+-16.0
+-16.1
+-16.2
+-16.3
+-16.4
+-16.5
+-16.6
+-16.7
+-1a.0
+-1a.1
+-1a.2
+-1a.7
+-1b.0
+-1c.0-[0e]--
+-1c.1-[0f]--
+-1c.2-[10]----00.0
+-1c.3-[11]----00.0
+-1c.4-[12-13]----00.0-[13]----00.0
+-1c.5-[14]--
+-1d.0
+-1d.1
+-1d.2
+-1d.7
+-1e.0-[15]--
+-1f.0
+-1f.2
\-1f.3
# dmesg|grep -i "05:00"
[ 0.811351] pci 0000:05:00.0: [8086:15eb] type 00 class 0x088000
[ 0.811374] pci 0000:05:00.0: reg 0x10: [mem 0xa3700000-0xa373ffff]
[ 0.811385] pci 0000:05:00.0: reg 0x14: [mem 0xa3740000-0xa3740fff]
[ 0.811439] pci 0000:05:00.0: enabling Extended Tags
[ 0.811565] pci 0000:05:00.0: supports D1 D2
[ 0.811568] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.658754] pci 0000:05:00.0: Adding to iommu group 41
[ 2.010048] thunderbolt 0000:05:00.0: enabling device (0000 -> 0002)
# tbtadm peers
0-1 Apple Inc. Macintosh
# tbtadm topology
Controller 0
├─ Details:
│ ├─ Name: Unknown device, Unknown vendor
│ └─ Security level: SL1 (user)

└─ Macintosh, Apple Inc.
└─ Details:
├─ Route-string: 0-1
└─ UUID: 1534ed15-8bd3-8d53-aa7f-1af274dfed7a
# tbtadm acl
ACL is empty
# boltctl domains
● domain0 c4010000-0060-641e-8397-21325240d026
├─ bootacl: 0/0
└─ security: user
# boltctl info c4010000-0060-641e-8397-21325240d026
● GIGABYTE GC-TITAN RIDGE
├─ type: host
├─ name: GC-TITAN RIDGE
├─ vendor: GIGABYTE
├─ uuid: c4010000-0060-641e-8397-21325240d026
├─ dbus path: /org/freedesktop/bolt/devices/c4010000_0060_641e_8397_21325240d026
├─ generation: Thunderbolt 3
├─ status: authorized
│ ├─ domain: c4010000-0060-641e-8397-21325240d026
│ ├─ parent: (null)
│ ├─ syspath: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:02.0/0000:03:00.0/0000:04:00.0/0000:05:00.0/domain0/0-0
│ └─ authflags: none
├─ authorized: Sa 27 Feb 2021 12:24:36 UTC
├─ connected: Sa 27 Feb 2021 12:24:36 UTC
└─ stored: Di 23 Feb 2021 12:57:33 UTC
├─ policy: manual
└─ key: no
 

VitaminK

macrumors member
Dec 28, 2019
56
26
Any form of hot-swap
Which SSDT our you using? Target disk/screen mode needs a special little hand shake.

I’ll never gotten display passing through from cold boot in Linux or Windows using my Thunderbolt Display. My steps go boot Mac OS gets my display working , then reboot to Linux, then don’t ever let that display sleep..disconnects & hot plugging displays while not on Mac OS for displays doesn’t work in my personal experiences.


Further Research:
Any explanations as to why the ethernet and usb open host controllers @thunderbolt@145,0,0 @148,0,0 and @148,0,1 has no driver installed would be appreciated.
Theses devices don’t really “need” any drivers within Mac OS.

Apple used Open usb standards. My Thunderbolt Display does the opposite from cold boot he turns the display on but no speakers , microphone or camera until I reboot.

During sleep disconnects and unplugging power from display my usb devices remain working on Mac OS.

which ssdt our you using? Pins 3&5 need to be jumped together as well.
 
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,966
4,259
Hi everyone. I have a Mac Pro 4.1 (flashed to 5.1, firmware 138.0.0.0) and a Gigabyte Titan Ridge 2.0 (flashed with GC-Titan-Ridge-V2.0-Mod-NVM50-CaseySJ.bin). The Mac is using a standard unmodified OpenCore 0.6.6 (set up following the guide at https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/) and Debian Linux (Testing, distribution kernel 5.10.0-2-amd64) as OS.

The Thunderbolt port 1 is connected to a TB3=>TB2 adapter in turn connected to a Late 2013 iMac I want to use in Target Display Mode as a display for the Mac Pro. (TDM has been tested using a 2019 Macbook Pro)

Thunderbolt itself seems to be sort-of working - the card is recognized by the Linux kernel no matter the firmware or the THB_C header jumper being present, and Thunderbolt networking works.

What does not work, however:
  • Any form of hot-swap - the iMac has to be booted prior to the Mac Pro in order for a successful connection. Unplugging the cable and replugging it does not work at all, the connection is not reestablished.
  • Any form of graphics output before the Linux kernel initializes the GPU (both the NVIDIA GeForce GT710 and the AMD RX5500 XT which I intend to use as a PCI passthrough in a gaming VM). This is probably Opencore related but I don't care pretty much - I can always plug in the old NVIDIA GT120 back in if I ever have trouble booting or need OS X
  • DisplayPort passthrough for Target Display Mode on the iMac, both with any of the GPUs or an external DisplayPort source plugged in the TB card
  • USB - when attaching a device like a hub (Aukey USB-C hub and a bog standard USB1.1 keyboard), it gets enumerated during boot and shows up in lsusb, but the devices themselves don't work, removing or adding devices doesn't do anything, not even a message in the console
How do I at least get the DP passthrough working? I'd even be willing to ignore USB-C not working.

Code:
# lspci
00:00.0 Host bridge: Intel Corporation 5520 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 13)
00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 13)
00:0d.0 Host bridge: Intel Corporation Device 343a (rev 13)
00:0d.1 Host bridge: Intel Corporation Device 343b (rev 13)
00:0d.2 Host bridge: Intel Corporation Device 343c (rev 13)
00:0d.3 Host bridge: Intel Corporation Device 343d (rev 13)
00:0d.4 Host bridge: Intel Corporation 7500/5520/5500/X58 Physical Layer Port 0 (rev 13)
00:0d.5 Host bridge: Intel Corporation 7500/5520/5500 Physical Layer Port 1 (rev 13)
00:0d.6 Host bridge: Intel Corporation Device 341a (rev 13)
00:0d.7 Host bridge: Intel Corporation Device 341b (rev 13)
00:0e.0 Host bridge: Intel Corporation Device 341c (rev 13)
00:0e.1 Host bridge: Intel Corporation Device 341d (rev 13)
00:0e.2 Host bridge: Intel Corporation Device 341e (rev 13)
00:0e.3 Host bridge: Intel Corporation Device 341f (rev 13)
00:0e.4 Host bridge: Intel Corporation Device 3439 (rev 13)
00:0f.0 Performance counters: Intel Corporation Device 3424 (rev 13)
00:10.0 PIC: Intel Corporation 7500/5520/5500/X58 Physical and Link Layer Registers Port 0 (rev 13)
00:10.1 PIC: Intel Corporation 7500/5520/5500/X58 Routing and Protocol Layer Registers Port 0 (rev 13)
00:11.0 PIC: Intel Corporation 7500/5520/5500 Physical and Link Layer Registers Port 1 (rev 13)
00:11.1 PIC: Intel Corporation 7500/5520/5500 Routing & Protocol Layer Register Port 1 (rev 13)
00:13.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller (rev 13)
00:14.0 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:14.3 PIC: Intel Corporation 7500/5520/5500/X58 I/O Hub Throttle Registers (rev 13)
00:15.0 PIC: Intel Corporation 7500/5520/5500/X58 Trusted Execution Technology Registers (rev 13)
00:16.0 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.1 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.2 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.3 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.4 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.5 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.6 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:16.7 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 13)
00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.1 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 2
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 3
00:1c.3 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 4
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6
00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 PCI bridge: Microsemi / PMC / IDT PES12T3G2 PCI Express Gen2 Switch (rev 01)
02:02.0 PCI bridge: Microsemi / PMC / IDT PES12T3G2 PCI Express Gen2 Switch (rev 01)
02:04.0 PCI bridge: Microsemi / PMC / IDT PES12T3G2 PCI Express Gen2 Switch (rev 01)
03:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
04:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
05:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
07:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06)
0a:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch (rev c5)
0b:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch
0c:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 14 [Radeon RX 5500/5500M / Pro 5500M] (rev c5)
0c:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
0d:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
0d:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
10:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
11:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
12:00.0 PCI bridge: Texas Instruments XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] (rev 01)
13:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01)
# lspci -t
-[0000:00]-+-00.0
           +-01.0-[01-09]----00.0-[02-09]--+-02.0-[03-08]----00.0-[04-08]--+-00.0-[05]----00.0
           |                               |                               +-01.0-[06]--
           |                               |                               +-02.0-[07]----00.0
           |                               |                               \-04.0-[08]--
           |                               \-04.0-[09]--
           +-03.0-[0a-0c]----00.0-[0b-0c]----00.0-[0c]--+-00.0
           |                                            \-00.1
           +-07.0-[0d]--+-00.0
           |            \-00.1
           +-0d.0
           +-0d.1
           +-0d.2
           +-0d.3
           +-0d.4
           +-0d.5
           +-0d.6
           +-0d.7
           +-0e.0
           +-0e.1
           +-0e.2
           +-0e.3
           +-0e.4
           +-0f.0
           +-10.0
           +-10.1
           +-11.0
           +-11.1
           +-13.0
           +-14.0
           +-14.1
           +-14.2
           +-14.3
           +-15.0
           +-16.0
           +-16.1
           +-16.2
           +-16.3
           +-16.4
           +-16.5
           +-16.6
           +-16.7
           +-1a.0
           +-1a.1
           +-1a.2
           +-1a.7
           +-1b.0
           +-1c.0-[0e]--
           +-1c.1-[0f]--
           +-1c.2-[10]----00.0
           +-1c.3-[11]----00.0
           +-1c.4-[12-13]----00.0-[13]----00.0
           +-1c.5-[14]--
           +-1d.0
           +-1d.1
           +-1d.2
           +-1d.7
           +-1e.0-[15]--
           +-1f.0
           +-1f.2
           \-1f.3
Code:
# dmesg|grep -i "05:00"
[    0.811351] pci 0000:05:00.0: [8086:15eb] type 00 class 0x088000
[    0.811374] pci 0000:05:00.0: reg 0x10: [mem 0xa3700000-0xa373ffff]
[    0.811385] pci 0000:05:00.0: reg 0x14: [mem 0xa3740000-0xa3740fff]
[    0.811439] pci 0000:05:00.0: enabling Extended Tags
[    0.811565] pci 0000:05:00.0: supports D1 D2
[    0.811568] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    1.658754] pci 0000:05:00.0: Adding to iommu group 41
[    2.010048] thunderbolt 0000:05:00.0: enabling device (0000 -> 0002)
Code:
# tbtadm peers
0-1    Apple Inc.    Macintosh
# tbtadm topology
Controller 0
    ├─ Details:
    │   ├─ Name: Unknown device, Unknown vendor
    │   └─ Security level: SL1 (user)
    │
    └─ Macintosh, Apple Inc.
        └─ Details:
            ├─ Route-string: 0-1
            └─ UUID: 1534ed15-8bd3-8d53-aa7f-1af274dfed7a
# tbtadm acl
ACL is empty
# boltctl domains
● domain0 c4010000-0060-641e-8397-21325240d026
   ├─ bootacl:  0/0
   └─ security: user
# boltctl info c4010000-0060-641e-8397-21325240d026
● GIGABYTE GC-TITAN RIDGE
   ├─ type:          host
   ├─ name:          GC-TITAN RIDGE
   ├─ vendor:        GIGABYTE
   ├─ uuid:          c4010000-0060-641e-8397-21325240d026
   ├─ dbus path:     /org/freedesktop/bolt/devices/c4010000_0060_641e_8397_21325240d026
   ├─ generation:    Thunderbolt 3
   ├─ status:        authorized
   │  ├─ domain:     c4010000-0060-641e-8397-21325240d026
   │  ├─ parent:     (null)
   │  ├─ syspath:    /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:02.0/0000:03:00.0/0000:04:00.0/0000:05:00.0/domain0/0-0
   │  └─ authflags:  none
   ├─ authorized:    Sa 27 Feb 2021 12:24:36 UTC
   ├─ connected:     Sa 27 Feb 2021 12:24:36 UTC
   └─ stored:        Di 23 Feb 2021 12:57:33 UTC
      ├─ policy:     manual
      └─ key:        no
Don't forget to surround terminal output in [ code] [ /code] tags.

pcitree.sh is more compact than lspci + lspci -t and it works in macOS and Linux.

Only macOS can use Thunderbolt Target Display Mode. Any OS can do DisplayPort Target Display Mode connected to older non-Thunderbolt iMacs but not a 2013 Thunderbolt iMac.

There is no VM software for macOS that supports PCI passthrough. Do you mean Linux?
 

mschuster91

macrumors newbie
Feb 27, 2021
12
0
Don't forget to surround terminal output in [ code] [ /code] tags.

pcitree.sh is more compact than lspci + lspci -t and it works in macOS and Linux.

Only macOS can use Thunderbolt Target Display Mode. Any OS can do DisplayPort Target Display Mode connected to older non-Thunderbolt iMacs but not a 2013 Thunderbolt iMac.

There is no VM software for macOS that supports PCI passthrough. Do you mean Linux?
I'm running OS X 10.15 on the iMac - as said, the iMac isn't the problem and Target Display Mode via Thunderbolt works with it.

The problem is that for some reason, the Mac Pro's Titan Ridge card won't go into DisplayPort pass-through - even though theoretically DP mode is the most basic one that should always work.

Regarding the PCI passthrough part - yes I am running Linux on the Mac Pro.
 

mschuster91

macrumors newbie
Feb 27, 2021
12
0
Which SSDT our you using? Target disk/screen mode needs a special little hand shake.

I’ll never gotten display passing through from cold boot in Linux or Windows using my Thunderbolt Display. My steps go boot Mac OS gets my display working , then reboot to Linux, then don’t ever let that display sleep..disconnects & hot plugging displays while not on Mac OS for displays doesn’t work in my personal experiences.



Theses devices don’t really “need” any drivers within Mac OS.

Apple used Open usb standards. My Thunderbolt Display does the opposite from cold boot he turns the display on but no speakers , microphone or camera until I reboot.

During sleep disconnects and unplugging power from display my usb devices remain working on Mac OS.

which ssdt our you using? Pins 3&5 need to be jumped together as well.
I'm not using any SSDT injection - the SSDTs created by following the guide (https://www.tonymacx86.com/threads/...700k-amd-rx-580.267551/page-2359#post-2150796) are if-gated to Darwin, they won't work on Linux anyway. The 3/5 pin jump is already done.

Edit: Followed the SSDT injection guides anyway... tables were not loaded by Opencore, manually injecting them in the initrd caused the tables to be loaded, but hotplug is still broken.
 
Last edited:

VitaminK

macrumors member
Dec 28, 2019
56
26
Oooo soo let’s try booting Mac OS on the Pro, then connect your iMac. I’m thinking/guessing target display will act like a Thunderbolt Display once a signal is recognized in Mac OS it might remain active during a reboot.

You may need a SSDT, for the handshake in Mac OS to work.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.