Just to say I have now tested the FireWire ports on the backs of the Thunderbolt screens, and they are not currently working for me.Those are USB controllers (can't find number of ports from that - need to look at the device in ioreg or look at the datasheet). I'm guessing there's a PCIe switch so that 5 devices can be connected instead of the usual max of 4.
Display 1:
8C:0.0 FireWire (not loaded)
8D:0.0 Ethernet (loaded)
8E:0.0 PCIe Switch upstream
8F:0.0 PCIe Switch downstream
90:0.0 USB OHC (not loaded) PI7C9X440SL or PI7C9X442SL? USB OHCI Controller (low-speed 1.5 Mbps, full-speed 12 Mbps)
90:0.1 USB OHC (not loaded) PI7C9X440SL or PI7C9X442SL? USB OHCI Controller (low-speed 1.5 Mbps, full-speed 12 Mbps)
90:0.2 USB EHC (not loaded) PI7C9X440SL or PI7C9X442SL? USB EHCI Controller (high speed 480 Mbps)
Display 2:
94:0.0 FireWire (not loaded)
95:0.0 Ethernet (loaded)
96:0.0 PCIe Switch upstream
97:0.0 PCIe Switch downstream
98:0.0 USB OHC (not loaded) PI7C9X442SL USB OHCI Controller (low-speed 1.5 Mbps, full-speed 12 Mbps)
98:0.1 USB OHC (not loaded) PI7C9X442SL USB OHCI Controller (low-speed 1.5 Mbps, full-speed 12 Mbps)
98:0.2 USB EHC (not loaded) PI7C9X442SL USB EHCI Controller (high speed 480 Mbps)
Actually, looking at the data sheet of PI7C9X440SL or PI7C9X442SL, it seems that the PCIe switch is part of it and included with the USB 1.1/2.0 controllers.
The controllers are visible to macOS. So the question is why don't the USB drivers load for it? Same for FireWire?
Looking at some kexts from 10.15.5 for different USB controllers and FireWire controller:
Code:/System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBUHCIPCI.kext/Contents/Info.plist "AppleUSBUHCI" => { "IOClass" => "AppleUSBUHCIPCI" "IOPCIClassMatch" => "0x0C030000" "IOPCITunnelCompatible" => 0 "IOProviderClass" => "IOPCIDevice" } /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBOHCIPCI.kext/Contents/Info.plist "AppleUSBOHCIPCI" => { "CFBundleIdentifier" => "com.apple.driver.usb.AppleUSBOHCIPCI" "IOClass" => "AppleUSBOHCIPCI" "IOPCIClassMatch" => "0x0c031000" "IOPCITunnelCompatible" => 0 "IOProviderClass" => "IOPCIDevice" } /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBEHCIPCI.kext/Contents/Info.plist "AppleUSBEHCIPCI" => { "IOClass" => "AppleUSBEHCIPCI" "IOPCIClassMatch" => "0x0c032000" "IOPCIPauseCompatible" => 1 "IOPCITunnelCompatible" => 0 "IOProviderClass" => "IOPCIDevice" } "AppleUSBEHCIPI7C9X440SL" => { "CFBundleIdentifier" => "com.apple.driver.usb.AppleUSBEHCIPCI" "IOClass" => "AppleUSBEHCIPI7C9X440SL" "IOPCIPauseCompatible" => 1 "IOPCIPrimaryMatch" => "0x400f12d8" "IOPCITunnelCompatible" => 1 "IOProbeScore" => 1000 "IOProviderClass" => "IOPCIDevice" } "ThunderboltDisplay2011" => { "CFBundleIdentifier" => "com.apple.driver.AppleUSBHostMergeProperties" "IOClass" => "AppleUSBHostMergeProperties" "IOProviderClass" => "AppleUSBEHCIPCI" "IOProviderMergeProperties" => { "kUSBCompanion" => 0 "kUSBSleepPortCurrentLimit" => 2100 "kUSBSleepPowerSupply" => 6300 "kUSBWakePortCurrentLimit" => 2100 "kUSBWakePowerSupply" => 3700 "port-count" => {length = 4, bytes = 0x01000000} "ports" => { "PRT1" => { "port" => {length = 4, bytes = 0x01000000} "UsbConnector" => 255 } } } "Tunnel Endpoint Device Model ID" => {length = 4, bytes = 0x02800000} "Tunnel Endpoint Device Vendor ID" => {length = 4, bytes = 0x01000000} } } /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBXHCIPCI.kext/Contents/Info.plist "AppleUSBXHCIPCI" => { "CFBundleIdentifier" => "com.apple.driver.usb.AppleUSBXHCIPCI" "IOClass" => "AppleUSBXHCIPCI" "IOPCIClassMatch" => "0x0c033000" "IOPCIPauseCompatible" => 1 "IOPCITunnelCompatible" => 1 "IOProviderClass" => "IOPCIDevice" } /System/Library/Extensions/IOFireWireFamily.kext/Contents/PlugIns/AppleFWOHCI.kext/Contents/Info.plist "AppleFWOHCI,OF" => { "CFBundleIdentifier" => "com.apple.driver.AppleFWOHCI" "CFBundleVersion" => "5.6.2" "IOClass" => "AppleFWOHCI" "IONameMatch" => [ 0 => "pciclass,0c0010" ] "IOPCIPauseCompatible" => 1 "IOPCITunnelCompatible" => 1 "IOProbeScore" => 4096 "IOProviderClass" => "IOPCIDevice" } "AppleFWOHCI,PCI" => { "CFBundleIdentifier" => "com.apple.driver.AppleFWOHCI" "CFBundleVersion" => "5.6.2" "IOClass" => "AppleFWOHCI" "IOPCIClassMatch" => "0x0c001000" "IOPCIPauseCompatible" => 1 "IOPCITunnelCompatible" => 1 "IOProbeScore" => 4096 "IOProviderClass" => "IOPCIDevice" }
OHCI and EHCI have IOPCITunnelCompatible set to false. That means they can't be used with Thunderbolt? You could try making a codeless kext that has IOPCITunnelCompatible set to true. A codeless kext is a kext with a info.plist that points to the executable of another kext.
There is a "AppleUSBEHCIPI7C9X440SL" which might apply and it has IOPCITunnelCompatible set to true. Maybe it also needs IOPCIPauseCompatible set to true? Or maybe it doesn't match the chip in the Thunderbolt Display.
There is a "ThunderboltDisplay2011" which just adds some USB properties to the Thunderbolt Display's AppleUSBEHCIPCI but that only works if AppleUSBEHCIPCI was loaded?
For FireWire, I don't see a problem so I don't know why it wouldn't load. Maybe you need to connect a device? But the driver loads on my Mac mini 2018 (running 10.15.6) with no FireWire device connected (I have a Thunderbolt 3 dock with the same FireWire controller).
Sounds like you break the config.plist, and the invalid config make OpenCore boot to nowhere. Then the cMP self shutdown after 30s.Hey guys, i just flashed my Titan Card following a tutorial i found on github:
i used the latest 0.23 firmware version from DSM2 to flash the card and all worked well. Installed it in Slot 4 and then downloaded @IndioX 's OC folder from this thread and added the SSDT to my OC current OC folder (@h9826790 's latest config from his OC thread).thunderbolt-macpro-5-1/GC-TitanRidge.md at master · ameyrupji/thunderbolt-macpro-5-1
My story to add thunderbolt support to my Mac Pro Early 2009 (5,1) - ameyrupji/thunderbolt-macpro-5-1github.com
I rebooted and could boot my system with no issues. I then edited the config file by adding the ACPI section like in IndioX's file.
Rebooted again but no Bootpicker showed. It just didn't boot into any system. Did a PRAM reset and it booted into Windows again without showing the Bootpicker. I selected the startvolume for OSX throu Bootcamp in Windows and reebooted again. No Bootpicker and after a couple seconds my MacPro just shut off. After pressing the powerbutton the bootsound appears but it just turns off maybe 30sec after that with nothing visible on screen.
any ideas?
Sounds like you break the config.plist, and the invalid config make OpenCore boot to nowhere. Then the cMP self shutdown after 30s.
You should run the ocvalidate tool to check the config.plist after manually modify it. Especially if there are some big changes, but not just some true / false swap.
Since you can still boot to Windows. That will be easy to fix. You can mount the EFI partition in Windows. and fix the config.plist. Or even completely remove OpenCore. And boot back to macOS, then re-install OC again.
I am still in the Hospital but I just wanted to share with you a new and improved Firmware Version for the Titan Ridge Card.
Will start to work on the SSDT stuff as soon as I am back home...
That means the format of your config is correct, but some content is wrong.i ran it once over my edited config file and it just said " Done checking /Users/antonlinus/Desktop/config.plist in 0 ms" I then edited the file again to make it defenitely corrupt but the output from the tool was the same.
false
to alse
, and see if the ocvalidate tool can pick it up.When i ran it the first time, i ran it over an unedited version of your config file provided in the hardware accel thread. it showed me the same message when i ran it over my edited config which seemed to stop my mac from beeing able to boot.That means the format of your config is correct, but some content is wrong.
If you want to see the error message, you can intentionally change onefalse
toalse
, and see if the ocvalidate tool can pick it up.
<key>ACPI</key>
<dict>
<key>Add</key>
<array/>
<key>Delete</key>
<array/>
<key>ACPI</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>Comment</key>
<string>GC Titan Ridge HotPlug SSDT</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-TBOLT3.aml</string>
</dict>
</array>
<key>Block</key>
<array/>
No error in ocvalidate tool? I didn't expect that.When i ran it the first time, i ran it over an unedited version of your config file provided in the hardware accel thread. it showed me the same message when i ran it over my edited config which seemed to stop my mac from beeing able to boot.
the only thing i changed was i added this part to the ACPI section like so:
Code:<key>ACPI</key> <dict> <key>Add</key> <array/> <key>Delete</key> <array/>
Code:<key>ACPI</key> <dict> <key>Add</key> <array> <dict> <key>Comment</key> <string>GC Titan Ridge HotPlug SSDT</string> <key>Enabled</key> <true/> <key>Path</key> <string>SSDT-TBOLT3.aml</string> </dict> </array> <key>Block</key> <array/>
what did i do wrong?
Delete
, but you erroneously changed it to Block
. ocvalidate tool can't pick that up?Yes i did copy the .aml and i also tried it with the Delete key instead of the Block key that is used in @IndioX 's config. No luck with either and no errors in OCValidateNo error in ocvalidate tool? I didn't expect that.
As you can see, the original (correct) config use the keyDelete
, but you erroneously changed it toBlock
. ocvalidate tool can't pick that up?
Also, did you actually copy SSDT-TBOLT3.aml to the ACPI folder?
I just noticed that as soon as i have my Windows Drive installed it simply ignores OC and boots straight into Windows without Bootpicker. If i then chhose to reboot into Mac in the BootCamp Assistant it'll reboot and power of couple of secs after the bootchime. I seems it has nothing to do with the config edits i did since this is now also happening after i reversed all changes back to the original config i was using before. This was working all perfectly fine thou before i started with this thunderbolt stuff.Sounds like you break the config.plist, and the invalid config make OpenCore boot to nowhere. Then the cMP self shutdown after 30s.
You should run the ocvalidate tool to check the config.plist after manually modify it. Especially if there are some big changes, but not just some true / false swap.
Since you can still boot to Windows. That will be easy to fix. You can mount the EFI partition in Windows. and fix the config.plist. Or even completely remove OpenCore. And boot back to macOS, then re-install OC again.
SIP disabled -> boot to macOS -> mount EFI partition -> re-bless OpenCoreI just noticed that as soon as i have my Windows Drive installed it simply ignores OC and boots straight into Windows without Bootpicker. If i then chhose to reboot into Mac in the BootCamp Assistant it'll reboot and power of couple of secs after the bootchime. I seems it has nothing to do with the config edits i did since this is now also happening after i reversed all changes back to the original config i was using before. This was working all perfectly fine thou before i started with this thunderbolt stuff.
I can't even boot into recovery using cmd+r. as soon as i remove the Windows Drive i can boot into recovery and after selecting the correct bootvolume i get the bootpicker and everything works fine...
any more ideas on how to solve this issue?
I am sure you did something wrong. If I replace thatYes i did copy the .aml and i also tried it with the Delete key instead of the Block key that is used in @IndioX 's config. No luck with either and no errors in OCValidate
Delete
by Block
, OCValidate tool can pick that up straight away.Can you direct me to where i can get the latest version of ocvalidate? I got mine from here and its still called ConfigValidityI am sure you did something wrong. If I replace thatDelete
byBlock
, OCValidate tool can pick that up straight away.
SIP disabled -> boot to macOS -> mount EFI partition -> re-bless OpenCore
I now tried putting the OC EFI folder on the EFI Partition of the HDD Drive in Bay1 and blessing that partition but it still boots Linux instead with no bootpicker. when i remove the Linux drive it boots windows. Only when i remove both drives it will boot OC show the bootpicker and allow me to boot macOSDid that but as soon as i install a drive with another OS it'll boot from that drive instead. I have a SSD with a Linux Install in bay3 and another SSD with Win10 in bay4. 2 regular HDDs without OS in bays 1&2. Whatever OS is first (right now linux in bay3 comes before Win10 in bay4) will be booted straight away without OC. OC is installed on a NvME Drive in a 4x4 PCI Card (same as macOS). I blessed the OC EFI twice now without any errors but situation did't change. How do i change the order the mac is looking for bootdrives upon boot? or should i put an EFI partition with OC on a drive in bay1 although thats not where macOS is?
Try remove all drives but only leave the macOS hard drive installed.I now tried putting the OC EFI folder on the EFI Partition of the HDD Drive in Bay1 and blessing that partition but it still boots Linux instead with no bootpicker. when i remove the Linux drive it boots windows. Only when i remove both drives it will boot OC show the bootpicker and allow me to boot macOS
My fault, ConfigValidity is correct for latest 0.5.9. ocvalidate is for 0.6 beta.Can you direct me to where i can get the latest version of ocvalidate? I got mine from here and its still called ConfigValidity
https://github.com/acidanthera/OpenCorePkg/releases
Delete
, but not Block
, and ConfigValidity should able to pick that up.Try remove all drives but only leave the macOS hard drive installed.
Then perform the 3xNVRAM reset (keep holding the keys until 4th chimes).
Then hold Command + R boot to recovery partition -> disable SIP.
Shutdown.
Re-install all drives.
If it can still boot to macOS, then the problem should be fixed.
Now boot to macOS, mount the EFI partition (on your SATA HDD), re-bless OpenCore.
<key>ACPI</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>Comment</key>
<string>GC Titan Ridge HotPlug SSDT</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-TBOLT3.aml</string>
</dict>
</array>
<key>Delete</key>
<array/>
<key>Patch</key>
<array/>
One DisplayPort connected would still be Thunderbolt mode. If it works in macOS (4K max) then it should work for boot (maybe - I don't know for sure). Same would be true for both the old and new UltraFine 5K since they both have a Thunderbolt mode.Adding to my previous query for those knowledgable about the LG UltraFine 5K: would the bootscreen show on a cold boot if DisplayPort #2 were disconnected to enable just USB-C mode (which is available on the second generation model, albeit at 4K)? Also, on a warm boot (in Thunderbolt mode), at what resolution is the bootscreen displayed?
One DisplayPort connected would still be Thunderbolt mode. If it works in macOS (4K max) then it should work for boot (maybe - I don't know for sure). Same would be true for both the old and new UltraFine 5K since they both have a Thunderbolt mode.
It's difficult to tell what the boot resolution is on an LG UltraFine 5K display since it has no on screen menu that shows the current resolution and refresh rate. On my hackintosh, I had always thought that 5K was not possible on my dual cable Dell UP2715K during boot. Recently, I thought that the hires mode must be 4K but looking at the menu showed it was 5K (in the Clover boot menu).
06:893 00:011 OCC: Mode 0 - 3840x2160:1
06:905 00:011 OCC: Mode 1 - 640x480:1
06:916 00:011 OCC: Mode 2 - 800x600:1
06:928 00:011 OCC: Mode 3 - 1024x768:1
06:939 00:011 OCC: Mode 4 - 1280x1024:1
06:951 00:011 OCC: Mode 5 - 1400x1050:1
06:962 00:011 OCC: Mode 6 - 1600x1200:1
06:974 00:011 OCC: Mode 7 - 1280x960:1
06:985 00:011 OCC: Setting mode 0 with 3840x2160 resolution