Contribute
Register

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

@Elias64Fr @NorthAmTransAm @qthegaijin @augustopaulo

Can you please type the following in Terminal and then compress and send the output file called TB3.txt that will be created in your Documents folder?
Code:
log show --last boot | grep Thunderbolt > ~/Documents/TB3.txt
@qthegaijin, It would be helpful to do this on both of your builds.
@Elias64Fr @NorthAmTransAm @qthegaijin @augustopaulo

Can someone please put in a fake CRC-32 for ThunderboltDROM and run this again:
Code:
log show --last boot | grep Thunderbolt > ~/Documents/TB3-fake-crc.txt
The new file will be Documents/TB3-fake-crc.txt
 
This is the first AMD card I've had success with. About a year ago, I had a Sapphire Vega64, but it was bad. Crashed all the time, even under Windows. It seemed to work well when it was running and I've read really good things about them though, I guess I just had a fluke/bad card. I had nothing but problems with my RX 5700 XT too, but that one only gave me problems under OSX, it ran perfect under Windows so I know that wasn't the card's fault.


I was on the fence between trying another Sapphire Vega64, and trying this XFX Radeon VII. I honestly was wanting to go with the Vega64, but I was hesitant over having a prior bad experience with it once before (I still think it was just a fluke/bad card given how many people have run them with no problems). Either way, assuming you have a beefy enough PSU to handle the card, I honestly don't think you're going to have problems going with either of those. They are both solid choices, and seem to have most of the issues ironed out with them now. I'd choose the one that falls best in line with your price and requirements for use.

@jleahy2 You mentioned that "It seemed to work well when it was running ...". Does that mean that initially it was working and suddenly you started having problems? If so what sort of problems did you get? Like crashes out of nowhere?
 

Attachments

  • TB3-fake-crc.txt
    7.6 KB · Views: 152

Attachments

  • TB3_wrongCRC32.txt
    19.5 KB · Views: 95
@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
 
Already had one on hand.
Wonderful! This is the difference between your two files:
  • When you specify bad CRC, you get log messages from IOThunderboltFamily
  • When you specify good CRC, there are no logs from IOThunderboltFamily
Bad CRC:
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) AppleThunderboltNHI - ERROR: adding entry to config handler array.
kernel: (AppleThunderboltNHI) 5957640us AppleThunderboltNHI - ERROR: adding entry to config handler array.
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0042 SS=0x0040 SC=0x0008 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0042 SS=0x0040 SC=0x0008 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff
kernel: (IOThunderboltFamily) IOThunderboltEEPROM: ParseDROMData - Failed CRC32 Verification: 0xbd01ea2d != 0xcb96b939
kernel: (IOThunderboltFamily) IOThunderboltEEPROM::getDROM - Error getting DROM from I/O Registry (0xe0000001)
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.mau.plugin.thunderboltupdater.ThunderboltType3Switch
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.mau.plugin.usbcupdater.ThunderboltType1Switch

Good CRC:
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) AppleThunderboltNHI - ERROR: adding entry to config handler array.
kernel: (AppleThunderboltNHI) 5963841us AppleThunderboltNHI - ERROR: adding entry to config handler array.
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0042 SS=0x0040 SC=0x0008 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff LWRT=0xffffffff PRRT=0xffffffff
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0042 SS=0x0040 SC=0x0008 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff LWRT=0xffffffff PRRT=0xffffffff
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.mau.plugin.thunderboltupdater.ThunderboltType3Switch
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.mau.plugin.usbcupdater.ThunderboltType1Switch
fud: (MobileAccessoryUpdater) -[FudStateMachine isActive]: state=3 nextState=-1 filter=com.apple.mau.plugin.thunderboltupdater.ThunderboltType3Switch

But in my case I get this with or without bad CRC: Notice there is no IOThunderboltFamily:

kernel: (AppleThunderboltNHI) AppleThunderboltGenericHAL: Probe
kernel: (AppleThunderboltNHI) 6065576us AppleThunderboltGenericHAL: Probe
kernel: (AppleThunderboltNHI) AppleThunderboltGenericHAL::start
kernel: (AppleThunderboltNHI) 6065598us AppleThunderboltGenericHAL::start
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0040 SS=0x0140 SC=0x0000 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff LWRT=0xffffffff PRRT=0xffffffff TRT=0x0000 TNLRT=0x0000 TLWRT=0x0000 TPRRT=0x0000 TLUP=0x0001
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0040 SS=0x0140 SC=0x0000 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff LWRT=0xffffffff PRRT=0xffffffff TRT=0x0000 TNLRT=0x0000 TLWRT=0x0000 TPRRT=0x0000 TLUP=0x0001
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch
fud: (MobileAccessoryUpdater) Stream event happened for filter: com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch
fud: (MobileAccessoryUpdater) -[FudStateMachine isActive]: state=1 nextState=-1 filter=com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch

Screen Shot 2020-03-18 at 6.12.21 AM.png
 
Last edited:
As requested :)
You have the same (good) results as @NorthAmTransAm:

With bad CRC:

kernel: (AppleThunderboltNHI) AppleThunderboltGenericHAL: Probe
kernel: (AppleThunderboltNHI) 8320539us AppleThunderboltGenericHAL: Probe
kernel: (AppleThunderboltNHI) AppleThunderboltGenericHAL::start
kernel: (AppleThunderboltNHI) 8320561us AppleThunderboltGenericHAL::start
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) Thunderbolt runtime power conservation disabled.
kernel: (AppleThunderboltNHI) Thunderbolt 255 PCI - LS=0x7043 LC=0x0040 SS=0x0140 SC=0x0008 PMCSR=0x0000 RT=0xffffffff NLRT=0xffffffff LWRT=0xffffffff PRRT=0xffffffff 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=0xffffffff NLRT=0xffffffff LWRT=0xffffffff PRRT=0xffffffff TRT=0x0000 TNLRT=0x0000 TLWRT=0x0000 TPRRT=0x0000 TLUP=0x0001
kernel: (IOThunderboltFamily) IOThunderboltEEPROM: ParseDROMData - Failed CRC32 Verification: 0x11111111 != 0xbd01ea2d
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) Stream event happened for filter: com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch
 
...
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 ?
...
Very fair questions. This is our current understanding (which is subject to change):
  • Enabling Port 7 might provide more robust Thunderbolt Local Node capabilities such as Thunderbolt Ethernet Bridge. It might be required for Target Disk Mode (which we have not tested).
  • Enabling Port 7 might provide more robust compatibility with certain Thunderbolt devices, including perhaps some digital audio interfaces. More work needed to establish this.
 
Back
Top