everything fine but No valid OEM data, ICC not programmed

Hello!

Reading through a lot of postings I still couldn’t find out if I have a problem here.
I updated ME from v7 to v8 on my rev 1.00 HP Z820, doing the following steps:
- ME enabled, v7 FWUpdLcl to latest v7 version
- ME override, v8 fpt -ME from HP downloaded firmware (v3.96)
- ME enabled, v8 FWUpdLcl to latest v8 version
(I didn’t fpt to latest, because it has ~7MB size and the bios versions all have 5MB)

then:
- I wasn’t able to close Manufacturing Mode yet (closemnf says some bit couldn’t be set, didn’t make photo of this)
- fpt back to v3.96 bios ME, still Manufacturing Mode not closed, BUT:
- I don’t know if I even should retry it now because meinfo -FWSTS says
"No valid OEM data, ICC not programmed"

As I read somewhere, variables are only written when Manufacturing Mode is disabled, that might be a bad idea.
FIT finds one ICC profile in every ME region I applied, so why does it tell me that?
(I did not use FIT for transferring anything, only for viewing)

Apart from that everything looks fine.
oem id and oem tag are zeroes, but I think, that doesn’t matter(?)

Many thanks for help!



-----------------------------

Although all relevant config seems to be present in ME of the downloaded bios, I will read more about the FIT tool and try my luck with that. FIT also has an option regarding the Manufacturing Mode.
I hope I don’t make it worse

MVIMG_20200530_195031.jpg

@maaax - Not sure of anything here, but generally end user cannot and should not update major ME FW version (ie v7 to V8) due to many other BIOS modules also need modified at same time and only manufacturer can do all these changes.
You will have to wait on reply from Plutomaniac about the specific ME FW questions above. I assume you will need to program back in original ME v7 FW region from stock BIOS or backup

plutomaniac

Many thanks, I will wait then!

Some infos:
I exported the ME region with uefitool from the HP BIOS upgrade package. It includes, according to FIT, a “Descriptor Region” and a “ME Region”. Both have the same structure and most of the values are the same. As they are included in the 5MB image, they should now also be applied.
EDIT: I ask myself, why does FIT show a Descriptor Region in the 5MB part. These may be some default values? Then of course I haven’t applied it, as I didn’t use FIT for manipulating the image. And I only used fpt -ME, no fpt -DESC

The two v8 versions in BIOS:

IMG_20200530_182559.jpg


MVIMG_20200530_183930.jpg



meinfo output:

b1.jpg


b2.jpg


b3.jpg


-----------------------------------

I just compared my (before any changes) dumped flash and the downloaded J63_0396.bin.

Descriptor Region (not applied by my fpt run)
The only differences:
Number of PROC straps 0 → 1 in J63_0396.bin
All access is set to 0xFF in J63_0396.bin
There is now one more Flash device in the VSCC table in J63_0396.bin
and the VSCC Table Length increased from 0x06 to 0x08

ME region (applied by my fpt run):
Error Filter: All → Error
Logging Interface - Flash: false → true
in ICC Profile 0 / Processor or Platform DMICLK (DIV2-5):
- Clock Div Min: 0x0BFA → 0x0C00
- Clock Div Max: 0x0C0E → 0x0C00
in ICC Profile 0 / PCH DMICLK (DIV3):
- Clock Div Max: 0x0C0E → 0x0C00

New parameters in J63_0396.bin:
M3 Autotest Enabled (false)
Independent Firmware Recovery Enable (true)
BIOS Secure boot (false)

Parameters missing in J63_0396.bin:
in Setup and Configuration:
- MEBx password policy (was 0)
- Remote Configuration Enabled (was false)
- a lot of “Hash” parameters, they were set to false

UPDATE:
I let J63_0396.bin run through FIT, extracted ME region via uefitool and applied via fpt -ME, rebooted via fpt -GRESET.
Still Manufacturing Mode and no ICC profile.
fpt -CLOSEMNF says cpu has no access to ME region, even with ME override. Maybe I’ll have to check current access settings in Descriptor Region…

I guess you missed my first sentence??

plutomaniac will have to help you, but he may not waste time trying to sort or fix issue here, due to what I said (you can’t, and should not do this, only update to latest V7 ME FW, unless you have BIOS for this system that originally comes with V8 ME FW)


So you basically flashed the SPI chip ME region with an RGN image. Read Intel Management Engine: Drivers, Firmware & System Tools > Section B.

Do not upgrade to ME8 if the OEM has not added support for it by using newer IVB-based BIOS trees. Especially not like that. You need to revert back to a proper EXTR ME v7 firmware.

HP already added support for ME8 and started to ship firmware with ME8 as they noticed that no hardware change is necessary for ivy bridge support.
So I upgraded to latest BIOS (which supports ME7 and ME8) first.
RGN is “Intel to OEM” and all parameters are already set in the extracted ME, so shouldn’t it be EXTR?

I did not miss any sentence and shouldn’t seem disrespecting that I continued working on it!
Of course I’m no BIOS expert but I read a lot about it to get a clue what I might try :smiley:
If it doesn’t work: soic-clip is on the way :wink:

Sorry for bothering you and many thanks for your assistance!
I really don’t want to waste your time, so we can stop here.

@maaax - sorry, I didn’t mean to offend if I did, and didn’t think you were disrespecting me either, I only meant to make you look again at what I said in case you missed it (Some people get in hurry, don’t read, don’t care etc, so I was trying to guide you along to read back over what I mentioned )
If HP is shipping BIOS with ME 8 FW for this model, then properly flash to that BIOS using standard HP update method, this would update ME FW and BIOS at same time, properly.
You said they “added support for ME8” that’s not a thing, they either send out BIOS with ME 8 FW or not, if BIOS does not contain ME8 FW then it doesn’t support ME 8 FW
If they are shipping this model with ME 8 FW BIOS, but are not offering that BIOS on site to download, you will need to find a copy, it’s not going to be the one on-site with ME 7 FW in it.

And no, RGN meant clean/bare/stock, no direct settings for your specific model are there, you must transfer them using the guide from your original FW
[Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization


I understand


Well, there is the problem: it doesn’t!
HP recognized that only boot block update (and ME8) is necessary for ivy bridge support, but the boot block isn’t easily updated as it is a read-only region even on bios updates.
So they decided to support all variants (old/new boot block, ME7/8), but already shipped mainboards cannot be upgraded via bios.
People already having ME8 on board then manually upgraded boot block with success.
I upgraded to latest bios (where the image from HP contains new boot block and ME8 already) via bios but (old) boot block and ME(7) stay the same.
People already having ME8 also don’t get ME updated (ME override jumper must be set and update done in DOS/EFI/…).

There is only a single firmware to download for all z820 revisions.
Of course there might be something not working at all because I have a too old mainboard revision, but that’s the thing I want to try out


After all the reading I couldn’t exactly find out what is meant by “transferring” except something like “there must be all the parameters from my ME region present in the downloaded image” and if not, copy them.
But all visible parameters in FIT already are present in the HP FW and they are (almost) identical.

The latest HP BIOS (sp100751) already includes a full SPI/BIOS image with ME8. If you have already updated to the latest BIOS via the official way (check the version) and you have an unlocked Flash Descriptor (were able to run fpt -f before), then you can re-flash the EXTR ME region from the full SPI/BIOS image. Download the attachment, run Flash Programming Tool via "fptw -me -f sp100751_J63_0396_ME.bin" followed by "fptw -greset". A forced reboot will occur and afterwards, you should have a proper ME 8 firmware. Check via MEInfo -verbose.

sp100751_J63_0396.rar (5.96 MB)

Transferring ME FW settings is done via following the guide as it’s written, but yeah, not sure about V7 to V8, you may have to set things one by one manually since you can’t work with V7 FW in V8 tools or V8 FW is V7 tools…
Or do above, Plutomaniac beat me to it, I hadn’t even checked stock FW since you said it only contained ME 7

Yes, if you have unlocked FD already via jumper or pinmod then do as noted above, this will update bootblock too, it’s all in the BIOS.

Thank you!

@plutomaniac
BIOS is on 3.96 already.
I already tried that extracted version (same md5sum) and also tried the extracted version after FIT of the whole HP FW.
Still Manufaturing Mode (although FIT should set the close-bit (?)) and the "no valid OEM data". (everything else seems fine :smiley: )

@Lost_N_BIOS
FD and ME are open via jumper but on early revision mainboards there is no jumper for boot block so a pinmod will be necessary.

The Firmware tools for ME 8 are availale here, a hardware programmer isn’t the problem, and there are reports of people who did solve the issue (link). Why not building a clean ME (following this thread), creating a new bios image with ME8, copy the new Bootblock into the image and flash the whole thing back? It seems there’s no way updating the boot block by software, anyway?

Do you have a backup of your old ME7 and ‘updated’ ME8 bios?

@lfb6 I’m aware of the HP threads, but I couldn’t find anyone doing ME7->ME8 only.
With updated BIOS, I’d like to do ME upgrade first and have it in a clean state with old boot block.
Next would be boot block via pinmod. Unfortunately my mainboard revision doesn’t have the E14 jumper yet.

Steady hand, tweezers, and electric tape and then you are the jumper If you can’t solder I mean
Provided the pads are there for the pins I mean, of course. Tape on end of tweezers for you, and tape off areas on the board in case you slip, then all OK
That, or do the E.1 pinmod from the unlock guide thread here [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing

The pins of the Realtek chip are visible. Steady hand, well… no :smiley: but it will work! Somehow…

good point! :slight_smile:

As everything but boot block is writable, I’d prefer a clean ME update before as I read that a new boot block already requires ME8.
So I wouldn’t want to have a non-working ME8 with new boot block.

In thread
HP Z820 Unable to detect ME Firmware & Management Mode in Bios
@Capablanca had the same “no valid…” message appearing, seems it wasn’t fixed finally.

I’m confused, did you actually run “fptw -me -f sp100751_J63_0396_ME.bin” followed by “fptw -greset”? You need to do both. If you did and the problem persists, you need to re-flash the BIOS too as I suspect there might be old NVRAM or similar in place from the upgrade causing the ICC issue. In that case, you can run “fptw -f sp100751_J63_0396.bin” followed by “fptw -greset” to re-flash the entire 16MB SPI/BIOS image.

I did, in order:
- fwupdlcl to latest 7 (no greset)
- fpt to HP FW 8 (no greset) (this is the one you sent me too)
- fwupdlcl to latest 8 (no greset)
- fpt back to HP FW 8 (no greset)
- fpt to FIT extracted HP FW ( WITH greset)

So, yes practically there was "fptw -me -f sp100751_J63_0396_ME.bin" twice, but without greset.

I did Reset to Defaults in bios after the flashes.
Maybe I should have used greset more often :smiley:

Thank you, I will further investigate and try to reflash bios, maybe clear cmos via jumper,…
(I wanted to avoid the full flash because of the need of transferring MAC etc.)

I wonder what MEManuf* -verbose would tell you?

Otherwise the ME 8 package contains a Clock Commander Tool- all ‘get’ commands seem to be safe. I can’t explain the output, but maybe there’s an error message?

I understand that the ‘No valid OEM data, ICC not programmed’ is worrying you, but manufacturing mode shouldn’t. My System is running in this mode all the time and that leaves me the possibility to flash ME since closing manufacturing mode would mean changes in flash region access. Probably not your problem since you have a jumper, but as far as I know also the only thing ending manufacturing mode does: Settting access rules to the ME-region…

By the way: Did you try meinfo with jumper on or off?

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


FW Status Register1: 0x1E000255
FW Status Register2: 0x68002306

CurrentState: Normal
ManufacturingMode: Enabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
Phase: HOSTCOMM Module
ICC: Valid OEM data, ICC programmed
ME File System Corrupted: No

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
Feature enablement is 0x1930194C

Request Intel(R) ME test result command…done

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
MFS is not corrupted
PCH SKU Emulation is correct

Request Intel(R) ME test result command…done
vsccommn.bin was created on 17:22:47 08/18/2014 GMT
SPI Flash ID #1 ME VSCC value is 0x2045
SPI Flash ID #1 (ID: 0xC22018) ME VSCC value checked
SPI Flash ID #1 BIOS VSCC value is 0x2045
SPI Flash ID #1 (ID: 0xC22018) BIOS VSCC value checked
No Intel vPro Wireless device was found

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

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

Policy Kernel - Power Package: Live Heap Test - Passed

MicroKernel - Internal Hardware Tests: Internal Hardware Tests - 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 - Embedded Controller: Power source type - Passed
Policy Kernel - ME Password: Validate MEBx password - Passed
Policy Kernel - Boot Guard: Self Test - Passed
Policy Kernel - Boot Guard: AcmActiveTimeout Test - Passed
Policy Kernel - SMBus: Read byte - Passed

Common Services - Privacy Level: Valid Privacy Level settings - Passed
Common Services - EHBC State: Valid Embedded Host Based Configuration (EHBC) state - Passed
Common Services - General: Vlan not enabled on mobile - Passed
Common Services - Provisioning: Both PID and PPS are set - Passed
Common Services - Provisioning: MEBX password set when PID and PPS set - Passed
Common Services - EHBC State: EHBC and Privacy Level states compatibility - Passed

AMT - Power: M3 power rail supported - Passed

Clear Intel(R) ME test data command…done

MEManuf Test Passed
Intel ME System Tools v8 r3\Flash Programming Tool\Windows64>fptw64.exe -exp
Below are examples of common command-line input:

fpt.exe -closemnf NO PDR
This usage should be performed at close of manufacturing. It will set
End of Manufacturing and also sets SPI flash region access to Intel
recommended values. The “NO” addition will prevent the system from
doing a global reset following a successful update of the ME
Manufacturing Mode Done, the Region Access permissions, or both.
The “PDR” addition will allow CPU\BIOS Read & Write access to the
PDR region of flash.

fpt.exe -lock PDR
This usage will set SPI flash region access to Intel recommended
values. The “PDR” addition will allow CPU\BIOS Read & Write
- Press any key to continue -
access to the PDR region of flash.

fpt.exe -greset NO
This usage should be used in order to perform a global reset.
The “NO” afterwards will disable the driving of GPIO30 for mobile SKUs.

Using -EXP followed by parameters (without - or / prefix) will display
all supported command-line sequences with the parameters given.

Intel (R) Flash Programming Tool. Version: 8.1.60.1561
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.

@lfb6 I wouldn’t mind manufacturing mode or disabled ME.
At least in freedos everything seems fine, I don’t know yet if something is wrong in some real OS.
All the ME-tools are working only without ME override.
I will try cct asap, thx! (When I have reassembled the PC)

I was going to try pinmod in the meanwhile. It didn’t work yet and it seems easier to flash the chip via SPI.
After trying the pinmod on this tiny realtek the 16-SOP package of the flash appears really huge to me

For anyone interested and for the search engines, here some pictures of the HP Z820 rev 1.00 mainboard:

MVIMG_20200605_235215.jpg


MVIMG_20200605_235137.jpg


MVIMG_20200605_235121.jpg


IMG_20200605_235035.jpg


IMG_20200605_234937.jpg

@lfb6
memanuf says "MEManuf Test Passed"
cct returns “ConnectClient() failed with status: 8205” with all read commands.
Doesn’t seem to be a common error, I didn’t find anything in internet