Contribute
Register

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

Here are my results using a newly created UID and CRC with the Antelope Audio device plugged in.
View attachment 455435
View attachment 455436

Only 1 port (PORT 1 on the card) seems to work. Hotswap works on that port. WHats new is that it now shoes 4 ports on Bus 1 instead of just 2 like before. I have attached my boot log readout. This is on Build 3 of my Sig.

More Observations:
When I plug in the orion without having it plugged in at boot, the drivers dont catch like if I boot with it booted, as well as the two crossed out options, AppleHPMUserClient appear when connected. They Briefly show up, then become crossed out after a few seconds.

Attached is what AppleHPMUserClient says:
View attachment 455441
  • Does the Antelope audio device work?
  • I tried the same ThunderboltDROM procedure on my flashed GC-Titan Ridge, and it came up with 2 ports (not 4).
  • What does your ThunderboltConfig look like?
 
Here are my results using a newly created UID and CRC with the Antelope Audio device plugged in.
View attachment 455435
View attachment 455436

Only 1 port seems to work. Hotswap works on that port. WHats new is that it now shoes 4 ports on Bus 1 instead of just 2 like before. I have attached my boot log readout. This is on Build 3 of my Sig.

More Observations:
When I plug in the orion without having it plugged in at boot, the drivers dont catch like if I boot with it booted, as well as the two crossed out options, AppleHPMUserClient appear when connected. They Briefly show up, then become crossed out after a few seconds.

Attached is what AppleHPMUserClient says:
View attachment 455441
@qthegaijin
Curious result with 4 ports and thunderbolt bus as 1 !

Could you verify if your byte 2 after CRC8 is 0x00 (as I can see on your UID, you have 0x01) ?
What 9 bytes fixed value are you using ?
Is that on Z390 Designare mobo ?
 
@3Dman @CaseySJ @NorthAmTransAm
Yes, this methodology is correct, I had done same for my laptop. But the result need to be modified by adapting to firmware format that can be flashed (not by programmer but flashing tool). File content begin directly at 0x4000 and we don't have offset to active and inactive partition.

For resume all kind of firmware :
  1. Full firmware include all partitions (we have now this for our Designare). This one is flashable only by Programmer.
  2. Flashable firmware that include only one partition (might include Thunderbolt and TI PD). Normally written on inactive partition then after successfully flashing process, inactive and active would be swapped. This one is only flashable by software.
  3. Extracted firmware from Linux, this not include offset and begin @ 0x4000 (you also have Thunderbolt DROM) . This one need to be modified to add all part before 0x4000. This can be more difficult if we have two partitions (need to play with different offsets for Thunderbolt part 1, Thunderbolt part 2 (the same but on another offset) and the TI PD firmware part)
If you want to patch firmware (kind 3), adapting it on kind 2 then flashing it on Linux. It normaly will not been authenticated at the end of flashing process (like on TBTFlashing tool under windows).

But but i can be wrong.


That's all :)
But if we find the Gigabyte Thunderbolt firmware file online, can we patch that file and use the Linux NVM method?
 
  • Does the Antelope audio device work?
  • I tried the same ThunderboltDROM procedure on my flashed GC-Titan Ridge, and it came up with 2 ports (not 4).
  • What does your ThunderboltConfig look like?

- Sadly no, once it does you would be seeing tears of joy from me.
- Weird, I have attached the edited SSDT for my system + my fake UID.

@qthegaijin
Curious result with 4 ports and thunderbolt bus as 1 !

Could you verify if your byte 2 after CRC8 is 0x00 (as I can see on your UID, you have 0x01) ?
What 9 bytes fixed value are you using ?
Is that on Z390 Designare mobo ?

- I put it as 0X01 since my mobo has the built in alpine ridge+just wanted to see what would happen.
- Whatever is in the attached SSDT.
- Z170X-Designare with 10.15.3.

Code:
                                    /* 0000 */  0xE1, 0x01, 0x02, 0x10, 0x03, 0x23, 0x33, 0x00,  // .....#3.
                                    /* 0008 */  0x00, 0xBF, 0x6B, 0xDA, 0x44, 0x01, 0x58, 0x00,  // ..k.D.X.
                                    /* 0010 */  0x01, 0x00, 0x0D, 0x00, 0x01, 0x08, 0x08, 0x81,  // ........
                                    /* 0018 */  0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82,  // ........
                                    /* 0020 */  0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83,  // ........
                                    /* 0028 */  0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84,  // ........
                                    /* 0030 */  0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x05, 0x85,  // ........
                                    /* 0038 */  0x50, 0x00, 0x00, 0x05, 0x86, 0x50, 0x00, 0x00,  // P....P..
                                    /* 0040 */  0x02, 0x87, 0x0B, 0x88, 0x20, 0x01, 0x00, 0x64,  // .... ..d
                                    /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x89, 0x80,  // ........
                                    /* 0050 */  0x05, 0x8A, 0x50, 0x40, 0x00, 0x05, 0x8B, 0x50,  // [email protected]
                                    /* 0058 */  0x40, 0x00, 0x0B, 0x01, 0x47, 0x49, 0x47, 0x41,  // @...GIGA
                                    /* 0060 */  0x42, 0x59, 0x54, 0x45, 0x00, 0x11, 0x02, 0x47,  // BYTE...G
                                    /* 0068 */  0x43, 0x2D, 0x54, 0x49, 0x54, 0x41, 0x4E, 0x20,  // C-TITAN 
                                    /* 0070 */  0x52, 0x49, 0x44, 0x47, 0x45, 0x00               // RIDGE.
                                }, 

                                "ThunderboltConfig", 
                                Buffer (0x20)
                                {
                                    /* 0000 */  0x00, 0x02, 0x1C, 0x00, 0x02, 0x00, 0x05, 0x03,  // ........
                                    /* 0008 */  0x01, 0x00, 0x04, 0x00, 0x05, 0x03, 0x02, 0x00,  // ........
                                    /* 0010 */  0x03, 0x00, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00,  // ........
                                    /* 0018 */  0x03, 0x03, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00   // ........
                                },
 

Attachments

  • SSDT-TBOLT3-RP12-PORT7-GC-TITAN-RIDGE.aml
    2 KB · Views: 100
Last edited:
But if we find the Gigabyte Thunderbolt firmware file online, can we patch that file and use the Linux NVM method?
Sure for patching an online firmware, but it need to be flashed with a software tool with no success authentication. But on Linux, as we have root access, That might be a big deal. We have to test it to confirm !
 
Sure for patching an online firmware, but it need to be flashed with a software tool with no success authentication. But on Linux, as we have root access, That might be a big deal. We have to test it to confirm !

I just tried installing Arch Linux on a flash drive with Balena Etcher. If this method is a winner then that sure will make the guide more simple :)
 
@Elias64Fr @CaseySJ

After switching the TB Bus to 0 instead of 1, only 2 ports show up now but HotSwap only seems to work on Port 1 still.
I was able to grab more screenshots of the IOReg:
Screen Shot 2020-03-18 at 5.49.30 PM.png


Screen Shot 2020-03-18 at 5.50.23 PM.png


Code:
                                    /* 0000 */  0xF2, 0x00, 0x02, 0x10, 0x03, 0x23, 0x33, 0x00,  // .....#3.
                                    /* 0008 */  0x00, 0xBF, 0x6B, 0xDA, 0x44, 0x01, 0x58, 0x00,  // ..k.D.X.
                                    /* 0010 */  0x01, 0x00, 0x0D, 0x00, 0x01, 0x08, 0x08, 0x81,  // ........
                                    /* 0018 */  0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82,  // ........
                                    /* 0020 */  0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83,  // ........
                                    /* 0028 */  0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84,  // ........
                                    /* 0030 */  0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x05, 0x85,  // ........
                                    /* 0038 */  0x50, 0x00, 0x00, 0x05, 0x86, 0x50, 0x00, 0x00,  // P....P..
                                    /* 0040 */  0x02, 0x87, 0x0B, 0x88, 0x20, 0x01, 0x00, 0x64,  // .... ..d
                                    /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x89, 0x80,  // ........
                                    /* 0050 */  0x05, 0x8A, 0x50, 0x40, 0x00, 0x05, 0x8B, 0x50,  // [email protected]
                                    /* 0058 */  0x40, 0x00, 0x0B, 0x01, 0x47, 0x49, 0x47, 0x41,  // @...GIGA
                                    /* 0060 */  0x42, 0x59, 0x54, 0x45, 0x00, 0x11, 0x02, 0x47,  // BYTE...G
                                    /* 0068 */  0x43, 0x2D, 0x54, 0x49, 0x54, 0x41, 0x4E, 0x20,  // C-TITAN 
                                    /* 0070 */  0x52, 0x49, 0x44, 0x47, 0x45, 0x00               // RIDGE.
                                }, 

                                "ThunderboltConfig", 
                                Buffer (0x20)
                                {
                                    /* 0000 */  0x00, 0x02, 0x1C, 0x00, 0x02, 0x00, 0x05, 0x03,  // ........
                                    /* 0008 */  0x01, 0x00, 0x04, 0x00, 0x05, 0x03, 0x02, 0x00,  // ........
                                    /* 0010 */  0x03, 0x00, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00,  // ........
                                    /* 0018 */  0x03, 0x03, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00   // ........
                                },
 
  • Is this a fresh or relatively new installation?
Fresh. Installed it several days ago
  • Or was it working in the past, but is not working now?
I tried it first right after the installation, but couldn't log in. But I don't remember which error message I was getting.
As I said, I had no problems just now to activate Messages after a clean installation.
I believe you. Any suggestions what else I could try? Or any other services I should check.
 
I just tried installing Arch Linux on a flash drive with Balena Etcher. If this method is a winner then that sure will make the guide more simple :)
@NorthAmTransAm @CaseySJ @3Dman
This one is the extracted (original) from Linux by 3DMan and then adapted to kind 2 for flashing. It is for testing only, be sure that you have a programmer to flashing back to full approved firmware :)
 

Attachments

  • Thunderbolt Firmware Designare extracted from Linux adapted for TESTING.bin.zip
    267.2 KB · Views: 111
Last edited:
Back
Top