Asus ProArt B550-Creator Hidden settings in PBO menu

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 :stuck_out_tongue:

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.

I dumped the modified BIOS I supposedly flashed via USB Flashback, the module I modified had no changes. I’m guessing this means it didn’t flash.

I’m trying a different method via afu tools. I am having trouble using AfuWinx64.exe as it instantly closes, and AfuEfix64.efi from UEFI Shell simply freezes on any sorta input (/O, /?, etc…). Ahckkkk

The AfuWin GUI tool is able to be used, but can’t flash even the original capsule. It says size mismatch. I could try replacing the module from a ROM Dump, and try via GUI? I’m also hesitant to flip switches in GUI without any knowledge what these commands could do.

@Lost_N_BIOS ? I read over you’re experience with unlocking AMD PBS menu on X570 Mobo. Any clue?
I can’t figure out if the USB Flashback worked… cuz the lights blinked right D:

Figured it out. ASUS Ryzen capsules contain two capsules, one for 1/2000 and 3/4/5000 afaik. I could split it via hex editor, but I don’t know where at in the file as it’s got extra stuff in there. Edited the corresponding module at the corresponding offset, and it worked via USB Flashback. I now have all suppressed menu items in AMD PBS module available! Thunderbolt stuff that should have been especially available. Haven’t played with them yet, and might unlock some other menus like ASPM n all.

Hi, Could you explain how you modified the BIOS? I’d like to do the same.

I have the B550-Creator and can’t get a TB3 10GbE adapter working. The adapter works fine on other hosts. If plugged in at power on it hangs during POST on the splash screen, then reboots, looping. If it’s plugged in after OS initialisation the device appears in the Intel Thunderbolt Control Center as Connected but doesn’t appear in Device Manager. In Event Log Viewer it appears to connect and then disconnect every 2 mins.

I’m hoping that unlocking the advanced TB options in the BIOS could provide a solution.

Here is an unlocked version of the BIOS. Only for 3/4/5000 series (latter half of capsule).

A looooot of submenus and items have been unsuppressed. Most notably Thunderbolt stuff, ASPM/Power saving stuff, Windows Vista/7 compatibility stuff that may interest people.

Only thing to note is 0x36E is some kind of debug variable, try setting it to 0x1 with an EFI app to unlock some more debug submenus & items (too lazy to one by one unsuppress them). I haven’t done any access level changes so that might be it too.

Also please don’t brick your PC :stuck_out_tongue: that’s your disclaimer.