I read the intelmetool source code and I found that (theoretically) it’s posible to get FWCAPS sending an HECI command: 0x2 with group_id: 0x3 and the rule_id: 0. This tool writes the command response into the fwcaps struct, which is inherited from the me_fwcaps struct, which defines every fwcap.
I used me_util.py with Python 2.7 to send the mentioned command to intel ME through HECI and I got the following output: “group 03 command 02 response 1 result 05”, but me_fwcaps struct defines at least 20 fwcaps, so I don’t think that’s a correct response. I expected fwcaps to be defined as a big binary number, so that every capability can have its own bit, like: bit 7 is for icc overcloking and bit 20 is for intel AMT (for example). It’s mostly imposible that I only have some of the first capabilities.
I also noticed this output from me_util.py: “Firmware version: [code 12.0.40.1433 rcvy 12.0.40.1433 back? 12.0.6.1120]”. Code and rcvy versions are OK, but what about back version? Why does it have a different version number? I would understand that back stands for “backup”, but there is already a recovery version (rcvy), so I suppose back isn’t “backup”. What is it then?
In addition to this question, I have other doubts.
- I saw commands like these defined in intelmetool:
|#define GLOBAL_RESET_BIOS_MRC|0x01|
|#define GLOBAL_RESET_BIOS_POST|0x02|
|#define GLOBAL_RESET_MEBX|0x03|
-
What’s the supposed group_id to be used along with this commands?
-
Is there any way to obtain more information about these commands (MEA maybe)? There is little information about them on the internet. For example: I have seen it’s posible to disable intel ME using MKHI_FWCAPS_SET_RULE using Rule ID 0x6. Where can I locate more of these Rule IDs in coreboot source code/intel ME modules? Is there any public list/web page with more information?
-
Is there any command to trigger a management engine firmware recovery? Will ME trigger a recovery if I try to flash a new image and the process fails?
-
Is there any other tool (apart from me_util.py) to send HECI commands?
Sorry for mentioning you @plutomaniac, but I saw your MEA tool and I think you are the most advanced user at Win-Raid about intel ME, that’s why I ask you to answer this thread whenever you have the desire and the free time to do it.
I’m experiencing some weird issues with my PC and I think it can be fixed with some HECI commands (random freezes, BSODS, weird flickering… It’s not a hardware problem: some old Windows 10 versions fix it automatically sending an HECI command, but then the issue appears again). I can upload my intel ME firmware if that’s helpful.
PD (extra information about my PC issue): I’m able to turn intel ME on and off using SCEWIN. I can boot with ME state = disabled and MBP (ME_BIOS_PAYLOAD) HOB skip = disabled: when I do it, and (once the PC has booted to windows) I change ME state = enabled, (without rebooting), the PC will randomly freeze for 1-2 seconds, but then it will run normally