Contribute
Register

Thunderbolt 4, modified firmware, Full Thunderbolt Bus tree

Thanks @CaseySJ !

So I am running latest Sonoma 14.4.1.
Also, I just enabled the two kext patches provided

Code:
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>Base</key>
                <string></string>
                <key>Comment</key>
                <string>IOThunderboltFamily patch SwitchOS to SwitchType6 (Sonoma)</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>SInf6PVfBQA=</data>
                <key>Identifier</key>
                <string>com.apple.iokit.IOThunderboltFamily</string>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string>23.0.0</string>
                <key>Replace</key>
                <data>SInf6LuFCAA=</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>Base</key>
                <string></string>
                <key>Comment</key>
                <string>IOThunderboltFamily patch port number limitation (Common)</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>uP/wP/8jQwQ=</data>
                <key>Identifier</key>
                <string>com.apple.iokit.IOThunderboltFamily</string>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>Replace</key>
                <data>6QsAAAAjQwQ=</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
            </dict>
        </array>

and now I see the activation of the adapter within the Thunderbolt bus section of System Information.

I also tested Sleep again and that keeps working as well!!

Screenshot 2024-04-09 at 2.56.24 PM.png
 
Thanks @CaseySJ !

So I am running latest Sonoma 14.4.1.
Holy crap!!!

This means we don’t even have to flash the firmware. It also means that something in our SSDT did the trick. Perhaps it is TBTFlags!

I will revert to original firmware on my Z690 and see what happens.
 
Holy crap!!!

This means we don’t even have to flash the firmware. It also means that something in our SSDT did the trick. Perhaps it is TBTFlags!

I will revert to original firmware on my Z690 and see what happens.
YES!! So I noticed that the Thunderbolt bus initially activated when I added the TBTFlags to my SSDT. I previously was spoofing the device-id as discussed earlier in the thread. Adding the kext patches is what made the devices show up when attached under the thunderbolt bus.

Lastly, I did boot into Ubuntu Live CD in order to extract my NVM firmware and verify it's version. I will attach the vanilla firmware I extracted if that might help.
 

Attachments

  • NVM38.bin.zip
    224.1 KB · Views: 5
I hope you all have the same great outcome I did with my ProArt Z790-Creator.
No luck for me on Z690 ProArt.
I'm on BIOS 2103 which was before the stock NVM was upgraded.
Also running latest Ventura OS.
 
I tried installing just the new SSDT on my Asus X670E Gene (AMD Ryzen) with on-board Maple Ridge, but Thunderbolt Local Node does not appear.

I also flashed original NVM28 into my GC-Maple Ridge add-in-card (Gigabyte Z390 Designare) and used just the new SSDT, but again no local node.

Will try Asus Z690 ProArt soon.
 
Are there any other Asus ProArt Z790 Creator owners here?? :)

I posted this in my Asus Z690 ProArt thread:

Screenshot 2024-04-09 at 8.05.00 PM.png
 
Last edited:
From the stock firmware file using @joevt 's ThunderboltUtil.sh

Code:
% listdroms
1)
thedrom=9300bcfd45761f8780b7a0294301860031003350012608818002000000000882900100000000088380040000000008849003000000000585000000058650000002c70b88200100640000000000038980058a500000058b500000070141535553001b0250524f415254205a3739302043524541544f522057494649000f0910044310f68738380000000001080b03818c04828d

sources:
NVM38.bin:linux:v38:nvm_v0.0:0x200

% usedromnum 1

% dumpdrom

0x01) UID: 0x80871F7645FDBC00 // Vendor ID (USB-IF):0x8087 Component ID:0x1F7645FDBC0 Router ID:0x0
0x0d) Version: 1 // TBT3
0x10) TBT3-Vendor ID: 0x31
0x12) TBT3-Device ID: 0x5033
0x14) TBT3-Model Revision: 0x1
0x15) TBT3-NVM Revision: 38
0x16)   1: 800200000000 // TBT3-Lane Adapter  { Lane:0, Dual-Lane Link Capable:Yes, 2nd Adapter Num:2 }
0x1e)   2: 900100000000 // TBT3-Lane Adapter  { Lane:1, Dual-Lane Link Capable:Yes, 2nd Adapter Num:1 }
0x26)   3: 800400000000 // TBT3-Lane Adapter  { Lane:0, Dual-Lane Link Capable:Yes, 2nd Adapter Num:4 }
0x2e)   4: 900300000000 // TBT3-Lane Adapter  { Lane:1, Dual-Lane Link Capable:Yes, 2nd Adapter Num:3 }
0x36)   5: 000000 // DP  { Preferred Lane Adapter:0, Preference Valid:0 }
0x3b)   6: 500000 // DP  { Unknown:0x5000, Preferred Lane Adapter:0, Preference Valid:0 }
0x40) - 7:
0x42)   8: 200100640000000000 // TBT3-PCIe Upstream Adapter  { xx:01.0, Unknown:0x0100640000000000 }
0x4d)   9: 80 // TBT3-PCIe Downstream Adapter  { xx:04.0 }
0x50)   A: 500000 // DP  { Unknown:0x5000, Preferred Lane Adapter:0, Preference Valid:0 }
0x55)   B: 500000 // DP  { Unknown:0x5000, Preferred Lane Adapter:0, Preference Valid:0 }
0x5a)   1: "ASUS" // ASCII Vendor Name
0x61)   2: "PROART Z790 CREATOR WIFI" // ASCII Model Name
0x7c)   9: 10044310f68738380000000001 // Product Descriptor  { USB Spec:4.1.0, Vendor ID:0x1043, Product ID:0x87f6, Product FW Revision:38.3.8, TID:0x00000000, Product HW Revision:1 }
0x8b)   B: 03818c04828d // USB Port Mapping  { { USB3 Port Number:3, PD Port Number:1, xHCI Index:0, USB Type-C:1, USB3 Adapter Number:12, Tunnelling Support:1 }, { USB3 Port Number:4, PD Port Number:2, xHCI Index:0, USB Type-C:1, USB3 Adapter Number:13, Tunnelling Support:1 } }
0x93) End
 
cant find file NVM.bin
Hi @Inmike09

Oh! Incredible discovery !

I have extracted Thunderbolt Firmware (Guid EED54281-1C11-4358-BF5A-F64995FBF11B) and have attached it.

I have some comments/questions :
  • Port@7 (0x2C7) is not enabled but Thunderbolt Native host interface can be driven by driver
  • Does BIOS thunderbolt drivers setting enable this mode ? Could you post theses settings ?
  • Are you able to install Ventura on a temporary Drive to see what happen ? (Is that Local Bus can enable only on Sonoma... so disassembled code should be inspected...)
  • Could you post your IOReg file ?
  • Could you post your Thunderbolt debug log explain here ?
  • Is your thunderbolt devices plugged with SwitchType6 works normally ? (See below)
When I saw System informations, "Link Status" shows an error 0xe00002d6 :

Displayed "Firmware Version" indicates 38.56 following "Product Description" :
... 38 38 ... >> 0x38 in hex show major version 38.x & 0x38 in decimal (56) show minor version x.56

Many Thanks for your contribution on this Tread :)
 

Attachments

  • ASUS-ProArt-Z790-CREATOR-WIFI-Thunderbolt-Firmware-v38-Stock.zip
    223.9 KB · Views: 9
Back
Top