Page 1 of 2
#1 Sandy/Ivy Bridge microcode update for Samsung notebook by lfb6 10.03.2018 22:26

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!




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.

#2 RE: Sandy Bridge microcode update for Samsung NP300E5A by mariannoga 10.05.2018 12:30

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

#3 RE: Sandy Bridge microcode update for Samsung NP300E5A by lfb6 10.05.2018 12:56

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).

#4 Sandy Bridge microcode update for Samsung NP400B4B by lfb6 04.08.2018 14:50

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

"http://sbuservice.samsungmobile.com/BUWebServiceProc.asmx/GetContents?platformID=VC&PartNumber=AAAA"
- 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
http://sbuservice.samsungmobile.com/upload/BIOSUpdateItem/
=> "http://sbuservice.samsungmobile.com/upload/BIOSUpdateItem/ITEM_20130319_762_WIN_07VC.exe"
- 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(TM) i3-2350M CPU @ 2.30GHz Base=2294 MHz
Microcode Revision, BIOS: 002E => Windows: 002E, Status:2

#5 Ivy Bridge microcode update for Samsung NP300E5C by lfb6 23.11.2018 22:23

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(TM) i3-2330M CPU @ 2.20GHz Base=2195 MHz
Microcode Revision, BIOS: 002E => Windows: 002E, Status:2

The checksum in the bios dump has by the way the same error in the backup before and after the flash?
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!

#6 RE: Ivy Bridge microcode update for Samsung NP300E5C by Lost_N_BIOS 24.11.2018 18:55

avatar

@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.

#7 RE: Ivy Bridge microcode update for Samsung NP300E5C by lfb6 24.11.2018 20:24

@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!

#8 RE: Ivy Bridge microcode update for Samsung NP300E5C by Lost_N_BIOS 24.11.2018 20:33

avatar

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

#9 RE: Ivy Bridge microcode update for Samsung NP300E5C by lfb6 24.11.2018 21:45

@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!

#10 RE: Ivy Bridge microcode update for Samsung NP300E5C by Lost_N_BIOS 24.11.2018 22:04

avatar

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

#11 RE: Ivy Bridge microcode update for Samsung NP300E5C by lfb6 25.11.2018 00:18

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!

#12 RE: Ivy Bridge microcode update for Samsung NP300E5C by Lost_N_BIOS 25.11.2018 10:39

avatar

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

#13 RE: Ivy Bridge microcode update for Samsung NP300E5C by lfb6 17.02.2019 11:26

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

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).

#14 RE: Ivy Bridge microcode update for Samsung NP300E5C by lfb6 24.03.2019 18:35

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 )
Thanks to Plutomaniac for keeping the mc- repository up to date and for all others who search for microcodes!

#15 RE: Ivy Bridge microcode update for Samsung NP300E5C by rustam2v 28.03.2019 15:32

Zitat von lfb6 im Beitrag #14
update with microcode 21 for 306A9 same way- works fine.

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

Xobor Forum Software von Xobor
Datenschutz