[Discussion] UBU Tool related Questions/Reports/Suggestions

@Pendaws Read the text in red in your picture? DB r171 requires MCE >= v1.45.0!

Ubu doesn’t have the exe in the archive so either you use the python variant or install an updated exe!

Hello guys, help me update my BIOS modules to the latest versions. ASRock 970 Extreme4 (Solved!)

As always i advise u to read the following threads and remember this can/or not be a risk/fail operation, only ur responsibility.

[Guide] How to flash a modded AMI UEFI BIOS
[Tool Guide+News] “UEFI BIOS Updater” (UBU)

-Backup/Dump ur current bios
-Get UBU, attention to his dependencies related to Python, that needs to be installed or several errors may appear
-Download Bios 2.80 Instant Flash version
-Open in UBU, dont care about *.80, its ok as it is
-Update modules and save (1) on exit
-UBU will remove Asrock security flash protection, rename mod_xxxx.80 to the original xxxx.80

Load bios defaults, save and reboot to Asrock Instant Flash.
-Use USB with the mod bios file to update.

Good luck.

Guys, I did it . Many thanks to the developers of “UBU” and “GOPUpd”!

@plutomaniac


Yes, 18.0.1034, JasperLake from VBT

update!17.8.4.4671

EDIT by Fernando: Updated were the Intel RAID BIOS modules (not the UBU tool!).

17.8.4.4671.rar (160 KB)

Seems Realtek UEFI UNDI Driver 2.055 appear on they web page.

Anyone have any success with ASRock’s X370 boards? I tried with version 6.40 on mine but the secure flash check is failing.

@Mangix : The UBU tool cannot remove the ASRock “Security Flash Check” from ASRock AMI Aptio V BIOSes of modern mainboards like yours. If you want to flash a modded BIOS, I recommend to use the Flashrom tool and to backup the currently used BIOS region as first step. You can find the related guide within the s tart post Annex of >this< thread.

Has somebody maintained a database of available EFI & ROM modules?
I have to update the bios of a Supermicro motherboard (X01-SAT) and I am getting crazy to understand what to download where.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
                      Main Menu
[Current version in BIOS file]
1 - Disk Controller
EFI Intel RSTe for SATA - 3.8.0.1029
OROM Intel RSTe for SATA - 3.8.0.1029
2 - Video OnBoard
EFI GOP Driver HSW-BDW - 5.5.1031
RAW GOP VBT HASWELL - 189
OROM VBIOS HSW-BDW - 1039
3 - Network
EFI Intel PRO1000 UNDI - 5.5.19
OROM Intel Boot Agent GE - 1.4.10
OROM Intel Boot Agent GE - 1.4.04
4 - Other SATA Controller
OROM Asmedia 106X - 0.951
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
         MC Extractor v1.52.2 r171         
 
Intel

# CPUID Platform ID Revision Date Type Size Offset Last

1 40671 22 (1,5) 1E 2018-04-03 PRD 0x3400 0x765F10 No

2 306C3 32 (1,4,5) 25 2018-04-02 PRD 0x5C00 0x769310 No

3 306C2 32 (1,4,5) FFFF0006 2012-10-17 PRE 0x5800 0x76EF10 Yes

4 306C1 32 (1,4,5) FFFF0013 2012-06-14 PRE 0x6000 0x774710 No

5 40671 22 (1,5) 1E 2018-04-03 PRD 0x3400 0xC36C70 No

6 306C3 32 (1,4,5) 25 2018-04-02 PRD 0x5C00 0xC3A070 No

7 306C2 32 (1,4,5) FFFF0006 2012-10-17 PRE 0x5800 0xC3FC70 Yes

8 306C1 32 (1,4,5) FFFF0013 2012-06-14 PRE 0x6000 0xC45470 No

9 40671 22 (1,5) 1E 2018-04-03 PRD 0x3400 0xDF6C70 No

10 306C3 32 (1,4,5) 25 2018-04-02 PRD 0x5C00 0xDFA070 No

11 306C2 32 (1,4,5) FFFF0006 2012-10-17 PRE 0x5800 0xDFFC70 Yes

12 306C1 32 (1,4,5) FFFF0013 2012-06-14 PRE 0x6000 0xE05470 No

13 40671 22 (1,5) 1E 2018-04-03 PRD 0x3400 0xFA4030 No

14 306C3 32 (1,4,5) 25 2018-04-02 PRD 0x5C00 0xFA7430 No

15 306C2 32 (1,4,5) FFFF0006 2012-10-17 PRE 0x5800 0xFAD030 Yes

16 306C1 32 (1,4,5) FFFF0013 2012-06-14 PRE 0x6000 0xFB2830 No

17 40671 22 (1,5) 1E 2018-04-03 PRD 0x3400 0xFE4030 No

18 306C3 32 (1,4,5) 25 2018-04-02 PRD 0x5C00 0xFE7430 No

19 306C2 32 (1,4,5) FFFF0006 2012-10-17 PRE 0x5800 0xFED030 Yes

20 306C1 32 (1,4,5) FFFF0013 2012-06-14 PRE 0x6000 0xFF2830 No

These microcodes are in your BIOS file
GUID 17088572-377F-44EF-8F4E-B09FFF46A070
 


DrvVer v0.28.6 out

UBU is still delayed. I change the algorithm for replacing the GOP Driver and add support for TigerLake (RocketLake).

Dear SoniX!

Very impressed by your BIOS Updater 1.79, nice and great work!

I’d like to update ROM modules of LAN - Intel GE i210. They are two on my MoBo - ASUS P9X79-E WS. The link to BIOS is here (I use modded one, without bifuration):
Asus-P-X-E-WS-Bios-MOD
(taken from the forum)

The problem is that the batch file of UBU and the set of tools change only the 1-st one of the identical option ROMs - OROM Intel Boot Agent GE 1.3.95 -> 1.5.88. But the second one remains the same version 1.3.95. That’s why I don’t flash this ROM. What about the EFI module - EFI Intel PRO1000 UNDI 5.5.xx, it is replaced with 6.6.0.4 version correctly. And yet another module Intel Boot Agent GE 1.3.72 is replaced with Intel Boot Agent CL 0.1.16. (BTW. which module up to you is worth updating?)

Could you comment on the correctness of the result?

I succeeded in both LAN module v. 1.5.88 insertion into CSMCORE - with hands (hiew). But if we insert CSMCORE with MMTOOL (A4) into BIOS image (MMTOOL allows only to replace the image of CSMCORE inside BIOS, if I press “preserve links”), the OROM modules inside the image appear 4 times (2 old ones + 2 new ones), so this is no variant at all. And besides, MMTOOL does not distinguish modules if there are 2 (or more) modules with the same VID/DID, although it is possible to save CSMCORE as a single whole (with all the modules inside) - to check the result. Could you advice the way to do it correctly - what tool or command line is better for insertion? How would you insert CSMCORE? Reading the batch has shown that you work with parts of CSM core. Or, definitely, some non-standard usage of tools inside UBU? Could you, please, also modify the batch to update all (or 2 identical) of the LAN OROMS - in the next version?

Thank you, in advance.

Grant L. Atoyan

Link?

[OFFER] Asus P9X79-E WS (1704) Bios MOD

OROM Replace v0.3.4 BETA TEST - out.
- Replacing all OROM with the same Device ID.

Added:

@grnt667

I have already reported many times that there is no point in replacing files for LAN. They have nothing to do with the OS.

You have 3 OROM LAN.
1 - 0x1503 - excess. You can delete.
2 - 0x1533 - for both chips i210. They have the same Device ID. MMTool sees only 1 file, the second file is not available.

So, as I understand, it is sufficient to replace oromreplace tool, and it will change me both of the 2 OROMS with the same VID/DID.

I see, there are fresh utils you released within a couple of days - listed in your MEGA account. So, if I replace drvver and oromreplace in UBU working dir to the latest, will I get lucky to complete Intel LAN OROMs replacement? Or, probably, something else is needed? What changes are made in drvver?

BTW, the first module inside my CSMCORE is smaller one - with much older version 1.3.72, is also called ‘OROM Intel Boot Agent GE’ as the two other ones, it also has signature ‘UNDI’ as the two identical modules version 1.3.95. But its size is only ‘00 F8’ bytes - 248 bytes. Does it have any special meaning? UBU replaces it (automatially) with module named ‘Intel Boot Aget CL’ - version 0.1.16 of much bigger size. In general, do we need this module inside BIOS? Is there any sense to replace the ROM part having some special functions (we don’t know)?

Also Intel allows to change with special tool by flashing (BOOTUTIL runnning from DOS, Windows or EFI shell) in addition to firmware update such parameters as MAC-address, WOL on/off, etc. As we see, the firmware updation this way for MoBo does not work - BOOTUTIL is able to change the firmware only for real Intel NIC cards, not for onboard network chips. But changing defauult MAC address really works! (Where is it written then?). Should this function preserve (I mean changing MAC address) after I replace network OROM modules for my 2 onboard LAN chips?

I have yet another question - related to OROM sizes of the modules I found inside CSMCORE. Is there any byte order mix-up in sizes? My older module (version 1.3.95) has size 65536 bytes (exactly 64K) - the sequence of bytes ‘00 00 01 00’ in the header prior toe OROM module inside CSMCORE. And the newer version module (1.5.88) offered by UBU for replacement has size 0xF000 bytes - the sequence of bytes ‘0F 00 00 00’. Tell me, why the higher byte (of the lower size word) is in the lower position? Is that ok? If it is not ok, check the code, please.

Thank you, in advance.

Invalid FFS file
tried in UBU with mmtools present (4&5)
even tried to extract GUID DE3E049C-A218-4891-8658-5FC0FA84C788 body and tried to replace it with updated microcodes using "copy /b ncpucode.fbd + cpuids" method
ubu was not replacing amd fm2+ microcodes.there was no USR_mCode in amd folder,i have also tried creating fm2+ folder then copying USR_mCode and GenUSRmC in amd folder and run the bat ((yeah i was trying get creative :))
UBU successfuly replaced amd raid 7802/7803,there were no options for amd raidxpert2-fxx,EFI GOP Driver GUID 48DCABDF-CE6D-465C-B832-FD1BD169F3EA
No replacements can be applied to input file,successfuly replaced efi realtek undi and boot,efi broadcom undi and boot
HP 23-p149 SSID 2B26 BOA chipset

body.jpg



additional report,Acer VN7-792G UBU

UBU was not primary designed for working with InsydeH2O bios files as it structure is different from AMI

I am aware.thats why its a seperate entry.just added the report anyway,might provide useful info.maybe in future :slight_smile:

@onuracengiz

In some cases, MMTool is required to replace microcodes on the A MI Aptio platform.
This utility is not suitable for InsideH2O.
But UEFIREplace must cope with this task. I’ll see what can be done, but I do not guarantee 100% success that the BIOS will be working.

@grnt667

It is enough to replace the files. If a change was required in the script, the new files are not published.

Prior to version 1.5.62, OROM GE were universal for different chips.
GE 1.5.63 + only 210/211/350 etc
CL 0.0.01 + only 82579/217/218/219 etc
The file size is not constant. New DeviceIDs are added, errors are corrected, etc.
Location in CSMCORE is also different. But always consistent.
Example:

1
2
3
4
5
6
7
8
9
 

typedef struct {
UINT8 type[2]; //Label || Type ID
UINT8 vid[2]; // Vendor ID
UINT8 did[2]; // Device ID
UINT8 size[4]; // Length OROM file
UINT8 orom[length]; // OROM file
} orom_in_csm;