ASRock X79 Extreme6 ME Subsystem N/A

Hello,

I am having trouble with a X79 MB, ASRock X79Extreme6. The BIOS says that the ME Subsystem is not available.
I did fiddle around with updating the ME-FW quite some time ago and failed big time. My recovery solution back then was a CH341A-programmer and a spare BIOS chip. I did manage to bring the board back to life.
Now, I was in the mood to touch the BIOS again by using the UBU tool. Everything worked just fine. I was able to update all parts of the BIOS, like OROMs for LAN, Chipsets, USB and CPU Code. Update routine within UBU worked flawless, BIOS flash worked, rebooting the board ok → kudos to those who put the UBU together.
So, now why am I here in this section of the forum? The answer is simple - the ME is gone. I found a yellow explanation mark in the device manager right on the ME device. After some investigation I did find out that there is no ME Subsystem at all available in my BIOS. No idea whats going on. I tend to assume that this could be a leftover from my first attempt to update the FW one or two years ago. At the other hand I doubt that because I have never seen a conflict in the device manager.
Anyways, investigation and researching my issue brought me back to this section of the win-raid forum. Only problem is: it does not work.
I assume chapter D3. ME 7 - 10 & TXE 1 - 2 applies for me. If I keep reading in this section then I end up at chapter 5, 2nd sub chapter that starts with: "If you are working on FITC v8.1.40.1456 with ME 8 firmware which is configured as any "Intel (R) C600 Series Chipset" (Patsburg SKU), then you must use a ME region only … "
What does it tell me? This information given over there seems not complete. What am I doing with the screen shot provided in this chapter? I do not have a full.bin. What is it and where is the full.bin coming from?
I literally do not understand this single statement that seems to apply for X79 chipset and ME version 8.xxx
How do I proceed with this so called full.bin? Follow up is missing, at least for me.
What have I done in order to recover?
- I tried to flash last BIOS from ASRock. Flash worked, booting up worked, ME missing
- Used my CH341A programmer with spare BIOS chip, erased chip, programmed last ASRock BIOS, swapped chip on MB. Board is booting up, ME is missing
- tried to send last ASRock BIOS to the chip by using fptw64 tool. Programming went through, booting up worked, ME missing
- Extracted ME Region form latest ASRock and send it to the BIOS chip by using fptw64 tool. flash worked, reboot worked, ME missing
- fptw64 -greset never works. It always errors out by saying that the ME is messed up

Can someone enlight me with some ideas what to do? Is there a chance to get this ME back to work or is this now the time for the garbage bin?

Thanks and cheers, F.

You don’t need to follow this guide if the OEM provides a full SPI/BIOS image, like ASRock does. Download the latest BIOS from their website, use UEFITool NE to extract the ME Region and flash it via “fptw64 -me -f me.bin” followed by “fptw64 -greset”. If the problem persists, you have BIOS problems, not ME.

Thanks for answering.
I did the steps you recommended. I tried with Windows7 running by using fptw64 and with booting from USB into DOS console by using fpt. The actual programming procedure always runs, fpt -greset never works. It always says that the system needs a manual power cycle due to ME not running.
What possible BIOS problems can prevent the ME for being active/present? I mean, the board seems to work just fine beside the ME not avalaible. Anything else I can check/try?

Restore the stock BIOS region via "fptw64 -bios -f bios.bin", extracted via UEFITool NE and check. If the problem is gone, something is clearly wrong with your modified BIOS. In that case, you should look into what UBU or you manually changed. But it is not ME related.

Unfortunately no change at all. ME Subsystem remains n/a.
I did use the UBU 1.77 to update. I did not made any manual changes. But this does not apply since I replaced the BIOS chip with my spare chip. I did program the stock BIOS by using a CH341A programmer. So, whatever modification UBU did to the other BIOS chip does not apply to the one which is in use at the moment.
For my understanding: isnt the programming by using a CH341A the ultimative recovery?

Spare chip? Are they identical? If not, that’s the reason for N/A.

Yes, identically. Both chips are Winbond 25Q64FVAIG. I specifically purchased the chip for this board.

Here are some screenshots.
This is how it looks when sending the ME.bin to the board. I do have two yellow warnings.

1.jpg



This is the error I get when typing the reset command.

2.jpg



I assume this is how I do have to extract the ME Reg from the BIOS

3.jpg



and then this is the BIOS Reg

4.jpg



Here is my update with the UBU tool:
before

5.jpg


after

6.jpg



and finally the CPU codes
before

7.jpg


after

8.jpg

The ME is not related to UBU or the BIOS really. It just needs to communicate with the BIOS during the boot stages. So if the BIOS is somehow problematic, then it could cause the ME to enter Recovery Mode or similar. To view the status of the ME firmware, run Intel Management Engine: Drivers, Firmware & System Tools > MEInfo tool with parameter “-fwsts”. This will probably give a clue as to what’s wrong. Generally though, here is what I suggest:

1) Flash back the entire stock SPI/BIOS image from ASRock and check if ME is ok.
2) Mod the BIOS via UBU and flash back the modified SPI/BIOS image back.
3) UBU deals with BIOS region only so if ME becomes N/A, something went wrong there.

MEInfo returned with something interesting. It says Unsecured mode due to H/W jumper. Now I am confused. What jumper is that supposed to be? This board has, beside the CMOS CLEAR, no jumper and the CLEAR CMOS is of course in the default position. I just double checked that with users manual and whats actually going on with the jumper on the board -> jumper has to be on pins 1 and 2.

9.jpg



I already did what you recommended. I tried to flash stock BIOS by using the onboard update within the BIOS as well as have it programmed on the chip. And I did the very same with the modded BIOS.
I am running out of ideas unless there is another way to flash the BIOS image to the board that I am not aware of.
When doing the research to find help in Internet I also found what the user coderush wrote on the hardforum. Unfortunatelly not everything seems to work on my side since I am dealing with ASRock and some of the tools and bat files are looking for ASUS files.

And yes, I fully agree that UBU wont mess with the ME. I only attached the screenshots to provide a more complete picture of the situation with my board.

Yeap, as I expected. This message is either because you have set a motherboard jumper to override the Flash Descriptor (useful for firmware repair) or because the BIOS is not sending something properly to ME during the boot stages. Since you have not set any jumpers apparently, it must be the BIOS acting up. Maybe bad NVRAM. The latter is usually solvable by resetting CMOS. Here is the nuclear option to at least reach a stock/working firmware baseline:

1. Flash latest stock 8MB SPI image from ASRock (X79E6_3.10) using the hardware programmer
2. Reset CMOS, remove all AC/Battery power for 1 minute and press the power button a few times to clear capacitors etc
3. Re-connect power and start the system
4. The ME should work now, check via the BIOS version and MEInfo -fwsts

If it still doesn’t work, this sounds like a hardware issue. In that case, restore the old/original SPI chip and re-do the above steps.

I am afraid that this mainboard now comes with a new negative feature - no more ME Subsystem.
I did as you recommended with both chips. The result is the same for both.

Here is a screenshot from the programming tool just for information purposes

W25Q64BV.jpg


It is the same for both chips.

MEinfo returns with the same result as described in previous post.

I am out of ideas. I could try to shoot a support request over to the ASRock folks but I doubt that this old board will raise a lot of happines on their side.

Seems that you have set somthing like a ‘ME jumper’? You checked the board for any possible undocumented switches/ jumpers you might have used in your first attempt?

Checking the freeform section of Setup with Universal IFR Extractor gives some ME related settings. I’m not sure if these could be stored in a place which isn’t in bios/spi and which isn’t deleted/reset by the CMOS jumper/switch. Maybe worth to check the values of these variables in the corresponding Var Store…

0x37324 Var Store: 0x1A[1] (AsrHdasSetup) {24 23 43 D6 87 EC A4 EB B5 4B A1 E5 3F 3E 36 B2 0D A9 1A 00 01 00 41 73 72 48 64 61 73 53 65 74 75 70 00}
0x37347 Form: Advanced, Form ID: 0x403 {01 86 03 04 1C 00}
0x3734D Ref: CPU Configuration, Variable: 0xFFFF {0F 0F C5 00 C6 00 01 00 00 00 FF FF 00 2D 04}
0x3735C Ref: North Bridge Configuration, Variable: 0xFFFF {0F 0F 4C 0C 4D 0C 02 00 00 00 FF FF 00 8E 04}
0x3736B Ref: South Bridge Configuration, Variable: 0xFFFF {0F 0F 4E 0C 4F 0C 03 00 00 00 FF FF 00 8F 04}
0x3737A Ref: Storage Configuration, Variable: 0xFFFF {0F 0F 50 0C 51 0C 04 00 00 00 FF FF 00 91 04}
0x37389 Ref: Super IO Configuration, Variable: 0xFFFF {0F 0F 92 05 93 05 05 00 00 00 FF FF 00 56 04}
0x37398 Ref: ACPI Configuration, Variable: 0xFFFF {0F 0F 6A 00 6B 00 06 00 00 00 FF FF 00 90 04}
0x373A7 Ref: USB Configuration, Variable: 0xFFFF {0F 0F 52 0C 53 0C 07 00 00 00 FF FF 00 9C 04}
0x373B6 Ref: ME Subsystem, Variable: 0xFFFF {0F 0F 1B 06 1C 06 08 00 00 00 FF FF 00 57 04}
0x373C5 Subtitle: {02 87 02 00 00 00 00}
0x373CC End {29 02}
0x373CE Subtitle: UEFI Update Utility {02 87 01 07 00 00 00}
0x373D5 End {29 02}
0x373D7 Subtitle: {02 87 02 00 00 00 00}
0x373DE End {29 02}
0x373E0 Grayout If: {19 82}
0x373E2 Variable 0x193 equals 0x1 {12 06 93 01 01 00}
0x373E8 Ref: Instant Flash, Variable: 0xFFFF {0F 0F 02 07 06 07 9D 04 00 00 FF FF 04 06 04}
0x373F7 End If {29 02}
0x373F9 Suppress If: {0A 82}
0x373FB True {46 02}
0x373FD Ref: PCI Subsystem Settings, Variable: 0xFFFF {0F 0F 7E 06 84 06 09 00 00 00 FF FF 00 0D 04}
0x3740C Ref: ACPI Configuration, Variable: 0xFFFF {0F 0F 6A 00 6B 00 0A 00 00 00 FF FF 00 11 04}
0x3741B Ref: WHEA Configuration, Variable: 0xFFFF {0F 0F 7D 00 7E 00 0B 00 00 00 FF FF 00 12 04}
0x3742A Suppress If: {0A 82}
0x3742C Variable 0x1CC equals 0x1 {12 06 CC 01 01 00}
0x37432 Ref: Trusted Computing, Variable: 0xFFFF {0F 0F 83 00 84 00 0C 00 00 00 FF FF 00 13 04}
0x37441 End If {29 02}
0x37443 Ref: CPU Configuration, Variable: 0xFFFF {0F 0F C5 00 C6 00 0D 00 00 00 FF FF 00 2D 04}
0x37452 Ref: North Bridge Configuration, Variable: 0xFFFF {0F 0F EB 02 EC 02 0E 00 00 00 FF FF 00 38 04}
0x37461 Ref: South Bridge, Variable: 0xFFFF {0F 0F 5D 04 5E 04 0F 00 00 00 FF FF 00 3E 04}
0x37470 Ref: Storage Configuration, Variable: 0xFFFF {0F 0F 61 04 62 04 10 00 00 00 FF FF 00 42 04}
0x3747F Ref: USB Configuration, Variable: 0xFFFF {0F 0F 3E 05 3F 05 11 00 00 00 FF FF 00 48 04}
0x3748E Ref: SMART Settings, Variable: 0xFFFF {0F 0F 8C 05 8D 05 12 00 00 00 FF FF 00 4A 04}
0x3749D Ref: Super IO Configuration, Variable: 0xFFFF {0F 0F 92 05 93 05 13 00 00 00 FF FF 00 56 04}
0x374AC Ref: ME Subsystem, Variable: 0xFFFF {0F 0F 1B 06 1C 06 14 00 00 00 FF FF 00 57 04}
0x374BB Ref: ME Update, Variable: 0xFFFF {0F 0F 2B 06 2C 06 15 00 00 00 FF FF 00 58 04}
0x374CA Ref: Clock Generator Configuration, Variable: 0xFFFF {0F 0F 2F 06 30 06 16 00 00 00 FF FF 00 5A 04}
0x374D9 Ref: Chipset Reference Board, Variable: 0xFFFF {0F 0F 6E 06 6F 06 17 00 00 00 FF FF 00 5B 04}
0x374E8 Ref: Network Stack, Variable: 0xFFFF {0F 0F 76 06 77 06 18 00 00 00 FF FF 00 5E 04}
0x374F7 Ref: ACPI Configuration, Variable: 0xFFFF {0F 0F 6A 00 6B 00 19 00 00 00 FF FF 00 90 04}
0x37506 Ref: USB Configuration, Variable: 0xFFFF {0F 0F 52 0C 53 0C 1A 00 00 00 FF FF 00 9C 04}
0x37515 End If {29 02}
0x37517 Subtitle: {02 87 02 00 00 00 00}
0x3751E End {29 02}
0x37520 Suppress If: {0A 82}
0x37522 Variable 0x1CB equals value in list (0xFFFF) {14 08 CB 01 01 00 FF FF}
0x3752A Ref: , Variable: 0xFFFF {0F 0F 02 00 02 00 1B 00 00 00 FF FF 00 03 04}
0x37539 End If {29 02}
0x3753B End Form {29 02}

0x3DF07 Form: ME Subsystem, Form ID: 0x457 {01 86 57 04 1B 06}
0x3DF0D Subtitle: {02 87 02 00 00 00 00}
0x3DF14 End {29 02}
0x3DF16 Subtitle: Intel ME Subsystem Configuration {02 87 1D 06 00 00 00}
0x3DF1D End {29 02}
0x3DF1F Subtitle: {02 87 02 00 00 00 00}
0x3DF26 End {29 02}
0x3DF28 Text: ME Version {03 08 1E 06 1F 06 20 06}
0x3DF30 Subtitle: {02 87 02 00 00 00 00}
0x3DF37 End {29 02}
0x3DF39 Suppress If: {0A 82}
0x3DF3B True {46 02}
0x3DF3D Setting: ME Subsystem, Variable: 0x193 {05 A6 21 06 22 06 38 01 01 00 93 01 10 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}
0x3DF63 Option: Disabled, Value: 0x0 {09 0E 2A 06 00 00 00 00 00 00 00 00 00 00}
0x3DF71 Option: Enabled, Value: 0x1 {09 0E 29 06 30 00 01 00 00 00 00 00 00 00}
0x3DF7F End of Options {29 02}
0x3DF81 End If {29 02}
0x3DF83 Suppress If: {0A 82}
0x3DF85 True {46 02}
0x3DF87 Setting: ME Temporary Disable, Variable: 0x196 {05 A6 27 06 28 06 39 01 01 00 96 01 10 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}
0x3DFAD Option: Disabled, Value: 0x0 {09 0E 2A 06 30 00 00 00 00 00 00 00 00 00}
0x3DFBB Option: Enabled, Value: 0x1 {09 0E 29 06 00 00 01 00 00 00 00 00 00 00}
0x3DFC9 End of Options {29 02}
0x3DFCB End If {29 02}
0x3DFCD Suppress If: {0A 82}
0x3DFCF True {46 02}
0x3DFD1 Setting: End of Post Message, Variable: 0x194 {05 A6 23 06 24 06 3A 01 01 00 94 01 10 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}
0x3DFF7 Option: Disabled, Value: 0x0 {09 0E 2A 06 00 00 00 00 00 00 00 00 00 00}
0x3E005 Option: Enabled, Value: 0x1 {09 0E 29 06 30 00 01 00 00 00 00 00 00 00}
0x3E013 End of Options {29 02}
0x3E015 End If {29 02}
0x3E017 End Form {29 02}
0x3E019 Form: ME Update, Form ID: 0x458 {01 86 58 04 2B 06}
0x3E01F End Form {29 02}

Section_Freeform_subtype_GUID_97E409E6-4CC1-11D9-81F6-000000000000_Setup_Setup_body IFR.txt (818 KB)

The manual does say to not clear CMOS exactly after a BIOS update, let it boot first. Let’s try that then. First, make sure that the programmer is actually flashing what you want it to flash by verifying the result. Let the system boot once, shutdown. Clear CMOS, remove its battery, remove all AC power for 1 minute. Make sure that there are no other jumpers adjusted on the board itself. Try again with MEInfo -verbose and MEManuf -verbose. If the problem persists, there must be some sort of hardware issue.

Thanks for bearing with me.
Ok, the way you recommended to perform the programming is actually the way I did. basically it is a four step procedure. Erase, Blank test, Program and verify.
However, the newly attempt to start all over led to the very same result, however with a little bit of change.
Booting up works, ME Subsystem is still n/a.

Here is the result what MEINfo answered:

10.jpg



Then this is MEManuf:

11.jpg



This time I found a device in the device manager with yellow exclamation mark:

12.jpg



Copied the PCI Ven into google and it returned with the result that seems to be the missing ME.
Even though the BIOS section says that is not available Windows found something. And something must be somewhere since the unknown device was not greyed out.

I gave it a try and installed the ME driver for Win7 I did download from ASRock.
Here is the result:

13.jpg



I am thinking to purchase another BIOS chip just for the sake of testing and the chip is cheap. On the other hand - it seems doubtable that two chips have an issue. But it could be.


@lfb6 : thanks for your input. However, I am not sure how to obtain that information here from my machine.

M0_DID_WAIT is probably related to "DRAM Initialization Done" signal from BIOS to ME during early booting. So maybe something wrong in memory? Try re-seating the modules, change positions, leave only one and check if that brings the ME back online.

Verified how much memory the BIOS did report. It was supposed to show 4 x 8192 and it did. I then took them all out and placed a single DDR3-1333 in slot A1 and booted. The MEManuf now reported the status "Unknown" instead of "M0_DID_WAIT".
I repeated the entire programming procedure with that RAM module installed. Ended up with the very same result -> ME Susbsysten n/a
Placed the DDR3-2133 modules back in and MEManuf still reports unknown.

I may try to go with another BIOS chip which costs me 8 € plus a little bit shipping and give it a last try. Other than that I am pretty much out of ideas

Have u already installed the correct ME driver…its the serie 7/8 11.05.1189, after that repeat MEInfo and MEManuf

yes, just read post #297.
This is the version from ASRock that is supposed to match perfectly with the ME Version thats inside the BIOS.
But installing the driver does not make sense at this point. It creates a yellow exclamation mark in the device manager and a lot of entries in the windows event log telling me all sorts of crap what went wrong with handshakes and all that jazz

Yes i know its Asrock X79…u were trying those commands inside windows environment, it needs the driver installed to communicate with ME.


It must be some sort of hardware issue, I can’t think of something else firmware-wise. You could also run a memtest just in case.

Edit: Firmware-wise, have you tested any older ASRock BIOS SPI images? Give it a try with BIOS v2.20.