Contribute
Register

Z490 & Z590 - Will Z590 ever have macOS Support ?

Thanks a lot for your help @Elias64Fr I will have a look for IOMMU settings. Does it need to be disabled or enabled?

Whenever you can that would be much appreciated.

Happy Friday everyone and thanks for all the support so far @Elias64Fr, @CaseySJ, @djlild7hina, @dehjomz!
@InsomnIaHackintosh @CaseySJ

On your last IOReg file, I can see that IOThunderboltPort@7 host interface adapter has a property Disabled set to True. When I compare same port properties on real Mac Apple M1, this property doesn't appear :
Capture d’écran 2021-10-23 à 08.36.55.png


Capture d’écran 2021-10-23 à 08.45.24.png


We should, probably, found a mean to extract ThunderboltDROM from Thunderbolt firmware then make a usual switching 0x2C7 data to 0x287 then updating CRC32 checksum.

If we can't extract ASUS firmware, we can also try with a Gigabyte extracted firmware (ThunderboltDROM only):

Previously ThunderboltDROM from extracted firmware by Ori69 on Z590i Vision D:
Code:
93
00BCFD45761F8780
EB356B79 (CRC32)
017700ED0015C00101
0881 800200000000
0882 900100000000
0883 800400000000
0884 900300000000
0585 000000
0586 500000
02C7 (to be replaced by 0287)
0B88 200100640000000000
0389 80
058A 500000
058B 500000
0B 01 4749474142595445 00
10 02 5A35393049205653494F4E2044 00
0F 09 1004140415C001260000000001

Previously ThunderboltDROM from extracted firmware on Asus Thunderbolt EX-4:
Code:
93
00BCFD45761F8780
F0DBE315 (CRC32)
017500310013500118
0881 800280000000
0882 900180000000
0883 800480010000
0884 900380010000
0585 000000
0586 500000
02C7 (to be replaced by 0287)
0B88 200100640000000000
0389 80
058A 500000
058B 500000
07 01 41535553 00
12 02 5448554E444552424F4C5445582034 00
0F 09 10044310F68724240000000001

We can see that all data are known and similar to Titan Ridge except last line.
Data included on this line seems to be our new property discovered few post earlier (Product description on IOThunderboltSwitchOS)
 
Last edited:
Bonjour @Elias64Fr, gm @CaseySJ. Hey y'all.

My new Macronix Chips come in today and I can get back to testing the EX4. I'm going to move my EX4 from PEG1 to RP21 as suggested and start with the SSDT attached.

Are there any other test I should do before reporting back? An adjusted DROM since my UUID is all wacky?

Just a note, an FYI--This is a z370 board that has an Alpine Ridge header. So my EX4 is connected to PCIe power, USB 2.0, but no header.
 

Attachments

  • SSDT-TB3HP-JHL8540-MAPLE-RIDGE-RP21.aml
    2 KB · Views: 32
Last edited:
@InsomnIaHackintosh @CaseySJ

On your last IOReg file, I can see that IOThunderboltPort@7 host interface adapter has a property Disabled set to True. When I compare same port properties on real Mac Apple M1, this property doesn't appear :
View attachment 531667

View attachment 531668

We should, probably, found a mean to extract ThunderboltDROM from Thunderbolt firmware then make a usual switching 0x2C7 data to 0x287 then updating CRC32 checksum.

If we can't extract ASUS firmware, we can also try with a Gigabyte extracted firmware :

Previously ThunderboltDROM from extracted firmware by Ori69 on Z590i Vision D:
Code:
93
00BCFD45761F8780
EB356B7901
7700ED0015C00101
0881 800200000000
0882 900100000000
0883 800400000000
0884 900300000000
0585 000000
0586 500000
02C7
0B88 200100640000000000
0389 80
058A 500000
058B 500000
0B 01 4749474142595445 00
10 02 5A35393049205653494F4E2044 00
0F 09 1004140415C001260000000001

Previously ThunderboltDROM from extracted firmware on Asus Thunderbolt EX-4:
Code:
93
00BCFD45761F8780
F0DBE31501
7500310013500118
0881 800280000000
0882 900180000000
0883 800480010000
0884 900380010000
0585 000000
0586 500000
02C7
0B88 200100640000000000
0389 80
058A 500000
058B 500000
07 01 41535553 00
12 02 5448554E444552424F4C5445582034 00
0F 09 10044310F68724240000000001

We can see that all data are known and similar to Titan Ridge except last line.
Data included on this line seems to be our new property discovered few post early (Product description on IOThunderboltSwitchOS)
@InsomnIaHackintosh @CaseySJ

Here are the 2 previous ThunderboltDROM patched properties for each board (Port 7 enabled & CRC32 corrected) :

For Z590i Vision D:
9300BCFD45761F8780A4BA04DD017700ED0015C0010108818002000000000882900100000000088380040000000008849003000000000585000000058650000002870B88200100640000000000038980058A500000058B5000000B0147494741425954450010025A35393049205653494F4E2044000F091004140415C001260000000001

For Asus Thunderbolt EX-4:
9300BCFD45761F8780485B168A01750031001350011808818002800000000882900180000000088380048001000008849003800100000585000000058650000002870B88200100640000000000038980058A500000058B5000000701415355530012025448554E444552424F4C5445582034000F0910044310F68724240000000001

If this property is properly taken by NHI driver, we shouldn't have Disabled property on IOThunderboltPort@7 host interface adapter...
 
Last edited:
Bonjour @Elias64Fr, gm @CaseySJ. Hey y'all.

My new Macronix Chips come in today and I can get back to testing the EX4. I'm going to move my EX4 from PEG1 to RP21 as suggested and start with the SSDT attached.

Are there any other test I should do before reporting back? An adjusted DROM since my UUID is all wacky?

Just a note, an FYI--This is a z370 board that has an Alpine Ridge header. So my EX4 is connected to PCIe power, USB 2.0, but no header.
@NorthAmTransAm

With this SSDT, have you Thunderbolt bus tree enabled on IORegExplorer ? You can try adding previously posted Thunderbolt DROM for your card (with OpenCore device property or by including it on SSDT _DSM) :)
 
Last edited:
@NorthAmTransAm

With this SSDT, have you Thunderbolt bus tree enabled on IORegExplorer ? You can try adding previous post Thunderbolt DROM for your card (with OpenCore device property or by including it on SSDT _DSM) :)

I did! I had a Thunderbolt Bus, a weird UUID, and no devices working.

Is there a quicker way to add it to the SSDT without having to type "0xXX, 0xXX..."
 
I think about enabling port C & port D that appear on Thunderbolt tree but not included on ThunderboltDROM !

On Apple M1 Ioreg, USBDownAdapter (new thunderbolt 4 features) is on port 4 ... Then If I see Apple M1 Thunderbolt DROM, this port 4 is also enabled :

Capture d’écran 2021-10-23 à 16.54.34.png


Here are the 2 previous ThunderboltDROM patched properties for each board (Port 7 enabled & CRC32 corrected & portC/D enabled) :

For Z590i Vision D:
9300BCFD45761F878026731627017700ED0015C0010108818002000000000882900100000000088380040000000008849003000000000585000000058650000002870B88200100640000000000038980058A500000058B500000028C028D0B0147494741425954450010025A35393049205653494F4E2044000F091004140415C001260000000001

For Asus Thunderbolt EX-4:
9300BCFD45761F87802137CA6C01750031001350011808818002800000000882900180000000088380048001000008849003800100000585000000058650000002870B88200100640000000000038980058A500000058B500000028C028D0701415355530012025448554E444552424F4C5445582034000F0910044310F68724240000000001
 
Last edited:
I did! I had a Thunderbolt Bus, a weird UUID, and no devices working.

Is there a quicker way to add it to the SSDT without having to type "0xXX, 0xXX..."
Try using a simple way, add a device property on Opencore config.plist

Could you send us your Ioreg file ?

UPDATE:
Here you go !
First ThunderboltDROM with only port 7 enabled (EX4) :
0x93, 0x00, 0xBC, 0xFD, 0x45, 0x76, 0x1F, 0x87, 0x80, 0x48, 0x5B, 0x16, 0x8A, 0x01, 0x75, 0x00, 0x31, 0x00, 0x13, 0x50, 0x01, 0x18, 0x08, 0x81, 0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82, 0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83, 0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84, 0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x05, 0x85, 0x00, 0x00, 0x00, 0x05, 0x86, 0x50, 0x00, 0x00, 0x02, 0x87, 0x0B, 0x88, 0x20, 0x01, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x89, 0x80, 0x05, 0x8A, 0x50, 0x00, 0x00, 0x05, 0x8B, 0x50, 0x00, 0x00, 0x07, 0x01, 0x41, 0x53, 0x55, 0x53, 0x00, 0x12, 0x02, 0x54, 0x48, 0x55, 0x4E, 0x44, 0x45, 0x52, 0x42, 0x4F, 0x4C, 0x54, 0x45, 0x58, 0x20, 0x34, 0x00, 0x0F, 0x09, 0x10, 0x04, 0x43, 0x10, 0xF6, 0x87, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x01

Second ThunderboltDROM with port 7, C & D enabled (EX4) :
0x93, 0x00, 0xBC, 0xFD, 0x45, 0x76, 0x1F, 0x87, 0x80, 0x21, 0x37, 0xCA, 0x6C, 0x01, 0x75, 0x00, 0x31, 0x00, 0x13, 0x50, 0x01, 0x18, 0x08, 0x81, 0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82, 0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83, 0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84, 0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x05, 0x85, 0x00, 0x00, 0x00, 0x05, 0x86, 0x50, 0x00, 0x00, 0x02, 0x87, 0x0B, 0x88, 0x20, 0x01, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x89, 0x80, 0x05, 0x8A, 0x50, 0x00, 0x00, 0x05, 0x8B, 0x50, 0x00, 0x00, 0x02, 0x8C, 0x02, 0x8D, 0x07, 0x01, 0x41, 0x53, 0x55, 0x53, 0x00, 0x12, 0x02, 0x54, 0x48, 0x55, 0x4E, 0x44, 0x45, 0x52, 0x42, 0x4F, 0x4C, 0x54, 0x45, 0x58, 0x20, 0x34, 0x00, 0x0F, 0x09, 0x10, 0x04, 0x43, 0x10, 0xF6, 0x87, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x01
 
Last edited:
Try using a simple way, add a device property on Opencore config.plist

Could you send us your Ioreg file ?

UPDATE:
Here you go !
First ThunderboltDROM with only port 7 enabled (EX4) :
0x93, 0x00, 0xBC, 0xFD, 0x45, 0x76, 0x1F, 0x87, 0x80, 0x48, 0x5B, 0x16, 0x8A, 0x01, 0x75, 0x00, 0x31, 0x00, 0x13, 0x50, 0x01, 0x18, 0x08, 0x81, 0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82, 0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83, 0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84, 0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x05, 0x85, 0x00, 0x00, 0x00, 0x05, 0x86, 0x50, 0x00, 0x00, 0x02, 0x87, 0x0B, 0x88, 0x20, 0x01, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x89, 0x80, 0x05, 0x8A, 0x50, 0x00, 0x00, 0x05, 0x8B, 0x50, 0x00, 0x00, 0x07, 0x01, 0x41, 0x53, 0x55, 0x53, 0x00, 0x12, 0x02, 0x54, 0x48, 0x55, 0x4E, 0x44, 0x45, 0x52, 0x42, 0x4F, 0x4C, 0x54, 0x45, 0x58, 0x20, 0x34, 0x00, 0x0F, 0x09, 0x10, 0x04, 0x43, 0x10, 0xF6, 0x87, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x01

Second ThunderboltDROM with port 7, C & D enabled (EX4) :
0x93, 0x00, 0xBC, 0xFD, 0x45, 0x76, 0x1F, 0x87, 0x80, 0x21, 0x37, 0xCA, 0x6C, 0x01, 0x75, 0x00, 0x31, 0x00, 0x13, 0x50, 0x01, 0x18, 0x08, 0x81, 0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82, 0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83, 0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84, 0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x05, 0x85, 0x00, 0x00, 0x00, 0x05, 0x86, 0x50, 0x00, 0x00, 0x02, 0x87, 0x0B, 0x88, 0x20, 0x01, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x89, 0x80, 0x05, 0x8A, 0x50, 0x00, 0x00, 0x05, 0x8B, 0x50, 0x00, 0x00, 0x02, 0x8C, 0x02, 0x8D, 0x07, 0x01, 0x41, 0x53, 0x55, 0x53, 0x00, 0x12, 0x02, 0x54, 0x48, 0x55, 0x4E, 0x44, 0x45, 0x52, 0x42, 0x4F, 0x4C, 0x54, 0x45, 0x58, 0x20, 0x34, 0x00, 0x0F, 0x09, 0x10, 0x04, 0x43, 0x10, 0xF6, 0x87, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x01

Oh wow, thank you!

Still waiting on the mail so hopefully this evening.

Edit: Whomp, nothing came in the mail today.
 
Last edited:
@NorthAmTransAm @djlild7hina

If you have some time, could you take a pictures or your Asus Thunderbolt EX4, I just want to identify number of EEPROM (memory including firmwares) & Power Delivery component (TPSxxxx or CDxxx) ?

Thanks !
 
Back
Top