Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

X230 bios - repeat application of me_cleaner claims that ME is still present? #184

Closed
rennis250 opened this issue Mar 26, 2018 · 7 comments

Comments

@rennis250
Copy link

rennis250 commented Mar 26, 2018

I've successfully flashed the bios on my X230 with coreboot and it boots successfully, but it is unclear to me if ME was actually disabled. Dmesg, lspci -vnn, and intelmetool -s all give output very similar to what people post in #3 (i.e., ME still shows in PCI, but intelmetool fails at the end and dmesg reports "hw start failed" and "init hw failure" for mei_me), but I'm not fully convinced... For example, if I apply me_cleaner to the 8MB part of the bios that comes from the lower chip, then it finishes successfully and produces a new bios ROM. However, if I apply me_cleaner to this new file, it claims to find ME again and then says that it successfully removed it, eventhough it should already be gone. Posts on the internet lead me to believe that this second application of me_cleaner should result in an error: "ME not found", but I don't have that. All of this is tested with Fedora 27 on the laptop for building coreboot and the x230 for testing ME removal.

Any tips?

@corna
Copy link
Owner

corna commented Mar 27, 2018

me_cleaner will always find the ME firmware, it can't be completely removed (except for ME 6.0, but it's not your case).

This is the output of me_cleaner -c on an untouched ME image:

Full image detected
The ME/TXE region goes from 0x3000 to 0x500000
Found FPT header at 0x3010
Found 14 partition(s)
Found FTPR header: FTPR partition spans from 0xf2000 to 0x1b2000
ME/TXE firmware version 6.1.10.1052
Public key match: Intel ME, firmware versions 6.x.x.x
Checking the FTPR RSA signature... VALID

and this on the same image, after the cleaning process:

Full image detected
The ME/TXE region goes from 0x3000 to 0x500000
Found FPT header at 0x3010
Found 1 partition(s)
Found FTPR header: FTPR partition spans from 0xf2000 to 0x1b2000
ME/TXE firmware version 6.1.10.1052
Public key match: Intel ME, firmware versions 6.x.x.x
Checking the FTPR RSA signature... VALID

@rennis250
Copy link
Author

rennis250 commented Mar 27, 2018

Ah, okay, thanks! Makes sense. It does indeed say 1 partition on each subsequent run of me_cleaner. I had a suspicion that it would register the deactivated case also and would give some message that the job had already been done, but I see how that isn't reliable, given the nature of the situation. I understand now. And, am I to assume then that everything has indeed worked correctly? Even though the intelmetool initially says that I have a QC77 chipset (or something like that... I should double check) with a copy of ME that cannot be deactivated or disabled?

And just so that I understand, it is okay that MEI is still on the PCI bus?

@rennis250
Copy link
Author

rennis250 commented Mar 27, 2018

Ok, I double checked. It says I have a QM77 Express Chipset LPC Controller and that I "cannot control or disable" ME. The "ME: Error Code:" says "No Error" and "ME: Progress Phase State:" says "Check to see if straps say ME DISABLED", which, according to https://github.com/corna/me_cleaner/wiki/Internal-flashing-with-OEM-firmware, means that it didn't work.

@rennis250
Copy link
Author

And at the end of the intelmetool output, it says:

ME: failed to become ready
ME: failed to become ready
ME: GET FW VERSION message failed
ME: failed to become ready
ME: failed to become ready
ME: GET FWCAPS message failed

@corna
Copy link
Owner

corna commented Mar 27, 2018

Don't worry about the "cannot control or disable" message.

And just so that I understand, it is okay that MEI is still on the PCI bus?

Yes, it's not a problem; sometimes it disappears, sometimes it remains.

The "ME: Error Code:" says "No Error" and "ME: Progress Phase State:" says "Check to see if straps say ME DISABLED"

Whoops, I forgot to update the return codes on the wiki when using the AltMeDisable bit. Don't worry, that's the expected output.

Intel ME seems disabled on your PC.

@rennis250
Copy link
Author

Okay, great. That puts me at ease :) I'll leave this open until the error codes are updated for the AltMEDisable bit.

And naturally, thanks a lot for the hardwork on this tool. It's really nice! 👍

@corna
Copy link
Owner

corna commented Mar 30, 2018

Done.

@corna corna closed this as completed Mar 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants