[Discussion] UBU Tool related Questions/Reports/Suggestions

@RoadrunnerDB

Works with mmtool_a5.exe (v5.2.0.25).

I placed both MMT 5.2.0.24 and 5.2.0.25 directly into the UBU folder. This time, the script indicated it was using MMT 5.2.0.24 (which makes sense given my carryover thread post), and the microcodes were replaced.

I’m still having the removed Padding file issue, but MC replacement did process in the UBU a15 folder with the inclusion of MMTool 5.2.0.24.

Still getting the EFI Realtek UNDI Driver - Unknown issue.

I completely forgot that AMI doesn’t want it to be distributed.

But there’s a new problem.

@SoniX

Network Realtek modules are not being swapped. The CMD stops, see the image!

@ChrisM

The unknown EFI problem is independent of MMTool. It is only responsible for replacing the files. Since that EFI part is unknown to UBU, it naturally does not offer anything instead. Even if it could replace it without problems.

@RoadrunnerDB

But the UBU works exactly as it should. Hopefully you didn’t try this with MMTool, but without.

realtek

In general: BIOS can be modified in several rounds, not just one. If something does not work, you should try it with MMTool. If it doesn’t work, try it without. It’s not complicated.

Without MMTool, it works. But that’s not really a solution, is it?

As far as I understand, it’s about the AMD platform, where there were issues replacing the microcode.

The UEFI Replacer had worked for all modules (Intel) for me so far. But starting from version 1.80a14, it no longer does…

14a UEFIReplace v0.25.0 will be used:

Details: (open/hide by a click)

                  Main Menu
        [Current version in BIOS file]

1 - Disk Controller
EFI Intel RST RAID Driver - 17.8.1.4572
EFI NVMe Driver present
2 - Video OnBoard
EFI GOP Driver SKL-AML - 9.0.1085
RAW GOP VBT SKYLAKE - 221
3 - Network
EFI Realtek UNDI Driver - 2.041
4 - Other SATA Controller
5 - CPU MicroCode
View/Extract/Search/Replace
S - AMI Setup IFR Extractor
O - Option ROM in other GUIDs
0 - Exit
RS - Re-Scanning
A - About
Choice:

14a MMTool 5.2.0.24 used:

Details: (open/hide by a click)

                  Main Menu
        [Current version in BIOS file]

1 - Disk Controller
EFI Intel RST RAID Driver - 17.8.1.4572
EFI NVMe Driver present
2 - Video OnBoard
EFI GOP Driver SKL-AML - 9.0.1085
RAW GOP VBT SKYLAKE - 221
3 - Network
EFI Realtek UNDI Driver - 2.041
4 - Other SATA Controller
5 - CPU MicroCode
View/Extract/Search/Replace
S - AMI Setup IFR Extractor
O - Option ROM in other GUIDs
0 - Exit
RS - Re-Scanning
A - About
Choice:

westlake, 14a had no EFI issue running with and without MMTool. I’m not posting choice 3, but it shows a newer (2.067) replacement option.

Edit 1: The Realtek folder under Files in 15a is identical to 14a.

Edit 2: Full 14a run with MMTool:

Details: (open/hide by a click)

Scanning BIOS file backup.bin.
Please wait…
Manufacturer - Default string
Model - Default string
BIOS release - 5.13 08/31/2023
BIOS version - 00.30
BIOS platform - AMI Aptio 5

[EFI Drivers - Find and Extract]
Intel RST GUID 8C2E10DB-280F-4D4C-9B6E-C4C2A8A4C629
Intel GOP SubGUID D8248140-88B5-4C14-9E9F-FD1CFA9D071E
AMI NVMe GUID 634E8DB5-C432-43BE-A653-9CA2922CC458
Realtek Undi GUID 4953F720-006D-41F5-990D-0AC7742ABB60
Intel GOP VBT GUID 56752DA9-DE6B-4895-8819-1945B6B76C22

[OROM - Find and Extract]
VBIOS in GUID FD41D244-F0FB-4FD0-8FD6-4276BD4323D0
OROM in GUID 7C3B8701-2C3B-49FA-A529-F31D441265B1
OROM in GUID 6357578A-52D1-4517-BE96-10391404754C
OROM in GUID 914AB3BE-A2C2-463A-B77D-F820FBBA180E

UEFIReplace v0.25.0 will be used.
MMTool Aptio v5.02.0024

Waiting for 3

Main Menu
[Current version in BIOS file]
1 - Disk Controller
EFI Intel RST RAID Driver - 17.8.1.4572
EFI NVMe Driver present
2 - Video OnBoard
EFI GOP Driver SKL-AML - 9.0.1085
RAW GOP VBT SKYLAKE - 221
3 - Network
EFI Realtek UNDI Driver - 2.041
4 - Other SATA Controller
5 - CPU MicroCode
View/Extract/Search/Replace
S - AMI Setup IFR Extractor
O - Option ROM in other GUIDs
0 - Exit
RS - Re-Scanning
A - About
Choice:5

╔═════════════════════════════════════════╗
║ MC Extractor v1.94.2 r276 ║
╚═════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════╗
║ Intel ║
╟─┬─────────┬─────┬─────────┬────────┬──────────┬─────┬───────┬─────────┬────╢
║#│ Type │CPUID│Platforms│Revision│ Date │State│ Size │ Offset │Last║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║1│Microcode│906EA│ 22 (1,5)│ F4 │2023-02-23│ PRD │0x19800│0x1D50400│Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║2│Microcode│906EB│ 02 (1) │ F4 │2023-02-23│ PRD │0x1A000│0x1D69C00│Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║3│Microcode│906EC│ 22 (1,5)│ F4 │2023-02-23│ PRD │0x19C00│0x1D83C00│Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║4│Microcode│906ED│ 22 (1,5)│ FA │2023-02-27│ PRD │0x1A000│0x1D9D800│Yes ║
╚═╧═════════╧═════╧═════════╧════════╧══════════╧═════╧═══════╧═════════╧════╝
These microcodes are in your BIOS file
GUID 17088572-377F-44EF-8F4E-B09FFF46A070

[Intel CPU MicroCode]
F - Find and Replace from MCUpdate.txt
V - View/Edit MCUpdate.txt
U - Find and Replace from USR_mCode.txt
E - View/Edit USR_mCode.txt

[MC Extractor]
X - Extract all CPU microcodes
S - Search for available microcode in DB.
0 - Exit to Main Menu
Choice:F
CPUID 906EA found.
Files\Intel\mcode\1151v2\cpu906EA_plat22_ver000000F8_2024-02-01_PRD_47291E44.bin
Checksum correct.
CPUID 906EB found.
Files\Intel\mcode\1151v2\cpu906EB_plat02_ver000000F6_2024-02-01_PRD_9F8FF344.bin
Checksum correct.
CPUID 906ED found.
Files\Intel\mcode\1151v2\cpu906ED_plat22_ver00000100_2024-02-05_PRD_78F54C97.bin
Checksum correct.
Generate FFS with Microcode

╔═════════════════════════════════════════╗
║ MC Extractor v1.94.2 r276 ║
╚═════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════════════════════╗
║ Intel ║
╟─┬─────────┬─────┬─────────┬────────┬──────────┬─────┬───────┬───────┬────╢
║#│ Type │CPUID│Platforms│Revision│ Date │State│ Size │ Offset│Last║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼───────┼────╢
║1│Microcode│906EA│ 22 (1,5)│ F8 │2024-02-01│ PRD │0x19C00│ 0x18 │Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼───────┼────╢
║2│Microcode│906EB│ 02 (1) │ F6 │2024-02-01│ PRD │0x1A000│0x19C18│Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼───────┼────╢
║3│Microcode│906ED│ 22 (1,5)│ 100 │2024-02-05│ PRD │0x1A000│0x33C18│Yes ║
╚═╧═════════╧═════╧═════════╧════════╧══════════╧═════╧═══════╧═══════╧════╝

Note: Microcode #1 is not in the database! You can help this project
by sharing it at https://win-raid.com forum. Thank you!

Note: Microcode #2 is not in the database! You can help this project
by sharing it at https://win-raid.com forum. Thank you!

Note: Microcode #3 is not in the database! You can help this project
by sharing it at https://win-raid.com forum. Thank you!
These microcodes will be entered into your BIOS file

R - Start replacement
A - Start replacement Alternative with MMTool
0 - Cancel
Choice:R
[Preparing for replacement]
BIOS file backup
[Replacement]
mCode FFS: parseIntelImage: unknown flash descriptor version 0.0
parseVolume: non-UEFI data found in volume’s free space
parseSection: section with unknown type 00h
parseSection: section with unknown type 00h
parseSection: section with unknown type 1Ah
parseFile: non-empty pad-file contents will be destroyed after volume modifications
reconstructIntelImage: discovered unexpected 0.0 descriptor version, trying to continue…
File replaced
Real Pointer
FIT Offset - FFD50100 == FFD50100

Real FIT
01 mCode Offset - FFD50298 != FFD50400
Fixed - FFD50298
mCode Size - 19C00
02 mCode Offset - FFD69E98 != FFD69C00
Fixed - FFD69E98
mCode Size - 1A000
03 mCode Offset - FFD83E98 != FFD83C00
Fixed - FFD83E98
mCode Size - 1A000
Changes FIT saved
Press any key to continue . . .

╔═════════════════════════════════════════╗
║ MC Extractor v1.94.2 r276 ║
╚═════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════╗
║ Intel ║
╟─┬─────────┬─────┬─────────┬────────┬──────────┬─────┬───────┬─────────┬────╢
║#│ Type │CPUID│Platforms│Revision│ Date │State│ Size │ Offset │Last║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║1│Microcode│906EA│ 22 (1,5)│ F8 │2024-02-01│ PRD │0x19C00│0x1D50298│Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║2│Microcode│906EB│ 02 (1) │ F6 │2024-02-01│ PRD │0x1A000│0x1D69E98│Yes ║
╟─┼─────────┼─────┼─────────┼────────┼──────────┼─────┼───────┼─────────┼────╢
║3│Microcode│906ED│ 22 (1,5)│ 100 │2024-02-05│ PRD │0x1A000│0x1D83E98│Yes ║
╚═╧═════════╧═════╧═════════╧════════╧══════════╧═════╧═══════╧═════════╧════╝

Note: Microcode #1 is not in the database! You can help this project
by sharing it at https://win-raid.com forum. Thank you!

Note: Microcode #2 is not in the database! You can help this project
by sharing it at https://win-raid.com forum. Thank you!

Note: Microcode #3 is not in the database! You can help this project
by sharing it at https://win-raid.com forum. Thank you!
These microcodes are in your BIOS file
GUID 17088572-377F-44EF-8F4E-B09FFF46A070

[Intel CPU MicroCode]
F - Find and Replace from MCUpdate.txt
V - View/Edit MCUpdate.txt
U - Find and Replace from USR_mCode.txt
E - View/Edit USR_mCode.txt

[MC Extractor]
X - Extract all CPU microcodes
S - Search for available microcode in DB.
0 - Exit to Main Menu
Choice:


Edit by Fernando: Post’s length shrinked by putting the details into “spoilers”

:lol:
The bios is new, the sizes are 32, and the problems are old - there is no free space in the volumes.

@RoadrunnerDB

If you don’t want to use MMTool to replace files then:

  1. Open UBU.cmd
  2. Find string ::efi_rebuild
  3. Changed
    if %mmtool%==1 to 0
1 Like

@SoniX Hi, any new info about adding new option rom into the bios?
Also I tested ubu a15 with “if %mmtool%==” 1 and 0, I just updated the realtek network. At 79% Gigabyte QFLASH says “INVALID BIOS IMAGE” for the new bios files:

Hi,

Starting with Z400 series motherboards, there is no way to flash directly using onboard tools. The board manufacturer’s signature is altered by the UBU modification.

Either you flash the BIOS chip using a flash module (programmer) or you use “FPTw.exe” via Intel CMS tools from version 16 onwards…

"Update your BIOS with UBU, and save it as ‘Bios.bin’.

Run the Write.bat with administrator rights."
Flash.zip (471.5 KB)

2 Likes

@RoadrunnerDB
I tried it:

Reading HSFSTS register… Flash Descriptor: Valid

--- Flash Devices Found ---
ID:0xC22019    Size: 32768KB (262144Kb)

Error 167: Protected Range Registers are currently set by BIOS, preventing flash access.
Please contact the target system BIOS vendor for an option to disable
Protected Range Registers.

FPT Operation Failed.

167: Protected Range Registers are currently set by BIOS, preventing flash access.

This is caused by the BIOS Lock variable set to 0x01 (Enabled):
Code:
BIOS Lock, VarStoreInfo (VarOffset/VarName): 0xA12

How to set the BIOS Lock variable to 0x00 (Disabled):

  1. Make sure you have following values set in BIOS:
  • Legacy Support: Disable
  • Secure Boot: Disable
  1. Take USB stick and format to FAT32
  2. Create directory structure EFI\Boot
  3. Download bootx64.zip (765.2 KB)
  4. Put BOOTX64.EFI into Boot directory
  5. Boot from this USB stick
  6. Run command: setup_var 0xA12 0x00
  7. Run command: reboot
    9.Attempt to write the modified BIOS again using FPTw.exe.

"Here, Gigabyte has shut things down. Unfortunately, BIOS modding has become a popular activity, leading to considerable damage.

On my motherboard ‘ASRock,’ this restriction is not active."

2 Likes

A post was split to a new topic: Using the UEFITool_NE_A68

Thank you very much for replying . I have tried both UBU a14 and a15, and , yes , UBU could replace Intel EFI GOT Xe driver after modifying the strip. However, both Gigabyte Z590 Aorus Elite and Asus Maximus XIII will experience boot failure after flashing the modified BIOS with EFI GOP Xe driver replaced. If the GOP Xe driver remains untouched, everything will be fine. I can confirm it because I have experimented it on both motherboards for almost 10 times. Besides, the UBU always generates 3 GOP Xe drivers as shown in the attachment of screenshot. I don’t know if repeated Xe drivers count for boot failure because the debug code of ASUS mobo indicates it is I/O related. Again , the link of the BIOS.

ASUS Maximus XIII(Z590)

Gigabyte Z590 Aorus Elite

3 GOP is bad. I’ll think about it,

I also ran into the unknown Realtek EFI. BIOS is a few days old, so it can’t be an old EFI version.

SoniX, thanks for looking at that Dell Vostro 3670 bios. The first mis-flash was a head-scratcher. I’ll have to play with a hex editor - was trying to avoid that, and it still may be a bridge too far.

This will be an issue for the Dell Inspiron 3670 also, and probably all Dell computers that have the Winbond W25Q256JV 32MB bios chip.

Users recently reporting several issues with UBU and other tools pointed on the forum, need to understand the “main” issue here…specially regarding the biggest percentage of bios AMI Core based…

There is NO RECENT “leaks” to the web of these tools, since the past Aptio IV based bios, to deal with recent Aptio V bios structures/advances, this was 10yrs ago and that’s a “Century” in this area of innovation.

Resulting this in several modifications to the users files getting bad bios mods, by using these tools…the only versions available but not suitable for modern bioses.
Many volumes/modules can be touched and the user don’t have the clue on what was moved/deleted/modified…

These shared user developed tools are always tied to the manipulation of the bios vendor main code and the task becomes much harder…(don’t want to say impossible) when such tools are part of the project and there’s no technical information “outside” for guidance and building.

With this i just want to pass the message, be patient and don’t expect “fix” for all issues, at least in a shorth time period and think on the developer user passion… on the other side, that may not have the time, the health and the age/spirit from other times…

RTK UNDI 2.039

@ThomasRhin

Alius optio:

set str_patt=00000000000000000000000000000000409A499A599A609A

If it finds more GOP, then add 00 to the beginning of the line.

1 Like

My CPU is i9-11900K and i5-11600K ,both come with built-in UHD750 iGPU. I have tried with or without adding 00 to the beginning of the strip line. This time,UBU does replace the GOP Xe driver correctly. There is no repeated or redundant replacement. My Z590 mobos did successful boot with a “beep” sound. Unfortunately, I got a blank screen after the “beep” sound and then boot procedure stopped. It seems the modified BIOS is accepted by the mobo and passes the self tests in the BIOS initialization. However, something wrong occurred to load the GOP Xe driver , which results in blank screen. I tested the GOP Xe 17.0.1085 driver in another LGA 1700 Z790 platform(i9-14900KS, UHD770 iGPU) without any modification in the UBU.cmd strip line and it works just fine. I assume the GOP Xe 17.0.1085 driver is universal to UHD750 and UHD770, but i don’t know why it works in Z790 platform but not in Z590 platform.