Hello,
My intent is to expose hidden thunderbolt submenu settings located in the PBS module. And if possible, forcibly turn on Thunderbolt AIC while PCIE16X_3 is present. To see if it can share bandwidth. Otherwise might have to do an expensive mobo upgrade ouch.
I have performed these IFR/hex edits:
----SETUP MODULE
----AMD PBS MODULE - BBB77CB9
## Submenu
0x61D9 Form: AMD PBS Option, FormId: 0xB {01 86 0B 00 04 00}
0x61DF Suppress If {0A 82}
0x61E1 True {46 02}
>>>
0x61E1 False {47 02}
## LEAVE ALONE/REF - SHOWS UP CONSISTENTLY
0x6411 Suppress If {0A 82}
0x6413 QuestionId: 0x2 equals value in list (0x4, 0x6) {14 8A 02 00 02 00 04 00 06 00}
0x641D Not {17 02}
0x641F End {29 02}
0x6421 One Of: Data Link Feature Exchange, VarStoreInfo (VarOffset/VarName): 0x3E, VarStore: 0x1, QuestionId: 0xE, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 A6 00 A7 00 0E 00 01 00 3E 00 14 10 00 01 00}
0x6432 Default: DefaultId: 0x0, Value (8 bit): 0x1 {5B 06 00 00 00 01}
0x6438 One Of Option: Disabled, Value (8 bit): 0x1 {09 07 07 00 00 00 01}
0x643F One Of Option: Enabled , Value (8 bit): 0x0 {09 07 06 00 00 00 00}
0x6446 End One Of {29 02}
0x6448 End If {29 02}
##
## Subsection of settings
0x644A Suppress If {0A 82}
0x644C True {46 02}
0x644E One Of: Unused GPP Clocks Off, VarStoreInfo (VarOffset/VarName): 0x3, VarStore: 0x1, QuestionId: 0xF, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 13 00 14 00 0F 00 01 00 03 00 10 10 00 01 00}
>>>
0x644C False {47 02}
## Subsection of Thunderbolt !!!!
0x6744 Suppress If {0A 82}
0x6746 QuestionId: 0x3C equals value 0x0 {12 06 3C 00 00 00} # How is 0x3C set; Thunderbolt availability determined?
0x674C One Of: Thunderbolt Support, VarStoreInfo (VarOffset/VarName): 0x1A, VarStore: 0x1, QuestionId: 0x7E0, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 3F 00 40 00 E0 07 01 00 1A 00 14 10 00 01 00}
>>>
0x6746 QuestionId: 0x3C equals value 0xFF {12 06 3C 00 FF 00} # End of IFR - 0x3C Variable ?
###
0x677B Suppress If {0A 82}
0x677D True {46 02}
0x677F One Of: Thunderbolt Host Chipset, VarStoreInfo (VarOffset/VarName): 0x28, VarStore: 0x1, QuestionId: 0x7E1, Size: 1, Min: 0x0, Max 0x2, Step: 0x0 {05 91 41 00 42 00 E1 07 01 00 28 00 14 10 00 02 00}
>>>
0x677D False {47 02}
FYI - Other Maple Ridge Controllers have some of these options available ? ThunderboltEX-4
###
0x67AF Suppress If {0A 82}
0x67B1 QuestionId: 0x7E1 equals value in list (0x0, 0x2) {14 0A E1 07 02 00 00 00 02 00}
0x67BB One Of: TR HR FPB Capability, VarStoreInfo (VarOffset/VarName): 0x3C, VarStore: 0x1, QuestionId: 0x1B, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 46 00 47 00 1B 00 01 00 3C 00 14 10 00 01 00}
>>>
0x67B1 QuestionId: 0x7E1 equals value in list (0xFF, 0xFF) {14 0A E1 07 02 00 FF 00 FF 00}
###
0x67DE Suppress If {0A 82}
0x67E0 QuestionId: 0x7E1 equals value 0x2 {12 06 E1 07 02 00}
0x67E6 One Of: Thunderbolt Security Level, VarStoreInfo (VarOffset/VarName): 0x1B, VarStore: 0x1, QuestionId: 0x1C, Size: 1, Min: 0x0, Max 0x4, Step: 0x0 {05 91 48 00 49 00 1C 00 01 00 1B 00 14 10 00 04 00}
0x67F7 One Of Option: No Security, Value (8 bit): 0x0 {09 07 4A 00 00 00 00}
0x67FE One Of Option: User Authorization, Value (8 bit): 0x1 (default) {09 07 4B 00 10 00 01}
0x6805 One Of Option: Secure Connect, Value (8 bit): 0x2 {09 07 4C 00 00 00 02}
0x680C One Of Option: Display Port and USB, Value (8 bit): 0x3 {09 07 4D 00 00 00 03}
0x6813 Suppress If {0A 82}
0x6815 QuestionId: 0x7E1 equals value 0x0 {12 06 E1 07 00 00}
0x681B One Of Option: USB Docking Only, Value (8 bit): 0x4 {09 07 4E 00 00 00 04}
0x6822 End If {29 02}
# Insert
0x6824 End One Of {29 02}
0x6826 End If {29 02}
0x6828 Suppress If {0A 82}
0x682A QuestionId: 0x7E1 equals value 0x2 {12 86 E1 07 02 00}
0x6830 Not {17 02} # if maple then dont suppress
0x6832 End {29 02}
0x6834 One Of: Thunderbolt Security Level, VarStoreInfo (VarOffset/VarName): 0x1B, VarStore: 0x1, QuestionId: 0x1D, Size: 1, Min: 0x0, Max 0x5, Step: 0x0 {05 91 48 00 49 00 1D 00 01 00 1B 00 14 10 00 05 00}
0x6845 Default: DefaultId: 0x0, Value (8 bit): 0x0 {5B 06 00 00 00 00}
0x684B One Of Option: No Security, Value (8 bit): 0x0 {09 07 4A 00 00 00 00}
0x6852 One Of Option: USB4 controller only, Value (8 bit): 0x5 {09 07 4F 00 00 00 05} # Cut
0x6859 End One Of {29 02}
0x685B End If {29 02}
>>>
0x6815 QuestionId: 0x7E1 equals value 0xFF {12 06 E1 07 FF 00}
0x6830 True {46 02} # don't need two "Thunderbolt Security Level"
...
+0x6824 One Of Option: USB4 controller only, Value (8 bit): 0x5 {09 07 4F 00 00 00 05}
-0x6852 \/
###
0x685D Suppress If {0A 82}
0x685F True {46 02}
0x6861 One Of: Thunderbolt Force PWR, VarStoreInfo (VarOffset/VarName): 0x1C, VarStore: 0x1, QuestionId: 0x1E, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 50 00 51 00 1E 00 01 00 1C 00 14 10 00 01 00}
>>>
0x685F False {47 02}
###
0x688A Suppress If {0A 82}
0x688C QuestionId: 0x7E1 equals value 0x2 {12 06 E1 07 02 00}
0x6892 One Of: Thunderbolt Boot From TB, VarStoreInfo (VarOffset/VarName): 0x1D, VarStore: 0x1, QuestionId: 0x1F, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 52 00 53 00 1F 00 01 00 1D 00 14 10 00 01 00}
>>>
0x688C QuestionId: 0x7E1 equals value 0xFF {12 06 E1 07 FF 00}
###
0x68BB Suppress If {0A 82}
0x68BD True {46 02}
0x68BF One Of: Thunderbolt Boot From USB, VarStoreInfo (VarOffset/VarName): 0x1E, VarStore: 0x1, QuestionId: 0x20, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 54 00 55 00 20 00 01 00 1E 00 14 10 00 01 00}
>>>
0x68BD False {46 02}
###
0x68E2 Suppress If {0A 82}
0x68E4 True {46 02}
0x68E6 One Of: Thunderbolt Assign Resource, VarStoreInfo (VarOffset/VarName): 0x1F, VarStore: 0x1, QuestionId: 0x21, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 56 00 57 00 21 00 01 00 1F 00 14 10 00 01 00}
>>>
0x68E4 False {47 02}
###
0x6931 Suppress If {0A 82}
0x6933 True {46 02}
0x6935 One Of: Thunderbolt in SLOT, VarStoreInfo (VarOffset/VarName): 0x21, VarStore: 0x1, QuestionId: 0x23, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 91 5E 00 5F 00 23 00 01 00 21 00 14 10 00 00 00}
>>>
0x6933 False {47 02}
###
0x6951 Suppress If {0A 82}
0x6953 True {46 02}
0x6955 One Of: Legacy/Native/RTD3, VarStoreInfo (VarOffset/VarName): 0x22, VarStore: 0x1, QuestionId: 0x24, Size: 1, Min: 0x0, Max 0x3, Step: 0x0 {05 91 61 00 62 00 24 00 01 00 22 00 14 10 00 03 00}
>>>
0x6953 False {47 02}
###
0x6986 Suppress If {0A 82}
0x6988 True {46 02}
0x698A One Of: Thunderbolt L1SS Support, VarStoreInfo (VarOffset/VarName): 0x23, VarStore: 0x1, QuestionId: 0x25, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 67 00 68 00 25 00 01 00 23 00 14 10 00 01 00}
>>>
0x6988 False {47 02}
## LEAVE ALONE/REF - ???
0x6EA3 Disable If {1E 82}
0x6EA5 True {46 02}
0x6EA7 Numeric: en-US, VarStoreInfo (VarOffset/VarName): 0x49, VarStore: 0x1, QuestionId: 0x3C, Size: 1, Min: 0x0, Max 0xFF, Step: 0x0 {07 91 00 00 00 00 3C 00 01 00 49 00 00 10 00 FF 00}
0x6EB8 End {29 02}
0x6EBA End If {29 02}
Here is my modified module.
Here is the original capsule (Can’t post another link but is Version 2803 latest), and my modified capsule.
I flashed the modified image with usb flashback. Blinking that got sequentially faster till no light, so it worked I think. But, no change in menu options under Advanced/PBS.
I can use my programmer but it’s stowed away somewhere.
I don’t know where to go from here, and why these changes are not showing. Please help
EDIT: I’m further realizing it probably won’t be possible for the Thunderbolt AIC and PCIE slot to share bandwidth as they are switching. Upgrading isn’t the …best… option as the Asus ProArt X570-Creator Mobo third slot is 4x electrical anyway, and I’m sticking SFP+ dual NIC. PCIE Resource Allocation limited either way. I’m gonna try thunderbolt daisy chaining with thunderbolt NIC and Dock, so some benefit. Or Threadripper/New build which is $$$ hehe.