Intel (Conv.Sec.) Management Engine: Drivers, Firmware and Tools (2-15)

This tool looks quite interesting. Where can I download it? By the way SATA OROM’s and Driver Modules are already updated by Aptio tool. I also did it with the BIOS provided by you before flashing. (I have the OROM’s and SATA driver for TRIM support on X79 chipset inside).
At the moment I do CSM disabled ultra fast boot with a modded 12.7.x driver module instad of the 3.5.x module. The Broadcom module is also already replaced, just the AsMedia 106x controller is difficult. When I use the offered ROM for both devices (611 and 612) I can no longer boot from them while “in Windows use” is ok, that means they’re not in full function any more (I have XP on an extra disc and boot it from the 106x if I need to)

regards hanson

Here’s the modded BIOS I actually use now if you’re interested

UBU is present right here, from our dear member Sonix.

I don’t know the options that your BIOS has to offer, but I think it would be very useful to have all 3 versions in BIOS and just switch to whatever you need. The 3.x RST(e) version has a different DevID (8086-2826) and it can be switched from BIOS, so I see no reason to remove it. Only you can decide.

The 11.6.x and 12.7.x have the same DevID (8086-2822), but have a different GUID (for SataDriver) and different anchor in CSMCORE (8086-2822 for 11.6.x and 8086-55AA for 12.7.x). If you can choose between them from BIOS, it would be awesome to keep them both. If not, just update the one with the same DevID as your board (most likely 8086-2822, look in Device Manager) and leave 8086-55AA as it is. To conclude: 8086-2826 is 3.x version and can be updated to latest 3.x and kept as an alternative for RST; 8086-2822 is 11.6.x version and is the one used for booting, update to your needs; 8086-55AA is 12.7.x and, if not available as an option in original BIOS, just update for the sake of updating. All the above have in mind the original BIOS and only OROMs as seen from MMTool. The SataDriver GUID is different for each one, which makes me think that they can be used and switched from BIOS, thus having 3 SataDriver/OROM to choose from. You must check yourself, if you ever feel the need to test. If you have 3 options in BIOS, update each one to latest 3.x, 11.6.x and 12.x (or 13.x). If you have only 2 options in BIOS, update RST and RST(e) to your needs. All TRIM-enabled modules can be found here.

You can use UBU to update Asmedia, you have 2 identical copies for the same DevID (1B21-0612), only the anchor is different (1B21-0612 and 1B21-0611). If you update only one using MMTool, always go for 1B21-0612. UBU offers version 0.954 as firmware, so maybe the bug is solved?

You can use UBU to update Broadcom from OROM 16.0.1 and UNDI 15.2.2 to OROM 16.2.1 and UNDI 16.2.2.

You can use UBU to update the microcodes or you can use the module bellow, but it is not needed. Your i7 3930K has 206D7 CPUID, so it already has the latest version 710. The difference between UBU and the module bellow is that UBU only keeps 5 out of 10 microcodes, adds one and updates one (only retail CPUs, yours included) and the module keeps them all and updates CPUID 206D6 from rev. 16 to rev. 19, CPUID 206D5 from rev. 12 to rev. 13. Use with MMTool or UEFITool and only replace the second 17088572-377F-44EF-8F4E-B09FFF46A070 module, the first one is empty.

Here is UBU before and after:

[[File:UBUmc.png|none|auto]]

Here is with module before and after:

[[File:modulemc.png|none|auto]]

@ lordkag and hanson:

The topic of this thread is the Intel Management Engine and not the update of ROM modules. Since hanson’s problems to get the Intel ME firmware updated fortunately have been solved with lordkag’s and CPL0’s help, I ask you to continue your just beginning discussion within >this< section of the Forum.
The best would be, if hanson starts there a new thread. If you agree, I will move the last posts beginning at #86 into the new one.



Nice work lordkag. I only have the free version of IDA which is 32-bit so can not show it in IDA format but this is basically it in objconv format.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
?_00593:cmp     bx, di      ; 800063B4 _ 66: 3B. DF          ; ME 7.x.x.x check if ME7
jz ?_00594 ; 800063B7 _ 74, 0A ;
cmp bx, r14w ; 800063B9 _ 66 41: 3B. DE ; ME 8.x.x.x check if ME8
jne ?_00597 ; 800063BD _ 0F 85, 0000008A ; If not ME7 or ME8 then skip reflash
?_00594:cmp bx, r14w ; 800063C3 _ 66 41: 3B. DE ; ME 8.x.x.x check major ver is 8
jnz ?_00595 ; 800063C7 _ 75, 17 ; If ME7 (major ver 7) then reflash
cmp si, r13w ; 800063C9 _ 66 41: 3B. F5 ; ME x.1.x.x check minor ver is 1
jnz ?_00595 ; 800063CD _ 75, 11 ; Not 1 then reflash
cmp r12w, 40 ; 800063CF _ 66 41: 83. FC, 28 ; ME x.x.28.x check hotfix is 28h
jnz ?_00595 ; 800063D4 _ 75, 0A ; Not 28h (40) then reflash
mov eax, 1416 ; 800063D6 _ B8, 00000588 ; ME x.x.x.588
cmp bp, ax ; 800063DB _ 66: 3B. E8 ; Check build
jz ?_00597 ; 800063DE _ 74, 6D ; If 588h (1416) then skip reflash
?_00595: ; Set up for ME reflash
 
 

I don't know AsRock's reason for doing this, maybe it's just their way of doing ME updates, but perhaps skipping it would involve less work for users updating ME Firmware themselves while adding the new version in AMITSE would give users a new ME Firmware once the BIOS is flashed. Perhaps AsRock is worried the ME update is not always successful so make sure it's checked each time.

@CPL0

I hope Fernando won’t mind if I continue here a discussion related to the ME problem, I also hope you won’t mind being poked again. I’ve only read the basic of the basics when it comes to disassembly. Here is what I have in mind for removing the check completely. First problem is that there are two possible starting point. I’ve uploaded the whole picture of the flow bellow.

[[File:me-patch.png|none|auto]]

The second problem is with that last jnz to patch. The hex is 0F 85 8A 00 00 00 and I thought of replacing it with 90 E9 8A 00 00 00. It works by jumping right to the last instruction and skipping MeReFlash, but if this is not the right way, I could always ignore it and pass the other nodes, like bellow. What is your recommendation?

[[File:me-patch2.png|none|auto]]

There are many numerous ways of doing it, all that matters in the end is that it works. For example in your second example instead of changing the jnz to "jmp short" you could change the cmp bp,ax to cmp ax,ax or cmp bp,bp and so on. When jumping over code check to make sure values that are set in it are not used later on. Usually good practice to try and preserve as much as you can.

@lordkag

I have now seen your reply. So it was enough. If ever a new ME becomes available, just post a reply and I would make it to either ignore the version, or to wait for that specific version.


Hello again… Today ASRock released a new BIOS for my board and i wanted to ask if you could be so kind to insert the ME 8.1.51.x for me please. Here`s the original file.

Best regards hanson

Image attached. The X79E6_3.00_ME.rom is the BIOS to flash, which already has the 8.1.51.1471 ME and it is locked to this particularly version. Flashing any other ME firmware will trigger the backup to be restored.

The amitse300mod2.ffs is a module patched to give a little more freedom. Use it as this: open original 3.00 BIOS with MMTool and replace AMITSE module with this amitse300mod2.ffs, save image. Flash this new BIOS and you will still have 8.1.40.1416 as ME version, but you will be able to flash any 7.xx or 8.xx version from Windows. Flash 8.1.51.1471 from Windows, reboot to see if the ME is reflashed (ignore the version for now), shutdown for a couple of minutes, boot and check ME version. The limits of this method is that it only works with BIOS 3.00, any new release will require a new patched AMITSE. Use this second method only if you like testing. The first method is already tested and a lot safer.

Thanks a lot mate. I’ll test both ways imediately, as always I highly appreciate your great support.

Regards hanson

Intel® Management Engine Interface(MEI) Driver 10.0.0.1012 WHQL (Intel® 9 Series)

it says intel 9 series but I installed on mine (z77) with no problem

FWIW MSI GE60, possibly others, can be unlocked and ME Firmware flashed with software. For some strange reason it kind of bugs me to see bclk at 99.8 with down spread, looks proper when reading a 100 or a bit more and perhaps there is also the possiblity of bclk straps. Don’t know why MSI didn’t offer it in the first place along with voltage control as they do for the GT’s.

Thanks for the link to the Intel ME drivers "v10.0.0.1012 WHQL", which are offered by stasio at TweakTown Forums.
Although I was able to get these Intel ME drivers v10.0.0.1012 installed onto my Intel Z77 system, I decided to not offer them here.
Reasons:

  1. Contrary to the drivers description at TweakTown Forums these drivers are not WHQL certified for 7-Series Chipsets by Microsoft (they are just digitally signed by Intel).
  2. They are dated 11/05/2013, that means, that they are older than the drivers of the MEI driver package v9.5.24.1790, which are dated 12/10/2013.
  3. After having installed the linked Intel ME drivers v10.0.0.1012 I found out, that the most important Intel MEI driver named HECI.SYS resp. HECIx64.SYS has not been installed by the OS (Win 8.1 x64). It was still v8.1.0.1263 dated 07/17/2012.


@ all users with an Intel 7-Series Chipset system:
Instead of the Intel MEI drivers v10.0.0.1012, which obviously are not yet finally compiled by Intel, I have added a link to the 32/64bit Intel MEI/HECI driverpack v9.0.0.1287 WHQL dated 05/14/2013 to the start post of this thread.

Thanks for the link to the Intel ME drivers "v10.0.0.1012 WHQL", which are offered by stasio at TweakTown Forums.
Although I was able to get these Intel ME drivers v10.0.0.1012 installed onto my Intel Z77 system, I decided to not offer them here.
Reasons:

  1. Contrary to the drivers description at TweakTown Forums these drivers are not WHQL certified for 7-Series Chipsets by Microsoft (they are just digitally signed by Intel).
  2. They are dated 11/05/2013, that means, that they are older than the drivers of the MEI driver package v9.5.24.1790, which are dated 12/10/2013.
  3. After having installed the linked Intel ME drivers v10.0.0.1012 I found out, that the most important Intel MEI driver named HECI.SYS resp. HECIx64.SYS has not been installed by the OS (Win 8.1 x64). It was still v8.1.0.1263 dated 07/17/2012.


@ all users with an Intel 7-Series Chipset system:
Instead of the Intel MEI drivers v10.0.0.1012, which obviously are not yet finally compiled by Intel, I have added a link to the 32/64bit Intel MEI/HECI driverpack v9.0.0.1287 WHQL dated 05/14/2013 to the start post of this thread.



Hi Fernando!

I need your assistance and recomendations sir, for the following.
I´ve been looking to update the IME Firmware on my ASUS P8Z77 WS board. What latest and newest firmware do you recomend me to update to?
Thanks a lot.

If you want just to update the Intel ME Firmware, I recommend to use the "Intel ME 8 Consumer FWUpdate v8.1.51.1471", which you can find wthin the start post of >this< thread.

Thx again Fernando!

And for such a quick reply.
Now you got me thinking, Im not an expert on the matter at all as you can see, but what do you mean by "just" update intel ME firmware? Is there anything else I should/could update sir?

Yes, you may update the Intel MEI/Heci driver, if it should be not the latest/best.
You can check the Intel MEI driver by opening the "System devices" section of the Device Manager, doing a right click onto the listed "Intel(R) Management Engine Interface" and choosing the options "Properties" > "Driver" > "Driver details".

I´ll check that soon as I get home and let you know what I have.

Thanks Fernando!

Found it sir,

Version in device manager is 8.1.0.1263.

Its dated kinnda old. I guess I could update the firmware and driver both.

Is there a guide that I can follow to do both Fernando?

Thanks again.

I said nothing, all chrystal clear at the OP.

Sorry and thanks again