Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.
I have been doing some searching and am trying to figure out this thunderbolt situation.

I have come across some code in the dumps, found under "Device Properties" when viewing from the Darwin Dumper webpage.
This is what I've found:
Code:
tatata

I believe this has something to do with making Thunderbolt show up in system profiler.

Nope. I had tried that some time ago, also published here in my SSDT:

Code:
                Device (NHI0)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_STR, Unicode ("Thunderbolt"))  // _STR: Description String
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                          
                            })
                        }

                        Return (Package (0x1B)
                        {
                            "AAPL,slot-name",
                            Buffer (0x07)
                            {
                                "Slot-6"
                            },

                            "built-in",
                            Buffer (One)
                            {
                                 0x00                                          
                            },

                            "device_type",
                            Buffer (0x19)
                            {
                                "Thunderbolt 3 Controller"
                            },

                            "model",
                            Buffer (0x20)
                            {
                                "Intel DSL6540 Thunderbolt 3 NHI"
                            },

                            "name",
                            Buffer (0x25)
                            {
                                "Intel DSL6540 Thunderbolt Controller"
                            },

                            "TBTDPLowToHigh",
                            Buffer (One)
                            {
                                 0x01, 0x00, 0x00, 0x00                        
                            },

                            "TBTFlags",
                            Buffer (One)
                            {
                                 0x03, 0x00, 0x00, 0x00                        
                            },

                            "linkDetails",
                            Buffer (One)
                            {
                                 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
                            },

                            "ThunderboltUUID",
                            ToUUID ("95e6bcfa-5a4a-5f81-b3d2-f0e4bd35cf1e"),
                           
                            "pathcr",
                            Buffer (One)
                            {
                                /* 0000 */  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */  0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00,
                                /* 0010 */  0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0018 */  0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00,
                                /* 0020 */  0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00,
                                /* 0028 */  0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0030 */  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0038 */  0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00,
                                /* 0040 */  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0048 */  0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00
                            },

                            "ThunderboltDROM",
                            Buffer (One)
                            {
                                /* 0000 */  0x6D, 0x01, 0xC5, 0x49, 0xD5, 0x3E, 0x21, 0x01,
                                /* 0008 */  0x00, 0x04, 0xCE, 0x8D, 0x61, 0x01, 0x5E, 0x00,
                                /* 0010 */  0x01, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x08, 0x81,
                                /* 0018 */  0x81, 0x02, 0x81, 0x00, 0x00, 0x00, 0x08, 0x82,
                                /* 0020 */  0x91, 0x01, 0x81, 0x00, 0x00, 0x00, 0x08, 0x83,
                                /* 0028 */  0x81, 0x04, 0x81, 0x01, 0x00, 0x00, 0x08, 0x84,
                                /* 0030 */  0x91, 0x03, 0x81, 0x01, 0x00, 0x00, 0x08, 0x85,
                                /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x86,
                                /* 0040 */  0x20, 0x03, 0x87, 0x80, 0x02, 0xC8, 0x05, 0x89,
                                /* 0048 */  0x50, 0x00, 0x00, 0x05, 0x8A, 0x50, 0x00, 0x00,
                                /* 0050 */  0x02, 0xCB, 0x0D, 0x01, 0x41, 0x70, 0x70, 0x6C,
                                /* 0058 */  0x65, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x00, 0x0C,
                                /* 0060 */  0x02, 0x4D, 0x61, 0x63, 0x69, 0x6E, 0x74, 0x6F,
                                /* 0068 */  0x73, 0x68, 0x00                              
                            },

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

                            "power-save",
                            One,
                            Buffer (One)
                            {
                                 0x00                                          
                            }
                        })
                    }
                }
 
I had looked at that board, it's E-ATX though (so won't fit in all chassis) and no thunderbolt

Not everyone needs TB and EATX is fine. Plenty of chassis that it can fit in to.
 
Anybody willing to experiment on this?

-------------------------------------
@kgp

If you open your bios with AmiBCP.exe in windows you can unhide the hidden thunderbolt options. On my Asrock board one of these is Native OS Hot Plug which is disabled by default. Enable it and the rest as they say is history. You must use the newest version of AmiBCP for Aptio V (Google is your friend) and change the Access/Use value for the option you want to unhide from Default to USER then 'save as' the modified bios. I usually run the modded bios through Intel's Flash Image Tool (FIT) to make sure it's kosher and unlock the descriptor and ME regions so the bios can easily be flashed using FPT. For more info on all this I recommend you visit Fernando's Win-RAID forum, a mine of useful information...

-------------------------------------

Warning, dense matter! ... not as trivial as it looks like above.. ;)

Any help would be appreciated.

Rulebreaker01, this would be something for you, isn't it? Dense and complex matter for coders ;).. Willing to come up with a small "How to..." to be implemented in my guide? :)

BTW.. who will make post 8000? Just 4 posts missing ...;)
 
Last edited:
Rulebreaker01, this would be something for you, isn't it? Dense and complex matter for coders ;).. Willing to come up with a small "How to..." to be implemented in my guide? :)
It did raise my interest when I saw your post. But the thought of having to use things like an Intel loader got me scared
 
It did raise my interest when I saw your post. But the thought of having to use things like an Intel loader got me scared

For sure there is a way to flash the modified BIOS in the usual way, i.e. in case of ASUS, EZ Flashback. Could you investigate the entire story in more detail?

I would propose to start with the patched ASUS Prime Deluxe Bios 1301 and see whether or not we would be able to unlock hidden TB BIOS settings as described above.

Once this is possible, we can think and try how to flash the BIOS with the modified firmware.

Later on we can try to extend the approach for any other BIOS firmware.

Deal?

KGP
 
Last edited:
@TheOfficialGypsy , can you compare which TB kexts and drivers are loaded on the iMac Pro and which TB kexts and drivers are missing to be loaded on our systems?
 
@kgp I no longer have an Asus MB. So I can't experiment there.

Also I wouldn't know where to start in patching the ASRock bios and flash it
 
For sure there is a way to flash the modified BIOS in the usual way, i.e. in case of ASUS, EZ Flashback. Could you investigate the entire story in more detail?

I would propose to start with the patched ASUS Prime Deluxe Bios 1301 and see whether or not we would be able to unlock hidden TB BIOS settings as described above.

Once this is possible, we can think and try how to flash the BIOS with the modified firmware.

Later on we can try to extend the approach for any other BIOS firmware.

Deal?

KGP
I've had a look at the AMIBCP tool however I can't seem to find a recent version. The only version I've found is v5.0.1 and it doesn't seem to open the .CAP file correctly.

I'm more than happy to play around with it, if I can figure out how to get it to work.
 

Attachments

  • AMIBCP_v5.0.1.zip
    10.6 MB · Views: 79
@TheOfficialGypsy , can you compare which TB kexts and drivers are loaded on the iMac Pro and which TB kexts and drivers are missing to be loaded on our systems?
I have attached a copy of System Information from which you can see the loaded kexts from the "Extensions" section.

I have also attached a screenshot showing the kexts that are loaded. Do put in mind I have the TB card removed from my computer for now. (The left side of the screenshot is the iMac Pro and the right side is my hack)
 

Attachments

  • iMac Pro.zip
    276.4 KB · Views: 79
  • Screen Shot 2018-05-24 at 23.33.29.png
    Screen Shot 2018-05-24 at 23.33.29.png
    146.6 KB · Views: 170
Last edited:
@kgp

No success with your SSDT (SSDT TB3) for the moment : may be that I'm not sufficient experimented to use it :seems to be more complex than my SSDT-TB3. :crazy:
 
  • Like
Reactions: kgp
Status
Not open for further replies.
Back
Top