Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

@CaseySJ something I noticed while changing Bus ID's. Btw, what Bus ID should we use for an add in card? 01 I assumed.

Bus ID: 00 requires CRC8=37
Bus ID: 01 requires CRC8=24
Bus ID: 02 requries CRC8=11
You can use any Thunderbolt Bus ID as long as it's unique. Start at 0 and increment by 1 for each additional controller.
 
I would the test that with my hack aswell but I am a little bit lost without an guide how to create a custom one... To be honest @CaseySJ

Would love to test this with PCIe Card.
If your Hackintosh shows Thunderbolt Bus in System Information --> Thunderbolt, then simply type this:
Code:
log show --last boot | grep Thunderbolt > ~/Documents/TB3.txt
Based on what we see in the file we may or may not need to run Part 2 of this test.
 
Question 2 was this:

Which one of these two is right? Notice that first one is at scope SB.PCI0.RP05. The second one is at root scope.
  • \_SB.PCI0.RP05._GPE()
  • \_GPE()

Question 4 was this:
  1. Original firmware means original Thunderbolt firmware on Winbond chip.
  2. Modified firmware means new flashed firmware on Winbond chip.
So this test (the new SSDT) should be performed on system #1?
  1. "\" symbol indicate that it begin at root, that mean you can pace it where you want :)
  2. Sure ! Let me correct syntax error "I don't think it would work with thunderbolt original firmware"
 

Attachments

  • TB3-fake-crc.txt
    7.3 KB · Views: 87
OMG! Very impressive!

But you know I have obsessive-compulsive disorder (OCD) when it comes to precision! So can you please:
  • Enter fake CRC32 to disable port 7.
  • Try Target Disk Mode again.
  • Does it work?
@Elias64Fr -- you'll want to see this!


@augustopaulo,

To be clear: Did you set up your MacBook Pro in Target Disk Mode first, like this:

Apple Menu --> System Preferences --> Startup Disk --> Target Disk Mode.
View attachment 455308
Yep, configured my retina MBP 2015 with that option! :)

And without the SSDT with correct CRC32 & CRC8, the MacOS only shows that it is on Target Disk Mode ("Modo disco de destino" in Portuguese) on the SysInfo and doesn't mount any drives...

In fact, the IOThunderboltPort@7 is empty on IOReg...
Captura de ecrã 2020-03-18, às 14.16.21.png
 
Yep, configured my retina MBP 2015 with that option! :)

And without the SSDT with correct CRC32 & CRC8, the MacOS only shows that it is on Target Disk Mode ("Modo disco de destino" in Portuguese) on the SysInfo and doesn't mount any drives...

In fact, the IOThunderboltPort@7 is empty on IOReg...
So we need Port 7 for Target Disk Mode!

Now the very hard question:
  • Does it work the other way around?
  • Can you put the Hackintosh into Startup --> Target Disk Mode.
  • Then login to MacBook Pro and connect to Hackintosh?
I believe this won't work, but we must try... :)
 
@CaseySJ @Elias64Fr - Congratulations and thank you for all the work !!

To everyone who understands this -

This is exiting stuff - I've been trying to follow the conversation closely but I must admit I am a bit lost.
What does the interpretation of the DROM lead to ? It is fantastic that we know what all the bits mean but how does that help us ? Plus what happens when the DROM does not contain the same format as the Designare ?

My DROM has the following (JHL6240 PCIe 3.0 ×2 link to provide one Thunderbolt 3 port 15BF).

75000000 00000049 185FA466 A9014900 49180400 66020881 80028000 00000882 80028000 00000283 0B842001 003C0000 00000005 85500000 09014153 526F636B 0015025A 33373020 47616D69 6E672D49 54582F61 63000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

So I interpret it as follows

75 --CRC-8
00 00 00 00 00 00 49 --18 UID
5F A4 66 A9 --CRC-32
01 49 00 49 18 04 00 66 02 -- Fixed or pre-defined values for each Mac model
08 81 80 02 80 00 00 00 --TBPort1
08 82 80 02 80 00 00 00 --TBPort2
02 83 --TBSwitch7 -- TBPort8 PCI Down Adapter DSB1
0B 84 20 01 00 3C 00 00 00 00 00
05 85 50 00 00 --TBPortB DisplayPort Adapter
09 01 41 53 52 6F 63 6B 00 15 02 5A 33 37 30 20 47 61 6D 69 6E 67 2D 49 54 58 2F 61 63 --The String AS Rock Z370
Thanks @mango1122 !

As said on previous post, this DROM patching allow us to have an operating Thunderbolt networking (between two Macs or Hackintosh).

You just need to correct your understanding, Let me correct as following :

75 --CRC-8
00 00 00 00 00 00 49 18 -- UID
5F A4 66 A9 --CRC-32
01 49 00 49 18 04 00 66 02 -- Fixed or pre-defined values for each Mac model (JHL6240, we don't actually know for your model but with a little search on MacBook Air ?!)
08 81 80 02 80 00 00 00 --TBPort1
08 82 80 02 80 00 00 00 --TBPort2
02 83 --TBSwitch3 (final Host Router after DROM patch)
0B 84 20 01 00 3C 00 00 00 00 00 -- TBPort4 PCI Down Adapter DSB1
05 85 50 00 00 --TBPort5 DisplayPort Adapter
09 01 41 53 52 6F 63 6B 00 --The String "ASRock"
15 02 5A 33 37 30 20 47 61 6D 69 6E 67 2D 49 54 58 2F 61 63 00 --The String "Z370 Gaming-ITX/ac"
 
So we need Port 7 for Target Disk Mode!

Now the very hard question:
  • Does it work the other way around?
  • Can you put the Hackintosh into Startup --> Target Disk Mode.
  • Then login to MacBook Pro and connect to Hackintosh?
I believe this won't work, but we must try... :)
He!He!

Right now my son is using this PC for some gaming o_O :cool:

So, in a couple of hours I'll test in that way.

Cheers.
 
This mine for corrupted CRC32
Your log is similar to the other two, but you have 2 additional IOThunderboltFamily entries. I will check this on my other system:
  • Asus X99 Deluxe II with flashed GC-Titan Ridge. Will see if IOThunderboltFamily appears there.
If we cannot solve this puzzle, then the Thunderbolt DROM Mini-Guide will contain a Step where every user having this problem will send their DROM to you, @NorthAmTransAm or @augustopaulo in private message! :evil:

I'm sure you guys will enjoy that!:)

So you see, we cannot publish a procedure until we figure this out...

kernel: (AppleThunderboltNHI) AppleThunderboltGenericHAL: Probe
kernel: (AppleThunderboltNHI) 5950013us AppleThunderboltGenericHAL: Probe
kernel: (AppleThunderboltNHI) AppleThunderboltGenericHAL::start
kernel: (AppleThunderboltNHI) 5950030us AppleThunderboltGenericHAL::start
kernel: (AppleThunderboltNHI) AppleThunderboltNHIType3::setupPowerSavings - notification based runtime power management
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0040 SS=0x0140 SC=0x0008 PMCSR=0x0000 RT=0x0000 NLRT=0x0000 LWRT=0x0000 PRRT=0x0000 TRT=0x0000 TNLRT=0x0000 TLWRT=0x0000 TPRRT=0x0000 TLUP=0x0001
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0040 SS=0x0140 SC=0x0008 PMCSR=0x0000 RT=0x0000 NLRT=0x0000 LWRT=0x0000 PRRT=0x0000 TRT=0x0000 TNLRT=0x0000 TLWRT=0x0000 TPRRT=0x0000 TLUP=0x0001
kernel: (IOThunderboltFamily) IOThunderboltSwitch<0x0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 5 unplug = 0
kernel: (IOThunderboltFamily) IOThunderboltSwitch<0x0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 6 unplug = 0
kernel: (IOThunderboltFamily) IOThunderboltEEPROM: ParseDROMData - Failed CRC32 Verification: 0x6c6e9cd8 != 0x6c6f9cd8
kernel: (IOThunderboltFamily) IOThunderboltEEPROM::getDROM - Error getting DROM from I/O Registry (0xe0000001)
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch
fud: (MobileAccessoryUpdater) -[FudStateMachine isActive]: state=6 nextState=-1 filter=com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch
fud: (MobileAccessoryUpdater) -[FudIpcDispatch dispatchStateMachineEvent:] - filter name: com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch - exclusion group -
 
Last edited:
Back
Top