Sandy/Ivy Bridge microcode update for Samsung notebook

Maybe someone else is interested- I managed to update the CPU Microcode on my old Samsung NP300E5A (HM65- SandyBridge) Laptop

I tried this once and it worked! I’m not sure if this is reproducible or will work on other Samsung models and I don’t take any responsibility for bricked notebooks!!!

1) Download the Samsung bios here, start the update file as administrator, don’t close the error message.
2) Search the folder …<adminuser>\AppData\Local\Temp__Samsung_Update
3) Copy all files to another directory- close the error message (the files in \AppData\Local\Temp__Samsung_Update will be deleted)
4) Download Phoenix UEFI Winflash 1.5.66 (found it here- possibly the older winflash version that comes with the Samsung bios files would work as well, I just didn’t try!)
5) Unpack it into a folder of your choice
6) Download the microcodes (found them here)
7) Copy the microcode file you want (in my case cpu206A7_plat12_ver0000002D_2018-02-07_PRD_1BDB79EA.bin) into the same directory you copied Phoenix UEFI Winflash
8) Rename the microcode to a shorter name (here 2d.bin)
9) Copy the Samsung bios file (here 09QA.rom) from the folder you saved the Samsung files to the folder with Phoenix UEFI Winflash
10) Open an elevated command prompt in this folder and execute 'winflash /sa /vcpu:2d.bin 09QA.rom’

Winflash patches the new microcode into your rom (not into the bios- file but directly into the rom).


I ran into a possibly quite classic problem for Samsung laptops of one of the first UEFI generations- I wasn’t any longer able to access the bios setup after a reboot.
11) Open an elevated prompt in the directory you copied the Samsung files
12) Execute ‘sflash64 /cvar /patch’ (se for example here)
13) Open bios setup and set the values again

There are other descriptions of this fault where the notebook no longer boots/ no longer finds the hdd/ seems completely bricked- I was lucky!

That there might be a problem seems possible when one looks into the backup files the flashing tool writes- Instead of 4 EVSA store areas there are only 3. 1. and 4. area are identical, 2. area is completely different, 3. area is missing, rest is identical.

Thanks a lot to the forum and all the persons building tools and collecting files and knowledge!

Clipboard01.jpg


proof.jpg


2d.jpg

mce.jpg


It is certainly possible to modify the bios file with Andy Ps Phoenix Tool- I tried version 2.73
Open the bios in phoenixtool
Select 'other' as manufacturer
Export your ACPI- table in rw-everything, save it and select the saved file in PhoenixTool as 'RW file'
Open 'Advanced' and check at least 'No Slic', 'Allow user modification of modules', I checked 'Allow user to modify other modules' and 'Ask prior to each modification', too.
Click Go, after a while a windows opens saying 'you can now make manual alterations to the dump module'.
Don't click OK!
All modules are extracted to a dump- folder, in my case 'padding_1952.rom' was the file with the microcodes.
Opened the file with a hex editor, changed the microcode, deleted due to larger 2D- microcode some FF bytes so that the file had the same size
Copied the modified file into the dump- folder, clicked OK
PhoenixTool begins to repack the bios, recognizes the changed file and aks if to integrate
The result file locked fine- but there were no other changes to the bios file but just the microcode bytes and I wasn't sure if there shouldn't be something like a _FIT_ hidden where the microcodes should be listed? That was the reason I chose the first variant. When looking at the bios-backup after inserting the microcode I wasn't able to see other changes but the missing or changed EVSA stores, so I assume there is no other place in the bios the microcode change should be documented.

And how is notebook performance after microcode update? Other threads on this forum are actually warning against updating Sandy’s microcode with Spectre fix.

This is a bread and butter HM65 notebook bought over 6 years ago. It never was a faster machine anyway and I didn’t recognize a (subjective) difference in performance after the microcode update.
Changed CPU from i3-2330M to i5-2450M, expanded memory and changed harddisk to SSD some time ago and that were the modifications that made this laptop still acceptable for standard use (office/internet).

Samsung NP400B4B, Sandy Bridge HM65 chipset. This one uses an AMI Bios, so the procedure is a little different. As mentioned- no warranty!

- Check the BIOS version of the laptop- this one had 07VC.
- Take the last letters (here VC) and put it in this link as platform ID

- You get a XML file with a ‘FilePathName’
<Content><ID>762</ID><Version>07VC</Version><Importance>0</Importance><MsgType>0</MsgType><AutoInstall>0</AutoInstall><ExclusiveInstall>0</ExclusiveInstall><FilePathName>ITEM_20130319_762_WIN_07VC.exe</FilePathName><FileSize>3371430</FileSize><Downloaded>0</Downloaded></Content>
- Put this name at the end of this link
- Download the file (It can be opened with 7zip and you can extract the bios, the rest of the file is not readable for 7zip)
- Run the downloaded exe-file with an administrative account on your notebook. You’ll probably get an error message that you’re already on latest version.
- Edit the security permissions of the folder c:\users’administrative user’\appdata\local\temp__samsung_update
- Copy the inherited permissions so that you can edit the permissions of just this folder
- Go to advanced and take away the right to delete files/ subfolders for the administrative account used and administrators
- Run the downloaded exe-file with an administrative account again. This time you will find some files in the __Samsung_update folder
04.08.2018 13:24 <DIR> .
04.08.2018 13:24 <DIR> …
18.07.2018 15:07 2.621.440 07VC.rom
18.07.2018 15:07 1.434.828 07VC.rom.gz
18.07.2018 15:07 10.456 AddMem.sys
18.07.2018 15:07 6.200 AddMem.sys.gz
18.07.2018 15:07 393.360 AFUWIN.exe
18.07.2018 15:07 132.442 AFUWIN.exe.gz
18.07.2018 15:07 465.040 afuwinx64.exe
18.07.2018 15:07 165.705 afuwinx64.exe.gz
18.07.2018 15:07 8.247 amifldrv.vxd
18.07.2018 15:07 2.220 amifldrv.vxd.gz
18.07.2018 15:07 5.632 amifldrv32.sys
18.07.2018 15:07 2.775 amifldrv32.sys.gz
18.07.2018 15:07 15.400 amifldrv64.sys
18.07.2018 15:07 8.147 amifldrv64.sys.gz
18.07.2018 15:07 72.784 ConResChs.dll
18.07.2018 15:07 22.176 ConResChs.dll.gz
18.07.2018 15:07 72.784 ConResChs_ami.dll
18.07.2018 15:07 22.640 ConResChs_ami.dll.gz
18.07.2018 15:07 72.784 ConResCht.dll
18.07.2018 15:07 22.147 ConResCht.dll.gz
18.07.2018 15:07 72.784 ConResCht_ami.dll
18.07.2018 15:07 22.614 ConResCht_ami.dll.gz
18.07.2018 15:07 76.880 ConResEn.dll
18.07.2018 15:07 22.501 ConResEn.dll.gz
18.07.2018 15:07 76.880 ConResEn_ami.dll
18.07.2018 15:07 22.911 ConResEn_ami.dll.gz
18.07.2018 15:07 76.880 ConResFr.dll
18.07.2018 15:07 22.605 ConResFr.dll.gz
18.07.2018 15:07 76.880 ConResFr_ami.dll
18.07.2018 15:07 23.073 ConResFr_ami.dll.gz
18.07.2018 15:07 76.880 ConResGr.dll
18.07.2018 15:07 22.604 ConResGr.dll.gz
18.07.2018 15:07 76.880 ConResGr_ami.dll
18.07.2018 15:07 23.068 ConResGr_ami.dll.gz
18.07.2018 15:07 72.784 ConResKr.dll
18.07.2018 15:07 22.405 ConResKr.dll.gz
18.07.2018 15:07 72.784 ConResKr_ami.dll
18.07.2018 15:07 22.864 ConResKr_ami.dll.gz
18.07.2018 15:07 76.880 ConResPo.dll
18.07.2018 15:07 22.610 ConResPo.dll.gz
18.07.2018 15:07 76.880 ConResPo_ami.dll
18.07.2018 15:07 23.076 ConResPo_ami.dll.gz
18.07.2018 15:07 76.880 ConResRu.dll
18.07.2018 15:07 22.685 ConResRu.dll.gz
18.07.2018 15:07 76.880 ConResRu_ami.dll
18.07.2018 15:07 23.144 ConResRu_ami.dll.gz
18.07.2018 15:07 76.880 ConResSp.dll
18.07.2018 15:07 22.569 ConResSp.dll.gz
18.07.2018 15:07 76.880 ConResSp_ami.dll
18.07.2018 15:07 23.034 ConResSp_ami.dll.gz
18.07.2018 15:07 9.189 DebugLog.txt
18.07.2018 15:07 995.383 mfc42.dll
18.07.2018 15:07 466.775 mfc42.dll.gz
18.07.2018 15:07 401.462 msvcp60.dll
18.07.2018 15:07 116.150 msvcp60.dll.gz
18.07.2018 15:07 266.293 msvcrt.dll
18.07.2018 15:07 131.842 msvcrt.dll.gz
18.07.2018 14:58 2.490 PHLASH.LOG
18.07.2018 15:07 204.800 PhlashLc_32.dll
18.07.2018 15:07 20.822 PhlashLc_32.dll.gz
18.07.2018 15:07 200.704 PhlashLc_64.dll
18.07.2018 15:07 22.594 PhlashLc_64.dll.gz
18.07.2018 15:07 40.696 PhlashNT_32.sys
18.07.2018 15:07 19.901 PhlashNT_32.sys.gz
18.07.2018 15:07 61.496 PhlashNT_64.sys
18.07.2018 15:07 25.321 PhlashNT_64.sys.gz
18.07.2018 15:07 397 PHLASH_32.INI
18.07.2018 15:07 251 PHLASH_32.INI.gz
18.07.2018 15:07 355 PHLASH_64.INI
18.07.2018 15:07 248 PHLASH_64.INI.gz
18.07.2018 15:07 323.584 SWinFlash_32.exe
18.07.2018 15:07 84.587 SWinFlash_32.exe.gz
18.07.2018 15:07 307.200 SWinFlash_64.exe
18.07.2018 15:07 79.303 SWinFlash_64.exe.gz
18.07.2018 15:07 130.128 WinUpV01_10.exe
18.07.2018 15:07 51.997 WinUpV01_10.exe.gz
- Edit the bios- file (here 07VC.rom) with UBU, update the microcode
- Copy the new file into the __Samsung_update folder
- Run afuwin ‘new file’- that should flash your bios.
(I tried a non-Samsung Afuwin version and the afuwin64.exe from Samsung- the both gave an error when verifying the result)
/ *************** as sin Microcode utility V2.2 ***************
CPUID=000206A7
Board:SAMSUNG ELECTRONICS CO., LTD. 400B4B/400B5B/200B4B/200B5B Vers.:07VC
BIOS:American Megatrends Inc. 07VC.M029.20120918.LDG 09/18/2012 V6.4
This Processor CPUID: 000206A7
Intel(R) Core™ i3-2350M CPU @ 2.30GHz Base=2294 MHz
Microcode Revision, BIOS: 002E => Windows: 002E, Status:2

Tried microcode update on notebook with HM75 chipset, Samsung series NP300- Phoenix bios (mainboard BA92-11488, bios P09RAP).

I downloaded and extracted the bios- file as described, but the update via Phoenix flash tool doesn’t work as this bios is a newer generation and has a protection against flashing same version or older bios. It might be possible to update to the latest microcode first if you don’t have already the latest bios installed, couldn’t try. It’s possible to switch off this protection but unfortunately Samsung hasn’t made this option accessible, would be something like “Secure Rollback Prevention” in the security- tab.

sflash64.exe -sa -sd -ips -vcpu 206A7 -file P09RAP.cap

Samsung-Phoenix SCT Flash for Windows V1.3.25.13-1.1, Build 120820
Copyright (c) 2011-2012 Phoenix Technologies Ltd.

SecureFlash BIOS detected.
Read BIOS image from file.
Initialize Flash module.
Read current BIOS.

WARNING:
Rollback flash is disabled in BIOS, build date time check was not skipped.

ERROR 182 - BIOS image is equal or older than ROM!
Intel (R) Flash Programming Tool (8.1.60.1561) does help but as expected the ME region is protected, a complete bios flash would require disassembling the notebook and working with an external programmer (which is accessible). I checked the other options described in Plutomaniacs very elaborate manual (a really big thanks!!), but they would require disassembling the bios and checking for the variables or extensive search for Phoenix tools or trying to understand the Samsung update process which probably has access (the bios update is about 6 MB, the backup of the bios region made by fptw64 is just 3 MB- see starting addresses)
Intel (R) Flash Programming Tool. Version: 8.1.60.1561
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.

Platform: Intel(R) HM75 Express Chipset
Reading HSFSTS register… Flash Descriptor: Valid

— Flash Devices Found —
GD25Q64 ID:0xC84017 Size: 8192KB (65536Kb)

— Flash Image Information –
Signature: VALID
Number of Flash Components: 1
Component 1 - 8192KB (65536Kb)
Regions:
Descriptor - Base: 0x000000, Limit: 0x000FFF
BIOS - Base: 0x500000, Limit: 0x7FFFFF
ME - Base: 0x001000, Limit: 0x4FFFFF
GbE - Not present
PDR - Not present
Master Region Access:
CPU/BIOS - ID: 0x0000, Read: 0x0B, Write: 0x0A
ME - ID: 0x0000, Read: 0x0D, Write: 0x0C
GbE - ID: 0x0118, Read: 0x08, Write: 0x08

Total Accessable SPI Memory: 8192KB, Total Installed SPI Memory : 8192KB

FPT Operation Passed
Anyway- went for quick and dirty: Checked the update made with ftpw64 for Microcodes and they were included. Ftpw allows to dump and flash regions with a start- address and a certain length. Found start- address and length of the microcode block in HxD, added the size of descriptor and me- region to the mc- start address in the bios backup, dumped this block with ftpw64 to be sure to have understood the syntax right, created a file with the 2 wanted microcode files (206A7 and 306A9), filled up with ‘FF’ to same size and flashed it.

backup: fptw64.exe -d mcbackup.rom -A 0x6f0048 -L 0xF800
fptw64.exe -f new.rom -A 0x6f0048 -L 0xF800
The adresses are the examples from my individual board!! And Sorry- didn’t copy the output.
As far as I have looked at (and understood?) these Samsung bios the microcode area doesn’t have any reference in the bios despite the start address. One should possibly get an invalid checksum for this block but as there aren’t any other higher level flashing tools involved I was not sure if and how this could matter?

At least for the Sandy Bridge i3-2330m i worked out, machine starts and uses the new microcode. Ivy Bridge CPU not at hand for the moment.
/ *************** as sin Microcode utility V2.2 ***************
CPUID=000206A7
Board:SAMSUNG ELECTRONICS CO., LTD. NP300E5C-A07US Vers.:FAB1
BIOS:Phoenix Technologies Ltd. P09RAP 11/01/2013 V1.0
This Processor CPUID: 000206A7
Intel(R) Core™ i3-2330M CPU @ 2.20GHz Base=2195 MHz
Microcode Revision, BIOS: 002E => Windows: 002E, Status:2

regedit.jpg


The checksum in the bios dump has by the way the same error in the backup before and after the flash?

checksum.jpg

I searched some days for more information/ Phoenix tools but didn't find too much- just small pieces which were distributed quite well... If someone has a more elegant way to update the microcodes than this 'crowbar access' I'd be absolutely happy to hear about it!(!!) Thanks in advance!

@lfb6 - upload that package that includes the phoenix flash tool and it’s dll’s/ini/etc (all included) files and I can take a look for you, it may be possible to disable the same version check

FPT may also be able to write entire BIOS region via -bios switch (example, using BIOS region only >> FPTw.exe -bios -f biosregion.bin)
To do that, dump BIOS region via FPTw.exe -bios -d biosregion.bin and modify that, then flash back using the above command. Microcodes are usually in the BIOS region.

@Lost_N_BIOS Thanks for your offer!

Yes fptw64 can read and write what i calls the bios region. That bios region would be the last 3MB (see backup file) in an 8MB chip with an 1.5MB Intel ME 8 which occupies the first 5 MB of the chip (exept for the descriptor region) and is called ME- region by fptw??? The original bios update on the other hand is 6MB. It holds also some elements needed for flashing but I think that’s not enough to completely explain the difference in size.

Bios files
ITEM_20131112_21253_WIN_P09RAP.exe - Samsung update (latest)
RAP.zip content of item_20131112…exe
backup_old.rom backup before flash
backup_new.rom backup after flash
(Both pulled via fptw64.exe [fptw64 -bios -d backup_xxx.rom])

Intel(R) MEInfo Version: 8.1.56.1541
Copyright(C) 2005 - 2014, Intel Corporation. All rights reserved.


FW Status Register1: 0x1E000245
FW Status Register2: 0x60000106

CurrentState: Normal
ManufacturingMode: Disabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC programmed

Windows OS Version : 6.1.7601 “Service Pack 1”
OS BIOS Support : Legacy

Table Type 0 ( 0x 00 ) found, size of 24 (0x 18 ) bytes

Windows OS Version : 6.1.7601 “Service Pack 1”
OS BIOS Support : Legacy

Table Type 0 ( 0x 00 ) found, size of 24 (0x 18 ) bytes
Table Type 1 ( 0x 01 ) found, size of 27 (0x 1B ) bytes
Table Type 2 ( 0x 02 ) found, size of 15 (0x 0F ) bytes
Table Type 3 ( 0x 03 ) found, size of 22 (0x 16 ) bytes
Table Type 4 ( 0x 04 ) found, size of 42 (0x 2A ) bytes
Table Type 7 ( 0x 07 ) found, size of 19 (0x 13 ) bytes
Table Type 7 ( 0x 07 ) found, size of 19 (0x 13 ) bytes
Table Type 7 ( 0x 07 ) found, size of 19 (0x 13 ) bytes
Table Type 7 ( 0x 07 ) found, size of 19 (0x 13 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 8 ( 0x 08 ) found, size of 9 (0x 09 ) bytes
Table Type 9 ( 0x 09 ) found, size of 17 (0x 11 ) bytes
Table Type 9 ( 0x 09 ) found, size of 17 (0x 11 ) bytes
Table Type 9 ( 0x 09 ) found, size of 17 (0x 11 ) bytes
Table Type 9 ( 0x 09 ) found, size of 17 (0x 11 ) bytes
Table Type 9 ( 0x 09 ) found, size of 17 (0x 11 ) bytes
Table Type 9 ( 0x 09 ) found, size of 17 (0x 11 ) bytes
Table Type 10 ( 0x 0A ) found, size of 6 (0x 06 ) bytes
Table Type 10 ( 0x 0A ) found, size of 6 (0x 06 ) bytes
Table Type 11 ( 0x 0B ) found, size of 5 (0x 05 ) bytes
Table Type 12 ( 0x 0C ) found, size of 5 (0x 05 ) bytes
Table Type 13 ( 0x 0D ) found, size of 22 (0x 16 ) bytes
Table Type 15 ( 0x 0F ) found, size of 81 (0x 51 ) bytes
Table Type 18 ( 0x 12 ) found, size of 23 (0x 17 ) bytes
Table Type 21 ( 0x 15 ) found, size of 7 (0x 07 ) bytes
Table Type 22 ( 0x 16 ) found, size of 26 (0x 1A ) bytes
Table Type 23 ( 0x 17 ) found, size of 13 (0x 0D ) bytes
Table Type 24 ( 0x 18 ) found, size of 5 (0x 05 ) bytes
Table Type 27 ( 0x 1B ) found, size of 14 (0x 0E ) bytes
Table Type 32 ( 0x 20 ) found, size of 11 (0x 0B ) bytes
Table Type 39 ( 0x 27 ) found, size of 22 (0x 16 ) bytes
Table Type 129 ( 0x 81 ) found, size of 8 (0x 08 ) bytes
Table Type 131 ( 0x 83 ) found, size of 64 (0x 40 ) bytes
MEBx Version found is 0.0.0.0000

Get ME FWU info command…done

Get ME FWU version command…done

Get ME FWU feature state command…done

Get ME FWU platform type command…done

Get ME FWU feature capability command…done

Get ME FWU OEM Id command…done
FW Capabilities value is 0x1101C60
Feature enablement is 0x1101C60
Platform type is 0x72410321
GBE Region does not exist.
Intel(R) ME code versions:

BIOS Version: P09RAP
MEBx Version: 0.0.0.0000
Gbe Version: Unknown
VendorID: 8086
PCH Version: 4
FW Version: 8.1.70.1590
UNS Version: Not Available
LMS Version: Not Available
MEI Driver Version: 11.0.5.1189
Wireless Hardware Version: Not Available
Wireless Driver Version: Not Available

FW Capabilities: 0x01101C60

Intel(R) Anti-Theft Technology - PRESENT/ENABLED
Intel(R) Capability Licensing Service - PRESENT/ENABLED
Protect Audio Video Path - PRESENT/ENABLED
Intel(R) Dynamic Application Loader - PRESENT/ENABLED


Get iCLS permit information command…done
Command response status indicates permit not found

Get iCLS CPU allowed feature information command…done
CPU Upgrade State: Upgrade Capable
Cryptography Support: Disabled
Last ME reset reason: Power up
Local FWUpdate: Enabled

Get BIOS flash lockdown status…done
BIOS Config Lock: Enabled

Get flash master region access status…done
Host Read Access to ME: Disabled
Host Write Access to ME: Disabled
SPI Flash ID #1: C84017
SPI Flash ID VSCC #1: 20052005
SPI Flash BIOS VSCC: 20052005
Protected Range Register Base #0 0x510
Protected Range Register Limit #0 0x6EF
Protected Range Register Base #1 0x760
Protected Range Register Limit #1 0x7FF
Protected Range Register Base #2 0x0
Protected Range Register Limit #2 0x0
Protected Range Register Base #3 0x0
Protected Range Register Limit #3 0x0
Protected Range Register Base #4 0x0
Protected Range Register Limit #4 0x0
BIOS boot State: Post Boot
OEM Id: 00000000-0000-0000-0000-000000000000
Capability Licensing Service: Enabled

Get iCLS permit information command…done
Command response status indicates permit not found

Get iCLS permit information command…done
Command response status indicates permit not found

Get iCLS CPU allowed feature information command…done

Get iCLS PCH allowed feature information command…done

Get iCLS PCH allowed feature information command…done
Capability Licensing Service Status: Permit info not available

Get ME FWU OEM Tag command…done
OEM Tag: 0x00000000

Get ME FWU Platform Attribute (WLAN ucode) command…done
Localized Language: Unknown

Get ME FWU Info command…done
Independent Firmware Recovery: Enabled

Intel(R) MEManuf Version: 8.1.56.1541
Copyright(C) 2005 - 2014, Intel Corporation. All rights reserved.


FW Status Register1: 0x1E000245
FW Status Register2: 0x60000106

CurrentState: Normal
ManufacturingMode: Disabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC programmed

Get FWU info command…done

Get FWU version command…done

Get FWU feature state command…done

Get ME FWU platform type command…done

Get ME FWU feature capability command…done
Feature enablement is 0x1101C60
gFeatureAvailability value is 0x1

Request Intel(R) ME test result command…done
System is running on consumer/1.5M image, start Intel(R) ME Runtime Test

ME initialization state valid
ME operation mode valid
Current operation state valid
ME error state valid
Verifying FW Status Register1…done
OEM ICC data valid and programmed correctly

Request Intel(R) ME test result command…done
vsccommn.bin was created on 04:35:50 08/08/2012 GMT
SPI Flash ID #1 ME VSCC value is 0x2005
SPI Flash ID #1 (ID: 0xC84017) ME VSCC value checked
SPI Flash ID #1 BIOS VSCC value is 0x2005
SPI Flash ID #1 (ID: 0xC84017) BIOS VSCC value checked
FPBA value is 0x0
No Intel vPro Wireless device was found

Request Intel(R) ME Runtime BIST test command…done

Get Intel(R) ME test data command…done
Total of 12 Intel(R) ME test result retrieved

MicroKernel - Internal Hardware Tests: Internal Hardware Tests - Passed

Policy Kernel - Power Package: Package 1 supported - Passed
Policy Kernel - Power Package: Default package supported - Passed

MicroKernel - Blob Manager: Set - Passed
MicroKernel - Blob Manager: Get - Passed
MicroKernel - Blob Manager: Remove - Passed

Policy Kernel - ME Configuration: Wlan Power Well - Passed
Policy Kernel - ME Configuration: PROC_MISSING - Passed
Policy Kernel - ME Configuration: M3 Power Rails Available - Passed
Policy Kernel - ME Recovery: ME Recovery mode check - Passed
Policy Kernel - Embedded Controller: Power source type - Passed
Policy Kernel - SMBus: Read byte - Passed

Clear Intel(R) ME test data command…done
Get EPID Group ID command…done

EPID Group ID: 936

EPID GID Check passed

MEManuf Test Passed
Anyway- I flashed the Microcode segment separately (62kb) and everything works, there’s just a checksum- error for GUID FFF12B8D-7696-4C8B-A985-2747075B4F50 that exists in both the backup before and after flash (‘CF4Ch, invalid, should be 6A0Ch’). Tried to search for variables in the modules with Universal IFR Extractor, especially allowing rollback flashing, but wasn’t successful up to now. I’ll have to disassemble the notebook again and then I’ll try to dump the complete chip via SPI flasher!

Thanks in advance!

You’re welcome! Yes, ME region is -ME in FPTw and Flash Descriptor (FD) is -desc

I’d have to extract the original BIOS package to tell you what all it contains to explain sizes etc, please link and I’ll check. However, it’s irrelevant to what you’re doing here if you’re only updating microcodes, in that case all you need to do is extract the BIOS region, edit it and flash it back
You may need to unlock BIOS region write via grub if you get error 368 or similar when writing back with FPT, I can help you around that later if need be.
You can test and find out now, without modifications, by dumping BIOS region as mentioned and then flash it right back without doing anything to it, if you get no errors then all OK, if you get error then we need to unlock.

For the checkum error, if it’s in original you can ignore or correct, either should be fine. You can find this error module with UEFITool probably. I will check your files above

* Edit - From the exe, the P09RAP.cap file is the main BIOS package that gets flashed as I’m sure you know. This contains 3MB empty space, main BIOS region is GUID 6C60EE00-C316-4C95-A684-CDC7E7033311 (Minus header of 114bytes)
I see checksum at GUID 00504624-8A59-4EEB-BD0F-6B36E96128E0 (FpNvStorage) - Volume Header checksum >> BAD9h, invalid, should be B9E9h
And at GUID FFF12B8D-7696-4C8B-A985-2747075B4F50 (EfiSystemNvDataFv) - Volume Header checksum >> CF4Ch, invalid, should be 6A0Ch

Both are NVRAM areas, and the last one above matching what you mentioned is the one that contains CPU microcodes, SLIC and EVSA Store information.

So as mentioned, and as you suspected, since these are in original BIOS they are OK to ignore.

Backup_new.rom only contains two microcodes? If that is what you wanted, OK

@Lost_N_BIOS Thanks for your answer!

Right, I never checked the free space in the end of the update file- it’s indeed almost 3 MB! But that would mean there’s nothing relevant for the bios hidden in the ME- region and I should be able to find my rollback variable in the 3MB backup (if it’s named correctly)!

Yes, there are just 2 microcodes- they cover what I’m going to use on this board (i3-2330M, i5-2450M and possibly i5-3380M) I first tried to keep/ update all, but there was no room- so I chose to keep just these 2 codes.

Thanks for your effort!

ME is not contained in that BIOS download, it’s only partial BIOS like Asus does. ME FW would be from separate package from them, or possibly in other BIOS download versions, but this one does not contain ME

In the phlash.ini file you can change
ForceUpdate=0 << To 1

Or you can also try using non-OEM WinPhlash. I put 3 different ini’s in there, rename them without the number to be the one used, and you can edit as you see fit.
#3 may be best one for you to use, change forceupdate, and of course change filenames to match the ones you are currently using in the file name fields
http://s000.tinyupload.com/index.php?fil…268274645827042

If that doesn’t work, we maybe need to find same version winphlash your package includes, but non-OEM

I updated ME already to the latest version, that seems to be OK.

Thanks for the file! But WinPhlash seems a little old- is it designed for UEFI Bios? it crashes when reading the bios file. Settings were ‘backup the bios’.

— Log started: 11/24/18 22:14:05
Initializing…
Log file : E:\Phoenix WinPhlash v1.7.16.0\PHLASH.LOG
Settings file : E:\Phoenix WinPhlash v1.7.16.0\PHLASH.INI (found)
Executable : E:\Phoenix WinPhlash v1.7.16.0\WinPhlash.exe
Version : 1.7.16.0 Build : WinPhlash
Date : 11/23/2018
Resource file : E:\Phoenix WinPhlash v1.7.16.0\PHLASHLC.DLL (loaded)
Help file : E:\Phoenix WinPhlash v1.7.16.0\WINPHLASH.HLP
App name : Phoenix WinPhlash
OS Information : Windows NT 6.1.7601 Service Pack 1 - supported
isNT_AUTHORITY_SYSTEM_account: => False.
gVBL_Flag = False(0h).

[11/24/18 22:14:41]
Preparation stage

Processing parameters…
Image file : E:\Phoenix WinPhlash v1.7.16.0\P09RAP.cap
Backup file : E:\Phoenix WinPhlash v1.7.16.0\bios.bak

Loading new BIOS image file…
Opening file E:\Phoenix WinPhlash v1.7.16.0\P09RAP.cap…
Allocating 6291536 bytes…
Reading 32768 bytes from the file starting at 0…
Reading 32768 bytes from the file starting at 32768…
Reading 32768 bytes from the file starting at 65536…
Reading 32768 bytes from the file starting at 98304…
Reading 32768 bytes from the file starting at 131072…
Reading 32768 bytes from the file starting at 163840…
Reading 32768 bytes from the file starting at 196608…
Reading 32768 bytes from the file starting at 229376…
Reading 32768 bytes from the file starting at 262144…
Reading 32768 bytes from the file starting at 294912…
Reading 32768 bytes from the file starting at 327680…
Reading 32768 bytes from the file starting at 360448…
Reading 32768 bytes from the file starting at 393216…
Reading 32768 bytes from the file starting at 425984…
Reading 32768 bytes from the file starting at 458752…
Reading 32768 bytes from the file starting at 491520…
Reading 32768 bytes from the file starting at 524288…
Reading 32768 bytes from the file starting at 557056…
Reading 32768 bytes from the file starting at 589824…
Reading 32768 bytes from the file starting at 622592…
Reading 32768 bytes from the file starting at 655360…
Reading 32768 bytes from the file starting at 688128…
Reading 32768 bytes from the file starting at 720896…
Reading 32768 bytes from the file starting at 753664…
Reading 32768 bytes from the file starting at 786432…
Reading 32768 bytes from the file starting at 819200…
Reading 32768 bytes from the file starting at 851968…
Reading 32768 bytes from the file starting at 884736…
Reading 32768 bytes from the file starting at 917504…
Reading 32768 bytes from the file starting at 950272…
Reading 32768 bytes from the file starting at 983040…
Reading 32768 bytes from the file starting at 1015808…
Reading 32768 bytes from the file starting at 1048576…
Reading 32768 bytes from the file starting at 1081344…
Reading 32768 bytes from the file starting at 1114112…
Reading 32768 bytes from the file starting at 1146880…
Reading 32768 bytes from the file starting at 1179648…
Reading 32768 bytes from the file starting at 1212416…
Reading 32768 bytes from the file starting at 1245184…
Reading 32768 bytes from the file starting at 1277952…
Reading 32768 bytes from the file starting at 1310720…
Reading 32768 bytes from the file starting at 1343488…
Reading 32768 bytes from the file starting at 1376256…
Reading 32768 bytes from the file starting at 1409024…
Reading 32768 bytes from the file starting at 1441792…
Reading 32768 bytes from the file starting at 1474560…
Reading 32768 bytes from the file starting at 1507328…
Reading 32768 bytes from the file starting at 1540096…
Reading 32768 bytes from the file starting at 1572864…
Reading 32768 bytes from the file starting at 1605632…
Reading 32768 bytes from the file starting at 1638400…
Reading 32768 bytes from the file starting at 1671168…
Reading 32768 bytes from the file starting at 1703936…
Reading 32768 bytes from the file starting at 1736704…
Reading 32768 bytes from the file starting at 1769472…
Reading 32768 bytes from the file starting at 1802240…
Reading 32768 bytes from the file starting at 1835008…
Reading 32768 bytes from the file starting at 1867776…
Reading 32768 bytes from the file starting at 1900544…
Reading 32768 bytes from the file starting at 1933312…
Reading 32768 bytes from the file starting at 1966080…
Reading 32768 bytes from the file starting at 1998848…
Reading 32768 bytes from the file starting at 2031616…
Reading 32768 bytes from the file starting at 2064384…
Reading 32768 bytes from the file starting at 2097152…
Reading 32768 bytes from the file starting at 2129920…
Reading 32768 bytes from the file starting at 2162688…
Reading 32768 bytes from the file starting at 2195456…
Reading 32768 bytes from the file starting at 2228224…
Reading 32768 bytes from the file starting at 2260992…
Reading 32768 bytes from the file starting at 2293760…
Reading 32768 bytes from the file starting at 2326528…
Reading 32768 bytes from the file starting at 2359296…
Reading 32768 bytes from the file starting at 2392064…
Reading 32768 bytes from the file starting at 2424832…
Reading 32768 bytes from the file starting at 2457600…
Reading 32768 bytes from the file starting at 2490368…
Reading 32768 bytes from the file starting at 2523136…
Reading 32768 bytes from the file starting at 2555904…
Reading 32768 bytes from the file starting at 2588672…
Reading 32768 bytes from the file starting at 2621440…
Reading 32768 bytes from the file starting at 2654208…
Reading 32768 bytes from the file starting at 2686976…
Reading 32768 bytes from the file starting at 2719744…
Reading 32768 bytes from the file starting at 2752512…
Reading 32768 bytes from the file starting at 2785280…
Reading 32768 bytes from the file starting at 2818048…
Reading 32768 bytes from the file starting at 2850816…
Reading 32768 bytes from the file starting at 2883584…
Reading 32768 bytes from the file starting at 2916352…
Reading 32768 bytes from the file starting at 2949120…
Reading 32768 bytes from the file starting at 2981888…
Reading 32768 bytes from the file starting at 3014656…
Reading 32768 bytes from the file starting at 3047424…
Reading 32768 bytes from the file starting at 3080192…
Reading 32768 bytes from the file starting at 3112960…
Reading 32768 bytes from the file starting at 3145728…
Reading 32768 bytes from the file starting at 3178496…
Reading 32768 bytes from the file starting at 3211264…
Reading 32768 bytes from the file starting at 3244032…
Reading 32768 bytes from the file starting at 3276800…
Reading 32768 bytes from the file starting at 3309568…
Reading 32768 bytes from the file starting at 3342336…
Reading 32768 bytes from the file starting at 3375104…
Reading 32768 bytes from the file starting at 3407872…
Reading 32768 bytes from the file starting at 3440640…
Reading 32768 bytes from the file starting at 3473408…
Reading 32768 bytes from the file starting at 3506176…
Reading 32768 bytes from the file starting at 3538944…
Reading 32768 bytes from the file starting at 3571712…
Reading 32768 bytes from the file starting at 3604480…
Reading 32768 bytes from the file starting at 3637248…
Reading 32768 bytes from the file starting at 3670016…
Reading 32768 bytes from the file starting at 3702784…
Reading 32768 bytes from the file starting at 3735552…
Reading 32768 bytes from the file starting at 3768320…
Reading 32768 bytes from the file starting at 3801088…
Reading 32768 bytes from the file starting at 3833856…
Reading 32768 bytes from the file starting at 3866624…
Reading 32768 bytes from the file starting at 3899392…
Reading 32768 bytes from the file starting at 3932160…
Reading 32768 bytes from the file starting at 3964928…
Reading 32768 bytes from the file starting at 3997696…
Reading 32768 bytes from the file starting at 4030464…
Reading 32768 bytes from the file starting at 4063232…
Reading 32768 bytes from the file starting at 4096000…
Reading 32768 bytes from the file starting at 4128768…
Reading 32768 bytes from the file starting at 4161536…
Reading 32768 bytes from the file starting at 4194304…
Reading 32768 bytes from the file starting at 4227072…
Reading 32768 bytes from the file starting at 4259840…
Reading 32768 bytes from the file starting at 4292608…
Reading 32768 bytes from the file starting at 4325376…
Reading 32768 bytes from the file starting at 4358144…
Reading 32768 bytes from the file starting at 4390912…
Reading 32768 bytes from the file starting at 4423680…
Reading 32768 bytes from the file starting at 4456448…
Reading 32768 bytes from the file starting at 4489216…
Reading 32768 bytes from the file starting at 4521984…
Reading 32768 bytes from the file starting at 4554752…
Reading 32768 bytes from the file starting at 4587520…
Reading 32768 bytes from the file starting at 4620288…
Reading 32768 bytes from the file starting at 4653056…
Reading 32768 bytes from the file starting at 4685824…
Reading 32768 bytes from the file starting at 4718592…
Reading 32768 bytes from the file starting at 4751360…
Reading 32768 bytes from the file starting at 4784128…
Reading 32768 bytes from the file starting at 4816896…
Reading 32768 bytes from the file starting at 4849664…
Reading 32768 bytes from the file starting at 4882432…
Reading 32768 bytes from the file starting at 4915200…
Reading 32768 bytes from the file starting at 4947968…
Reading 32768 bytes from the file starting at 4980736…
Reading 32768 bytes from the file starting at 5013504…
Reading 32768 bytes from the file starting at 5046272…
Reading 32768 bytes from the file starting at 5079040…
Reading 32768 bytes from the file starting at 5111808…
Reading 32768 bytes from the file starting at 5144576…
Reading 32768 bytes from the file starting at 5177344…
Reading 32768 bytes from the file starting at 5210112…
Reading 32768 bytes from the file starting at 5242880…
Reading 32768 bytes from the file starting at 5275648…
Reading 32768 bytes from the file starting at 5308416…
Reading 32768 bytes from the file starting at 5341184…
Reading 32768 bytes from the file starting at 5373952…
Reading 32768 bytes from the file starting at 5406720…
Reading 32768 bytes from the file starting at 5439488…
Reading 32768 bytes from the file starting at 5472256…
Reading 32768 bytes from the file starting at 5505024…
Reading 32768 bytes from the file starting at 5537792…
Reading 32768 bytes from the file starting at 5570560…
Reading 32768 bytes from the file starting at 5603328…
Reading 32768 bytes from the file starting at 5636096…
Reading 32768 bytes from the file starting at 5668864…
Reading 32768 bytes from the file starting at 5701632…
Reading 32768 bytes from the file starting at 5734400…
Reading 32768 bytes from the file starting at 5767168…
Reading 32768 bytes from the file starting at 5799936…
Reading 32768 bytes from the file starting at 5832704…
Reading 32768 bytes from the file starting at 5865472…
Reading 32768 bytes from the file starting at 5898240…
Reading 32768 bytes from the file starting at 5931008…
Reading 32768 bytes from the file starting at 5963776…
Reading 32768 bytes from the file starting at 5996544…
Reading 32768 bytes from the file starting at 6029312…
Reading 32768 bytes from the file starting at 6062080…
Reading 32768 bytes from the file starting at 6094848…
Reading 32768 bytes from the file starting at 6127616…
Reading 32768 bytes from the file starting at 6160384…
Reading 32768 bytes from the file starting at 6193152…
Reading 32768 bytes from the file starting at 6225920…
Reading 32768 bytes from the file starting at 6258688…
Reading 80 bytes from the file starting at 6291456…

Looking for interface descriptors and code…
cbSearch= 8192 (0x00002000)
cbSearch= 12288 (0x00003000)
cbSearch= 16384 (0x00004000)
cbSearch= 20480 (0x00005000)
cbSearch= 24576 (0x00006000)
cbSearch= 28672 (0x00007000)
cbSearch= 32768 (0x00008000)
cbSearch= 36864 (0x00009000)
cbSearch= 40960 (0x0000A000)
cbSearch= 45056 (0x0000B000)
cbSearch= 49152 (0x0000C000)
cbSearch= 53248 (0x0000D000)
cbSearch= 57344 (0x0000E000)
cbSearch= 61440 (0x0000F000)
cbSearch= 65536 (0x00010000)
cbSearch= 69632 (0x00011000)
Failed: no Part signature found in the file

Error code : -161(0xFFFFFF5F)
Description:
Part Table Signature not found in the Interface.
Error code: -161
— Log stopped: 11/24/18 22:17:24
I think I will stop messing with the bios region for now- the newer microcode files do work (well, at least the Sandy Bridge version), Samsung will never deliver a newer Bios, I got a backup of the bios region that I could flash back with fptw. So for the moment it’s more a theoretical thing to find out how to flash the same bios version with Phoenix tools- next thing will be to get a full bios backup before I begin possibly with the bios region again.

Thanks a lot for your help!

I am not sure on winphlash, just know sometimes you have to use a non-OEM version, and that was the latest I had on hand. You may need to find older 1.4ish version non-OEM to use for your system, that is latest 1.7 something I think.

Using the stock package, edit the phlash.ini and phlash64.ini to include the following as mentioned, that may let you flash how you wanted.
ForceUpdate=0 << To 1

Just to make things complete: The microcode update on te NP300E5C works for an Ivy- Bridge processor, too

306a9.jpg

For this board with 40 pin LVDS/ camera connector the screen can be updated to 1920 x 1080 (N156HGE-L11). One needs a different LVDS- cable (ba39-01166a) and for models with thin display different mountings/frame.
The older notebook NP300E5A (HM65, i5-2450M) does accept 16 GB of memory, too. Windows 10 works fine and its memory diagnostics reports no fault (2 8 GB- modules Crucial CT102464BF160B).

NP300E5C HM75 update with microcode 21 for 306A9 same way- works fine. Seems to enable retpoline for Ivy-Bridge on Windows 10 1809

Backup old bios: fptw64.exe -bios -d bios_old.rom
Pull microcodes: fptw64.exe -d mcbackup.bin -A 0x6f0048 -L 0xF800 (addresses bios specific)
Switch 306A9 microcode in hexeditor
Flash back file with new microcode: fptw64.exe -f mcnew.bin -A 0x6f0048 -L 0xF800 (addresses bios specific)
Backup patched bios: fptw64.exe -bios -d bios_new.rom
Compare bios_old.rom with bios_new.rom- the only difference should be the new microcode
(Of course one could pull the complete bios, patch it and flash it back! But smaller files are easier to handle for me in a hex-editor )

mc_backup.jpg

mc_flash.jpg

showmv_21.jpg

retpoline.jpg

Thanks to Plutomaniac for keeping the mc- repository up to date and for all others who search for microcodes!


Found another way, no so corresponding with bios specific adresses
Need Uefitool_NE_55, Uefitool 0.26, Hex editor
First step is dump bios and open in Uefitool_NE_55 and looking for microcode section.
“Export as is” the “Padding” block from the END of “microcode” block
Available for future microcodes space will A+B


Next step, to collect microcodes for cpu on your demands, it possible to “extract as is” with Uefitool_NE_55 from bios dump or from github collection or extract from intel microcode.dat with “microdecoder.exe”. Total size of microcodes no more than A+B!!! This important!
Next, with HeX editor combine selected microcodes to one file, add previously exported “Padding” to the end. Save file as “microcodes_X.bin” for example.
And replace “microcode body” with this “microcodes_X.bin” in Uefitool 0.26

After saving, open rebuild bios file in Uefitool_NE_55 and check, that all selected microcodes presents in. Job finished.
I’m not sure that this always suitable way, but it works fine with Elitebooks 8470p and Latitudes E6420 & E6430

Thanks for your answer! Of course there are many ways to update this bios and for most of us it might feel a lot safer to flash a complete bios they could check beforehand!

I ran into another "problem;: The older NP300E5A HM65 Notebook has a switch to enable SATA GEN3 Mode on the first SATA port. The newer NP300E5C (HM75) dosn’t have that switch and the default is SATA2 (3Gb/s) I’m afraid I won’t ‘feel’ the difference, but it feels better anyway and I learned a little about EFI- shell and EFI- variables…

I read a lot about EFI variables and how to enable advanced menus in bios- but I’d have to admit: No clear understandig so far

  1. Backup the bios: fptw64 -bios -d backup.rom
  2. Find the settings store for the advanced settings- searched the backup with UEFItool NE for GEN3 and found 3 regions
    A. C3491A75-7600-460F-810B-FC703944D1BE SamsungSetupAdvancedDxe.efi
    B. 2D6F37BF-9AFC-4AA5-A026-32B2FCF30FB9 PlatformDxe.efi
    C. CFEF94C4-4167-466A-8893-8779459DFA86 PlatformHiiAdvancedDxe.efi
  3. Extracted all these regions, ran Donovans Universal IFR Extractor-0.7 over them and got
    for B) almost no forms
    for C) not SATA but PEG, but
    A) has the advanced settings!
SATA GEN3 Mode

Suppress If {0A 82}
64 Bit Unsigned Int: 0x1 {45 0A 01 00 00 00 00 00 00 00}
Gray Out If {19 82}
Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
Not {17 02}
End {29 02}
One Of: SATA GEN3 Mode, VarStoreInfo (VarOffset/VarName): 0x148, VarStore: 0x6, QuestionId: 0xD, Size: 1, Min: 0x0, Max 0xFF, Step: 0x0 {05 A6 17 00 18 00 0D 00 06 00 48 01 00 10 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
One Of Option: Disabled, Value (8 bit): 0x2 (default) {09 0E 2C 00 10 00 02 00 00 00 00 00 00 00}
One Of Option: Enabled, Value (8 bit): 0x3 {09 0E 2B 00 00 00 03 00 00 00 00 00 00 00}
End One Of {29 02}
End If {29 02}
End If {29 02}

complete output
                      UEFI Protocol Detected

                            String Packages

Offset: Language:

0x35C en-US (0x0)
0x1769 fr-FR (0x1)
0x17B4 ja-JP (0x2)
0x17F5 ko-KR (0x3)
0x18BE ru-RU (0x4)

                               Form Sets

Offset: Title:

0x190C Advanced (0x2 from string package 0x0)

                     Internal Forms Representation

Offset: Instruction:

0x1910 Form Set: Advanced [5FB10979-5AE2-4622-A98E-270956BB8D35], ClassGuid0 [93039971-8545-4B04-B45E-32EB8326040E] {0E A7 79 09 B1 5F E2 5A 22 46 A9 8E 27 09 56 BB 8D 35 02 00 2A 00 01 71 99 03 93 45 85 04 4B B4 5E 32 EB 83 26 04 0E}
0x1937 Guid: [0F0B1735-87A0-4193-B266-538C38AF48CE] {5F 15 35 17 0B 0F A0 87 93 41 B2 66 53 8C 38 AF 48 CE 03 01 00}
0x194C Guid: [0F0B1735-87A0-4193-B266-538C38AF48CE] {5F 15 35 17 0B 0F A0 87 93 41 B2 66 53 8C 38 AF 48 CE 04 00 00}
0x1961 Default Store: en-US, DefaultId: 0x0 {5C 06 00 00 00 00}
0x1967 Default Store: en-US, DefaultId: 0x1 {5C 06 00 00 01 00}
0x196D VarStore: VarStoreId: 0x1 [5FB10979-5AE2-4622-A98E-270956BB8D35], Size: 0x5, Name: ADVANCED_INFO {24 24 79 09 B1 5F E2 5A 22 46 A9 8E 27 09 56 BB 8D 35 01 00 05 00 41 44 56 41 4E 43 45 44 5F 49 4E 46 4F 00}
0x1991 VarStore: VarStoreId: 0x2 [E6A849B2-36EC-4C2F-9B84-CD89907EECB1], Size: 0xA0, Name: SamsungSetup {24 23 B2 49 A8 E6 EC 36 2F 4C 9B 84 CD 89 90 7E EC B1 02 00 A0 00 53 61 6D 73 75 6E 67 53 65 74 75 70 00}
0x19B4 VarStore: VarStoreId: 0x3 [E947FCF9-DD01-4965-B808-32A7B6815657], Size: 0x46, Name: System {24 1D F9 FC 47 E9 01 DD 65 49 B8 08 32 A7 B6 81 56 57 03 00 46 00 53 79 73 74 65 6D 00}
0x19D1 VarStore: VarStoreId: 0x4 [7D4ADCE1-930D-40C7-9CD2-6D2148413DC7], Size: 0x33, Name: CpuProtocolSetupVar {24 2A E1 DC 4A 7D 0D 93 C7 40 9C D2 6D 21 48 41 3D C7 04 00 33 00 43 70 75 50 72 6F 74 6F 63 6F 6C 53 65 74 75 70 56 61 72 00}
0x19FB VarStore: VarStoreId: 0x5 [4DFBBAAB-1392-4FDE-ABB8-C41CC5AD7D5D], Size: 0x105, Name: Setup {24 1C AB BA FB 4D 92 13 DE 4F AB B8 C4 1C C5 AD 7D 5D 05 00 05 01 53 65 74 75 70 00}
0x1A17 VarStore: VarStoreId: 0x6 [04BD8413-15F9-43F3-9675-4618E03240E3], Size: 0x224, Name: PchProtocolSetupVar {24 2A 13 84 BD 04 F9 15 F3 43 96 75 46 18 E0 32 40 E3 06 00 24 02 50 63 68 50 72 6F 74 6F 63 6F 6C 53 65 74 75 70 56 61 72 00}
0x1A41 Form: Advanced, FormId: 0x1 {01 86 01 00 02 00}
0x1A47 Suppress If {0A 82}
0x1A49 True {46 02}
0x1A4B One Of: , VarStoreInfo (VarOffset/VarName): 0x2, VarStore: 0x1, QuestionId: 0x1, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 2A 00 2A 00 01 00 01 00 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1A71 One Of Option: , Value (8 bit): 0x0 {09 0E 2A 00 00 00 00 00 00 00 00 00 00 00}
0x1A7F End One Of {29 02}
0x1A81 End If {29 02}
0x1A83 Suppress If {0A 82}
0x1A85 True {46 02}
0x1A87 One Of: , VarStoreInfo (VarOffset/VarName): 0x3, VarStore: 0x1, QuestionId: 0x2, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 2A 00 2A 00 02 00 01 00 03 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1AAD One Of Option: , Value (8 bit): 0x0 {09 0E 2A 00 00 00 00 00 00 00 00 00 00 00}
0x1ABB End One Of {29 02}
0x1ABD End If {29 02}
0x1ABF Suppress If {0A 82}
0x1AC1 QuestionId: 0x1 equals value 0x0 {12 86 01 00 00 00}
0x1AC7 QuestionId: 0x2 equals value 0x0 {12 06 02 00 00 00}
0x1ACD And {15 02}
0x1ACF End {29 02}
0x1AD1 Gray Out If {19 82}
0x1AD3 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1AE5 Not {17 02}
0x1AE7 End {29 02}
0x1AE9 One Of: CPU Power Saving Mode, VarStoreInfo (VarOffset/VarName): 0x20, VarStore: 0x2, QuestionId: 0x3, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 03 00 04 00 03 00 02 00 20 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1B0F One Of Option: Disabled, Value (8 bit): 0x0 {09 0E 2C 00 00 00 00 00 00 00 00 00 00 00}
0x1B1D One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 0E 2B 00 10 00 01 00 00 00 00 00 00 00}
0x1B2B End One Of {29 02}
0x1B2D End If {29 02}
0x1B2F End If {29 02}
0x1B31 Suppress If {0A 82}
0x1B33 True {46 02}
0x1B35 One Of: , VarStoreInfo (VarOffset/VarName): 0x4, VarStore: 0x1, QuestionId: 0x4, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 2A 00 2A 00 04 00 01 00 04 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1B5B One Of Option: , Value (8 bit): 0x0 {09 0E 2A 00 00 00 00 00 00 00 00 00 00 00}
0x1B69 End One Of {29 02}
0x1B6B End If {29 02}
0x1B6D Suppress If {0A 82}
0x1B6F QuestionId: 0x4 equals value 0x0 {12 06 04 00 00 00}
0x1B75 Gray Out If {19 82}
0x1B77 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1B89 Not {17 02}
0x1B8B End {29 02}
0x1B8D One Of: Hyperthreading, VarStoreInfo (VarOffset/VarName): 0x0, VarStore: 0x4, QuestionId: 0x5, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 05 00 06 00 05 00 04 00 00 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1BB3 One Of Option: Disabled, Value (8 bit): 0x0 {09 0E 2C 00 00 00 00 00 00 00 00 00 00 00}
0x1BC1 One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 0E 2B 00 10 00 01 00 00 00 00 00 00 00}
0x1BCF End One Of {29 02}
0x1BD1 End If {29 02}
0x1BD3 End If {29 02}
0x1BD5 Gray Out If {19 82}
0x1BD7 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1BE9 Not {17 02}
0x1BEB End {29 02}
0x1BED One Of: EDB (Execute Disable Bit), VarStoreInfo (VarOffset/VarName): 0x3, VarStore: 0x4, QuestionId: 0x6, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 07 00 08 00 06 00 04 00 03 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1C13 One Of Option: Disabled, Value (8 bit): 0x0 {09 0E 2C 00 00 00 00 00 00 00 00 00 00 00}
0x1C21 One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 0E 2B 00 10 00 01 00 00 00 00 00 00 00}
0x1C2F End One Of {29 02}
0x1C31 End If {29 02}
0x1C33 Gray Out If {19 82}
0x1C35 True {46 02}
0x1C37 Text: Statement.Prompt: , TextTwo: en-US {03 08 2A 00 2A 00 00 00}
0x1C3F End If {29 02}
0x1C41 Suppress If {0A 82}
0x1C43 True {46 02}
0x1C45 One Of: , VarStoreInfo (VarOffset/VarName): 0x0, VarStore: 0x1, QuestionId: 0x7, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 2A 00 2A 00 07 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1C6B One Of Option: , Value (8 bit): 0x0 {09 0E 2A 00 00 00 00 00 00 00 00 00 00 00}
0x1C79 End One Of {29 02}
0x1C7B End If {29 02}
0x1C7D Suppress If {0A 82}
0x1C7F QuestionId: 0x7 equals value 0x1 {12 06 07 00 01 00}
0x1C85 Gray Out If {19 82}
0x1C87 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1C99 Not {17 02}
0x1C9B End {29 02}
0x1C9D One Of: Fast BIOS Mode, VarStoreInfo (VarOffset/VarName): 0x1C, VarStore: 0x3, QuestionId: 0x8, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 0F 00 10 00 08 00 03 00 1C 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1CC3 One Of Option: Disabled, Value (8 bit): 0x1 (default) {09 0E 2C 00 10 00 01 00 00 00 00 00 00 00}
0x1CD1 One Of Option: Enabled, Value (8 bit): 0x0 {09 0E 2B 00 00 00 00 00 00 00 00 00 00 00}
0x1CDF End One Of {29 02}
0x1CE1 End If {29 02}
0x1CE3 End If {29 02}
0x1CE5 Suppress If {0A 82}
0x1CE7 True {46 02}
0x1CE9 One Of: , VarStoreInfo (VarOffset/VarName): 0x0, VarStore: 0x1, QuestionId: 0x9, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 2A 00 2A 00 09 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1D0F One Of Option: , Value (8 bit): 0x0 {09 0E 2A 00 00 00 00 00 00 00 00 00 00 00}
0x1D1D End One Of {29 02}
0x1D1F End If {29 02}
0x1D21 Suppress If {0A 82}
0x1D23 QuestionId: 0x9 equals value 0x0 {12 06 09 00 00 00}
0x1D29 Gray Out If {19 82}
0x1D2B Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1D3D Not {17 02}
0x1D3F End {29 02}
0x1D41 One Of: Fast BIOS Mode, VarStoreInfo (VarOffset/VarName): 0x2A, VarStore: 0x2, QuestionId: 0xA, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 0F 00 10 00 0A 00 02 00 2A 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1D67 One Of Option: Disabled, Value (8 bit): 0x1 {09 0E 2C 00 00 00 01 00 00 00 00 00 00 00}
0x1D75 One Of Option: Enabled, Value (8 bit): 0x0 (default) {09 0E 2B 00 10 00 00 00 00 00 00 00 00 00}
0x1D83 End One Of {29 02}
0x1D85 End If {29 02}
0x1D87 End If {29 02}
0x1D89 Gray Out If {19 82}
0x1D8B Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1D9D Not {17 02}
0x1D9F End {29 02}
0x1DA1 One Of: AHCI Mode Control, VarStoreInfo (VarOffset/VarName): 0x22, VarStore: 0x2, QuestionId: 0xB, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 11 00 12 00 0B 00 02 00 22 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1DC7 One Of Option: Auto, Value (8 bit): 0x0 (default) {09 0E 13 00 10 00 00 00 00 00 00 00 00 00}
0x1DD5 One Of Option: Manual, Value (8 bit): 0x1 {09 0E 14 00 00 00 01 00 00 00 00 00 00 00}
0x1DE3 End One Of {29 02}
0x1DE5 End If {29 02}
0x1DE7 Suppress If {0A 82}
0x1DE9 QuestionId: 0xB equals value 0x0 {12 06 0B 00 00 00}
0x1DEF Gray Out If {19 82}
0x1DF1 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1E03 Not {17 02}
0x1E05 End {29 02}
0x1E07 One Of: Set AHCI Mode, VarStoreInfo (VarOffset/VarName): 0x12, VarStore: 0x5, QuestionId: 0xC, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 15 00 16 00 0C 00 05 00 12 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1E2D One Of Option: Disabled, Value (8 bit): 0x0 {09 0E 2C 00 00 00 00 00 00 00 00 00 00 00}
0x1E3B One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 0E 2B 00 10 00 01 00 00 00 00 00 00 00}
0x1E49 End One Of {29 02}
0x1E4B End If {29 02}
0x1E4D End If {29 02}
0x1E4F Suppress If {0A 82}
0x1E51 64 Bit Unsigned Int: 0x1 {45 0A 01 00 00 00 00 00 00 00}
0x1E5B Gray Out If {19 82}
0x1E5D Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1E6F Not {17 02}
0x1E71 End {29 02}
0x1E73 One Of: SATA GEN3 Mode, VarStoreInfo (VarOffset/VarName): 0x148, VarStore: 0x6, QuestionId: 0xD, Size: 1, Min: 0x0, Max 0xFF, Step: 0x0 {05 A6 17 00 18 00 0D 00 06 00 48 01 00 10 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1E99 One Of Option: Disabled, Value (8 bit): 0x2 (default) {09 0E 2C 00 10 00 02 00 00 00 00 00 00 00}
0x1EA7 One Of Option: Enabled, Value (8 bit): 0x3 {09 0E 2B 00 00 00 03 00 00 00 00 00 00 00}
0x1EB5 End One Of {29 02}
0x1EB7 End If {29 02}
0x1EB9 End If {29 02}
0x1EBB Gray Out If {19 82}
0x1EBD True {46 02}
0x1EBF Text: Statement.Prompt: , TextTwo: en-US {03 08 2A 00 2A 00 00 00}
0x1EC7 End If {29 02}
0x1EC9 Suppress If {0A 82}
0x1ECB 64 Bit Unsigned Int: 0x1 {45 0A 01 00 00 00 00 00 00 00}
0x1ED5 Gray Out If {19 82}
0x1ED7 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1EE9 Not {17 02}
0x1EEB End {29 02}
0x1EED One Of: Fan Silent Mode, VarStoreInfo (VarOffset/VarName): 0x23, VarStore: 0x2, QuestionId: 0xE, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 19 00 1A 00 0E 00 02 00 23 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1F13 One Of Option: Low, Value (8 bit): 0x0 {09 0E 1B 00 00 00 00 00 00 00 00 00 00 00}
0x1F21 One Of Option: Auto, Value (8 bit): 0x1 (default) {09 0E 1C 00 10 00 01 00 00 00 00 00 00 00}
0x1F2F End One Of {29 02}
0x1F31 End If {29 02}
0x1F33 End If {29 02}
0x1F35 Gray Out If {19 82}
0x1F37 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1F49 Not {17 02}
0x1F4B End {29 02}
0x1F4D One Of: Battery Life Cycle Extension, VarStoreInfo (VarOffset/VarName): 0x25, VarStore: 0x2, QuestionId: 0xF, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 1D 00 1E 00 0F 00 02 00 25 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1F73 One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 0E 2C 00 10 00 00 00 00 00 00 00 00 00}
0x1F81 One Of Option: Enabled, Value (8 bit): 0x1 {09 0E 2B 00 00 00 01 00 00 00 00 00 00 00}
0x1F8F End One Of {29 02}
0x1F91 End If {29 02}
0x1F93 Suppress If {0A 82}
0x1F95 64 Bit Unsigned Int: 0x0 {45 8A 00 00 00 00 00 00 00 00}
0x1F9F 64 Bit Unsigned Int: 0x0 {45 0A 00 00 00 00 00 00 00 00}
0x1FA9 Equal {2F 02}
0x1FAB End {29 02}
0x1FAD Gray Out If {19 82}
0x1FAF Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x1FC1 Not {17 02}
0x1FC3 End {29 02}
0x1FC5 One Of: USB Charge In Sleep Mode, VarStoreInfo (VarOffset/VarName): 0x24, VarStore: 0x2, QuestionId: 0x10, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 1F 00 20 00 10 00 02 00 24 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1FEB One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 0E 2C 00 10 00 00 00 00 00 00 00 00 00}
0x1FF9 One Of Option: Enabled, Value (8 bit): 0x1 {09 0E 2B 00 00 00 01 00 00 00 00 00 00 00}
0x2007 End One Of {29 02}
0x2009 End If {29 02}
0x200B End If {29 02}
0x200D Gray Out If {19 82}
0x200F Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x2021 Not {17 02}
0x2023 End {29 02}
0x2025 One Of: USB S3 Wake-up, VarStoreInfo (VarOffset/VarName): 0x26, VarStore: 0x2, QuestionId: 0x11, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 21 00 22 00 11 00 02 00 26 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x204B One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 0E 2C 00 10 00 00 00 00 00 00 00 00 00}
0x2059 One Of Option: Enabled, Value (8 bit): 0x1 {09 0E 2B 00 00 00 01 00 00 00 00 00 00 00}
0x2067 End One Of {29 02}
0x2069 End If {29 02}
0x206B Suppress If {0A 82}
0x206D True {46 02}
0x206F Gray Out If {19 82}
0x2071 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0x2083 Not {17 02}
0x2085 End {29 02}
0x2087 One Of: LID Open S3 Wake-up, VarStoreInfo (VarOffset/VarName): 0x27, VarStore: 0x2, QuestionId: 0x12, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 23 00 24 00 12 00 02 00 27 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x20AD One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 0E 2C 00 10 00 00 00 00 00 00 00 00 00}
0x20BB One Of Option: Enabled, Value (8 bit): 0x1 {09 0E 2B 00 00 00 01 00 00 00 00 00 00 00}
0x20C9 End One Of {29 02}
0x20CB End If {29 02}
0x20CD End If {29 02}
0x20CF Suppress If {0A 82}
0x20D1 True {46 02}
0x20D3 One Of: , VarStoreInfo (VarOffset/VarName): 0x0, VarStore: 0x1, QuestionId: 0x13, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 2A 00 2A 00 13 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x20F9 One Of Option: , Value (8 bit): 0x0 {09 0E 2A 00 00 00 00 00 00 00 00 00 00 00}
0x2107 End One Of {29 02}
0x2109 End If {29 02}
0x210B Suppress If {0A 82}
0x210D QuestionId: 0x13 equals value 0x0 {12 06 13 00 00 00}
0x2113 Gray Out If {19 82}
0x2115 True {46 02}
0x2117 Text: Statement.Prompt: , TextTwo: en-US {03 08 2A 00 2A 00 00 00}
0x211F End If {29 02}
0x2121 Gray Out If {19 82}
0x2123 True {46 02}
0x2125 Text: Statement.Prompt: Purchase Date, TextTwo: {03 08 27 00 2A 00 28 00}
0x212D End If {29 02}
0x212F End If {29 02}
0x2131 End Form {29 02}
0x2133 End Form Set {29 02}

Problem is- it’s not the default store, so trying to read the variable as mentioned somewhere here like “setvar adress” didn’t work. But there’s mentioned VarStor 0x6 and in the beginning of the file is a list of stores:
VarStore: VarStoreId: 0x6 [04BD8413-15F9-43F3-9675-4618E03240E3], Size: 0x224, Name: PchProtocolSetupVar…
Searching for the guid or the name in Uefitool NE doesn’t help much, lets try an Efi shell on an USB stick:
There seem to be quite a lot of shells out there- was happy with an older one (EDKII UEFI Shell 2.0, link on this page), It has 2 options- setvar and dmpstore

SETVAR command syntax

Displays or modifies a UEFI variable.

SETVAR variable-name [-guid guid][-bs][-rt][-nv] [=data]

variable-name - Specifies the name of the UEFI variable to modify or display.
-guid - Specifies the GUID of the UEFI variable to modify or display.
If not present, GUID EFI_GLOBAL_VARIABLE is assumed.
-bs - Indicates that the variable is a boot variable. Applies to a new variable;
otherwise, it is ignored.
-rt - Indicates that the variable is a runtime variable. Applies to a new variable;
otherwise, it is ignored.
-nv - Indicates that the variable is non-volatile. If not present,
then the variable is assumed to be volatile. Applies to a new variable;
otherwise, it is ignored.
=data - Specifies there is new data for the variable. If there is nothing after the ‘=’
then the variable is deleted. If ‘=’ is not present, then the
current value of the variable is dumped as hex bytes.
The data can consist of zero or more of the following:
xx[xx] - Hexadecimal bytes
^"ascii-string^" - ASCII-string with no null-terminator
L^"UCS2-string^" - UCS-2 encoded string with no
null-terminator
–device - Device path text format

NOTES:

  1. This command changes the UEFI variable specified by name and GUID.
  2. If = is specified, but data is not, the variable is deleted, if it exists.
  3. If = is not specified, then the current variable contents are displayed.
  4. If =data is specified, then the variable’s value is changed to the value
    specified by data.
  5. -bs, -rt and -nv are only useful if the variable does not exist.
  6. If the variable already exists, the attributes cannot be changed, and the flags will be ignored.
DMPSTORE command syntax

Manages all UEFI variables.

DMPSTORE [-b] [-d] [-all | ([variable] [-guid guid])] [-sfo]
DMPSTORE [-all | ([variable] [-guid guid])] [-s file]
DMPSTORE [-all | ([variable] [-guid guid])] [-l file]

-b - Displays one screen at a time.
-guid - Specifies the GUID of the variables to be displayed in
standard text format. If not specified and -all is not
specified, the EFI_GLOBAL_VARIABLE GUID is assumed.
-sfo - Displays information as described in Standard-Format Output.
-all - Dumps all variables, including those
with a different GUID than EFI_GLOBAL_VARIABLE.
-d - Delete variables.
-s - Saves variables to a file.
-l - Loads and sets variables from a file.
variable - Specifies a variable name. This can be a literal name or
a pattern as specified in the MetaiMatch() function of the
EFI_UNICODE_COLLATION2_PROCOOL.

NOTES:

  1. This command manages the UEFI variables. The variables
    displayed or deleted depend on the command line options, as specified in
    the following table:
    Variable GUID -all Description
    — — — All variables with the GUID EFI_GLOBAL_VARIABLE will
    be operated on.
    — — X All variables (regardless of GUID or name) will be
    operated on.
    — X — All variables with the specified GUID will be
    operated on.
    X — — The variable with the GUID EFI_GLOBAL_VARIABLE and
    the name Variable will be operated on.
    X X — The variable with the specified GUID and name
    Variable will be operated on.
  2. The variable value is printed as a hexadecimal dump.
  3. Option -d is used to delete variables. Option -s and -l are used to save
    and load variables to and from a file. The variable name can be specified
    when using these flags so that the operation only takes effect on
    that variable.

EXAMPLES:

  • To dump all variables with the GUID EFI_GLOBAL_VARIABLE:
    Shell> dmpstore

  • To dump all variables (regardless of GUID or name):
    Shell> dmpstore -all

  • To dump the ‘path’ variable with the GUID ‘158DEF5A-F656-419C-B027-
    7A3192C079D2’:
    Shell> dmpstore path -guid 158DEF5A-F656-419C-B027-7A3192C079D2

  • To save all variables (regardless of GUID or name) to a file ‘VarDump.txt’:
    fs0:> dmpstore -all -s VarDump.txt

  • To delete the ‘BootOrder’ variable with the GUID EFI_GLOBAL_VARIABLE:
    Shell> dmpstore -d BootOrder

setvar PchProtocolSetupVar -guid 04BD8413-15F9-43F3-9675-4618E03240E3 will deliver the 224 bytes of this store and the byte I’m looking for should be on 0x148 with a value 02 and should be changed to 03.

VarStoreId: 0x6 [04BD8413-15F9-43F3-9675-4618E03240E3], Size: 0x224, Name: PchProtocolSetupVar…
One Of: SATA GEN3 Mode, VarStoreInfo (VarOffset/VarName): 0x148, VarStore: 0x6, …
One Of Option: Disabled, Value (8 bit): 0x2 (default) …
One Of Option: Enabled, Value (8 bit): 0x3 )

Dmpstore does the same, but has the option to save this store to / load from a file. The file has a header, I didn’t try to restore the variable store this way.

Now there are several ways to just change this setting:

  • Change the byte in the store, save this store back via Dmpstore
  • Find the stores in the bios, change it there and flash the complete bios. In this bios there are two places. As the store is described in the list of all stores as non-volatile and boot- variable that sounded reasonable.
    “Variable NV+BS ‘04BD8413-15F9-43F3-9675-4618E03240E3:PchProtocolSetupVar’ DataSize = 0x224”
  • Change just the bits for the variable. That’s what I did, one needs to know the location in the bios, too.

I couldn’t find out why this entry for SATA GEN3 is not visible?! As far as I could see the conditions were not different form other entries that are visible?

Replying to post #15 - Correct way to do that, or possibly safer/easier, simply extract the body of 17088572-377F-44EF-8F4E-B09FFF46A070 (extract body), then edit as you need, then replace body.
Be sure to check your original extract at the very end, some BIOS have a line here as a “Footer” with MPDT as part of it’s text, that is not part of microcodes , if you see this put back at the end of your final edit before you replace
You can see example image of that here in my guide, right above “Fixing the FIT Table” section
[GUIDE] Update CPU Microcode + Fix FIT Using UEFITool / Hex

Both Phoenix bios I described do look different (NP300E5A 0QA and NP300E5C 0RAP). The block with the microcodes cannot be extracted separately. There are two important adresses: Start address for the first microcode and the start address for the next block (CMDB store). Both addresses may not be changed. The microcodes itself are simply stringed together, starting in this block after a header from 0x48.
In addition UEFItool dosen’t show the structure of this block, so only possibility is to extract it complete. Since this region is not compressed it doesn’t make any difference if you extract something or work with the complete bios or spibackup.

1.jpg

2.jpg

3.jpg

The start addresses for the two blocks one can find in 'Phoenix SCT flash map'.

4.jpg

5.jpg

Ohh, I see what you mean now that I dig into your BIOS again. Sorry, my previous comment I was thinking in general this BIOS was similar to most others, and I didn’t look at the microcode location in your BIOS again, I was only going by rustam2V’s images and his BIOS (not the same as yours)
What I mentioned applies to his BIOS, that layout is more normal, and nothing like your BIOS.

I was still looking for a possibility to make the options of the module PlatformHiiAdvancedDxe.efi visible. All the bios pages are in blocks ‘SamsungSetup*.efi’ and as written before Donovan6000s Universal IFR Extractor can extract the structure/ rules.

6.jpg

I was searching quite a while for a the place where all the GUIDs of the corresponding Bios menus were listed/ chosen. The solution is much easier:
I found accidentally this page [LINK] and it works: Boot into bios (F2), press CTRL + ALT + SHIFT + F4 simultaneously and you get:
On the Info page additional version information and
On the Exit page additional menus, among other items the menus from PlatformHiiAdvancedDxe.efi (CFEF94C4-4167-466A-8893-8779459DFA86), too.

WP_20190417_20_54_12_Pro.jpg

WP_20190417_20_54_22_Pro.jpg

WP_20190417_20_54_37_Pro.jpg

This works for both Samsung notebooks I own- NP300E5A (HM65) and NP300E5C (HM75).
(For the NP300E5A the module is named PlatformSetupAdvacedDxe.efi, but has same Guid)

PlatformHiiAdvancedDxe.efi.txt (441 KB)