[Discussion] UBU Tool related Questions/Reports/Suggestions


@plutomaniac
I’m already thinking about adding MCE.py.
But I just don’t understand how to check if Python is installed?
The variable %path% is not suitable. Checking for a folder is also not an option. Already did some tests, it did not always work.

Normally, people need to only install Python 3.7+ and then the two MCE dependencies via pip (Colorama, PLTable). Everything else is handled automatically via the Python Launcher which comes with the Windows builds. Calling MCE from cmd will simply launch MCE.py with the preferred version via Python Launcher.

Check automation is a bit difficult because you would need to check that Python 3.7 or newer is installed and that Colorama and PLTable are present:

HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore</b> → Python Installations (HKLM, x64)
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PythonCore</b> → Python Installations (HKLM, x86)
HKEY_CURRENT_USER\Software\Python\PythonCore</b> → Python Installations (HKCU, x64)
HKEY_CURRENT_USER\Software\WOW6432Node\Python\PythonCore</b> → Python Installations (HKCU, x86)

At PythonCore, choose folder 3.7 (x64) or 3.7-32 (x86) or newer. From InstallPath, get ExecutablePath. Now you have the proper python.exe to run MCE.

Capture.PNG



Check if folder that starts with PLTable exists at <python dir>\Lib\site-packages</b>
Check if folder that starts with colorama exists at <python dir>\Lib\site-packages</b>

I think that for starters you can do simpler. Run simple source code for output to the screen and pass text to a variable. Then check the variable and if it matches, then use the option you need.
Later it will be possible to think over a full check.


Edit:

Checked, this method does not work. I immediately open the file in VS2017.
So install Python right away. Now there are not enough other problems before the checks. Sorry.

OROM VBIOS Cezanne - 017.010.000.018.000000 date_05/13/20 (>017.010.000.015.000000 date_03/04/20)
OROM VBIOS GeminiLake - :relaxed:↓:female_sign:1 (strange version)

[email protected] (32.3 KB)

vbt_DBADD769-E86A-4819-8120-E991792C0BC1.rar (1.61 KB)

@westlake

Do not pay attention to such a version of OROM VBIOS GLK. Very rarely, this happens with other OROMs, due to a version shift of 3 bytes.

@SoniX
Hi SoniX,
Is the problem also on intel motherboards (?) because i used UBU 1.79.1 on Intel Z87-A’s bios and i bricked the board.
(sorry for my bad english)

@cgm

Intel motherboards will not work after interference in their BIOS. They have digital signatures for everything.

@cgm - Yes, best to dump Intel branded board with programmer, then manually edit for microcodes and program back. If you need help with that once you get programmer let me know.
Normally this is the only way you can flash a mod BIOS there too, so not sure how you flashed in mod BIOS to brick the board?

My apologies for the confusion, the board it’s an Asus Z87-A (Intel CPU) with a bios Aptio 4. I use afuwin with GAN option without problem (many update) but on the last bios update (with UBU 1.79.1) Board don’t run.

@cgm

The problem was at 1.79.0, but it was resolved. Otherwise, nothing has changed.

@Lost_N_BIOS Theres a couple ways to do it, usually I do it by opening the main CBS/PBS files you can extract with UBU and moving the "suppress if" stuff, this varies slightly with some boards so needs a bit of trial and error sometimes .


0x4F7 One Of: Combo CBS, VarStoreInfo (VarOffset/VarName): 0x0, VarStore: 0x5000, QuestionId: 0x6, Size: 1, Min: 0x0, Max 0x5, Step: 0x0 {05 91 0A 00 0B 00 06 00 00 50 00 00 10 10 00 05 00}
0x508 One Of Option: 0, Value (8 bit): 0x0 {09 07 0C 00 00 00 00}
0x50F One Of Option: 1, Value (8 bit): 0x1 (default) {09 07 0D 00 10 00 01}
0x516 One Of Option: 2, Value (8 bit): 0x2 {09 07 0E 00 00 00 02}
0x51D One Of Option: 3, Value (8 bit): 0x3 {09 07 0F 00 00 00 03}
0x524 One Of Option: 4, Value (8 bit): 0x4 {09 07 10 00 00 00 04}
0x52B One Of Option: Unknown, Value (8 bit): 0x5 {09 07 11 00 00 00 05}
0x532 End One Of {29 02}
0x534 Suppress If {0A 82}
0x536 QuestionId: 0x6 equals value 0x5 {12 86 06 00 05 00}
0x53C Not {17 02}
0x53E End {29 02}
0x540 End If {29 02}
0x542 End Form {29 02}

0x4F7 Suppress If {0A 82}
0x4F9 QuestionId: 0x6 equals value 0x5 {12 86 06 00 05 00}
0x4FF Not {17 02}
0x501 End {29 02}
0x503 One Of: Combo CBS, VarStoreInfo (VarOffset/VarName): 0x0, VarStore: 0x5000, QuestionId: 0x6, Size: 1, Min: 0x0, Max 0x5, Step: 0x0 {05 91 0A 00 0B 00 06 00 00 50 00 00 10 10 00 05 00}
0x514 One Of Option: 0, Value (8 bit): 0x0 {09 07 0C 00 00 00 00}
0x51B One Of Option: 1, Value (8 bit): 0x1 (default) {09 07 0D 00 10 00 01}
0x522 One Of Option: 2, Value (8 bit): 0x2 {09 07 0E 00 00 00 02}
0x529 One Of Option: 3, Value (8 bit): 0x3 {09 07 0F 00 00 00 03}
0x530 One Of Option: 4, Value (8 bit): 0x4 {09 07 10 00 00 00 04}
0x537 One Of Option: Unknown, Value (8 bit): 0x5 {09 07 11 00 00 00 05}
0x53E End One Of {29 02}
0x540 End If {29 02}
0x542 End Form {29 02}

Tadaa.

EDIT by Fernando: Unneeded parts of the fully quoted post removed and the details put into "spoilers" (to save space)

@ket - Nice, I’d never seen this posted by anyone, unsuppress combo CBS option makes CBS appear?
Do you have those reversed above?? “Change To” is original, and “Eg” is post-mod - Looks backwards there
This applies to boards that do not show CBS or PBS by default?? If yes, how to do PBS, is there a “Combo PBS” setting in PBS file too?

Only way I knew previously, was edit AMITSE PE32 and if either there, zero or FF out
59 B9 63 B8 C6 0E 33 40 99 C1 8F D8 9F 04 02 22 - AMD PBS
E3 35 45 B0 04 30 46 49 9E B7 14 94 28 98 30 53 - AMD CBS

Hello,

I have a msi cubi 3 silent s-009b and I want to update the microcode. The Bios is a Aptio V, Intel i3 7100u.

The 920 BIOS (https://www.msi.com/Desktop/support/Cubi-3-Silent-S-7m) has three CPUID microcodes: 406E8, 806E9, 806EA.
In the MSI is a CPU with the ID: 806E9

When I select R (Start replacement): mmtool_5a: Error 4001 FV size is too small
P: Replacement in PEI volume: works with

1
2
3
4
5
6
7
8
9
10
11
 
#Do not remove this file.
#This file is for updating microcodes for MSI x299.
#
#To avoid a possible error - "Error in Saving",
# set '#' at the beginning of the line that you turn off.
#
 
406E8 MSI\cpu406E8_plat80_ver00000026_2016-04-14_PRD_4BA87933.bin
806E9 MSI\cpu806E9_platC0_ver000000D6_2020-04-27_PRD_C979B5EA.bin
#806EA MSI\cpu806EA_platC0_ver000000D6_2020-04-27_PRD_D9DD064F.bin
 
 

D: Inserting into a DXE volume: works

Two questions:
1. Can be delete 806EA (maybe 406E8) microcode or is there a problem after a flash?
2. Is DXE volume a save method?


You can delete everything, but leave only the one that is used.


It is better to replace it in the PEI volume, but if the size of the PEI volume does not allow all microcodes to be accommodated, then we try to save it in the DHE volume.

@Lost_N_BIOS



VICTORY! I knew it was a Windows problem, not the BIOS.

Also, I know this is off-topic for UBU, but this is where the question started, and it’s probably not worth a whole new thread.

Problem was that CPU was always locked to 3.2 GHz when it woke from sleep or on cold start, with uncore stuck at 2900 MHz. But it worked properly on restart (ran at 800 MHz - 4.3 GHz, uncore at 800-4000).

I realized that I had the problem backwards. I should not focus on what was going wrong with sleep, but instead what was going right with restart.

Googling windows sleep modes showed that the default cold start setting is Fast Restart, which is a form of hibernation. That is, Windows creates a file of hardware settings that it uses upon cold start. That includes CPU settings, so instead of asking the BIOS what it has, it just assumes it knows.

Apparently, Windows is not aware that CPUs can have more than one power state these days. It knows my CPU runs at 3.2 GHz, so it keeps it there all the time. Stupid Windows.

I turned off Fast Restart, and bingo! Now my CPU runs correctly upon restart and cold start.

I kept fiddling with settings for Sleep and Hibernate and Package C States, but none of that helped. Sleep and Hibernate still lock the CPU in middle gear.

My solution: I just won’t use Sleep or Hibernate. I can afford the 15 seconds to turn it off and reboot.

Thanks!

@Dnatwork - glad you found the cause and solution there, good work

I figured out why my RAID 0 Gen 4 M.2 array was giving Gen 3 speeds. It wasn’t the RaidExpert2 version I updated to, it happens when I have the RAID array into two separate partitions.

If I have the entire array as one partition getting 9000+ read, 8000+ write.



They might be reversed, I just quickly dug those examples out of a few files I knew I changed at some point :stuck_out_tongue: Unless I’m forgetting something, yup, you can hide/unhide whatever you want in the CBS/PBS this way or the CBS/PBS themselves its the suppress if functions that override pretty much everything else. Editing AMITSE might be necessary but I don’t recall ever having to do this when moving options outside the suppress if functions. Good thing with CBS/PBS is that if an option is missing that you want to try you can replace them entirely you only need to find a compatible CBS/PBS, Asrock tend to leave them pretty vanilla so theres a good place to start, thats actually how I fixed the completely borked CBS/PBS the Biostar X370 GT7 had. I still don’t miss that board in the slightest.

@ket - I thought maybe they were, and also I think you misunderstood what I was asking about… I think you are showing how to hide/reveal a single setting in any given example/instance
But what I was talking about is the PBS/CBS menu themselves, when not visible AT ALL, how to make visible. Making a hidden setting visible, in a completely hidden menu wont help anything as far as I’ve ever seen, menu will still be hidden.
I suspected this may be the case when you posted some single setting reveal, I already know many ways to do that, it’s not what I was referring to all along

Nah the CBS/PBS menu itself in a lot of cases is suppressed in the corresponding files, remove the suppression of the main CBS/PBS menu item in those files and it exposes it and any unsuppressed options within it. There are 2-3 different ways to do this though as some manufacturers do it differently, Asus for instance do it differently vs Asrock or GB.