Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

Pre-disabled ME X2100 Bios

Old(er) Thinkpads with New(er) Intestines: X62/T50/T70/X210/X330 etc.
Message
Author
Longinus_es
Posts: 5
Joined: Sun Aug 08, 2021 9:27 am
Location: Aachen, DE

Pre-disabled ME X2100 Bios

#1 Post by Longinus_es » Sun Aug 08, 2021 9:40 am

Hey fellas,
Recently i updated new bios for X2100(the august 8th one), which i found on Xue Yao's Site.
However, My X2100 lost the ME since last time, so the boot takes around 10s more than the normal situation.

But after flashed a pre-disabled ME, the problem is solved,
but this time after the bios update, the ME is enabled by default and it couldn't disabled anymore.

If anybody has updated to the bios, could you share me a pre-disable ME if possible, thx in advance.

PS: the new bios is great, somehow my x2100 can finaly enter the c7 and when i charge with usb-c while watching 4k, the charging consists.
But still updating has risk, so be careful

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#2 Post by atagunov » Tue Aug 10, 2021 4:36 pm

Longinus_es wrote:
Sun Aug 08, 2021 9:40 am
Hey fellas,
Hello fellow X2100 owner, welcome!

I still need to find time and resolve to flash BIOS updates on mine so I hope you can help me by giving more detailed info..
You're installing from this page, right?
Did you flash from Windows or from Linux?
Longinus_es wrote:
Sun Aug 08, 2021 9:40 am
Recently i updated new bios for X2100(the august 8th one), which i found on Xue Yao's Site.
So which link exactly did you download it from?
Which commands did you run?
Longinus_es wrote:
Sun Aug 08, 2021 9:40 am
However, My X2100 lost the ME since last time, so the boot takes around 10s more than the normal situation.
Hmm.. Lost the ME?..
Longinus_es wrote:
Sun Aug 08, 2021 9:40 am
But after flashed a pre-disabled ME, the problem is solved,
but this time after the bios update, the ME is enabled by default and it couldn't disabled anymore.
Which link did you download it from this time?
Which commands was it this time?
I'd very much like to know!..

Generally speaking if a version of BIOS has ME completely removed it's not surprising that the option to disable BIOS is missing from the menues, it just makes sense.
Longinus_es wrote:
Sun Aug 08, 2021 9:40 am
PS: the new bios is great, somehow my x2100 can finaly enter the c7 and when i charge with usb-c while watching 4k, the charging consists.
Good to hear. This is exactly why I would like to know all fine details :)

P.S. btw until recently that page was referencing 2021_06_02.zip via one of the links, but it's X2100_2021_08_06.zip now. I happen to know exactly why and what happened :) bios.bin and ec.bin have remained the same but .sh scripts have changed. And as I said I'm really very much interested in which links you downloaded from/which commands you have run.
X220, 2 *T520

Longinus_es
Posts: 5
Joined: Sun Aug 08, 2021 9:27 am
Location: Aachen, DE

Re: Pre-disabled ME X2100 Bios

#3 Post by Longinus_es » Wed Aug 11, 2021 5:45 am

Hey atagunov!
Thanks for your reply!

So i did download the bios from the link you mentioned
https://www.xyte.ch/support/51nb-x210-x ... h_gen_BIOS

Last time i update the 04.09.2020 bios, i flashed it under windows, that's when my ME (Management Engine Firmware) is bricked.
Under bios > advanced> pch you can see the detail about ME. On my X2100 the ME is gone, so there is no FW version under the PCH-Page.
When i try to reinstall the ME Firmware in the windows, the installation failed and gave a message back "Unknown or Unsupported Platform"

The main symptom of brick ME is, when booting, there will be 10s black screen before you see the bios start screen, that's because the ME boots first,
and it will recognize the RAM, and now it's failed, so it's just holding the pc for 10s and doing nothing.

There is no way to flash the ME back and all the relevant settings in bios to ME are not working, i can't not disable it.
But 17m from 51nb has shared a bios based on Official V25 with ME is disabled as default, after flashed that, the problem seems solved.

After I flashed the 06.08.2021 one (the file name shows it's released on 02.06.2021). I flashed twice, first time on Windows, second time on Deepin.
On Deepin I runed "sudo bash xxxxxx", exactly as Xue Yao's instructions on the downloading page.
Now the ME is enabled as default. So the problem occurs again.

I think the solution of that it's not removing ME from bios, because ME is located somewhere else. If the ME is really completely removed,
the computer will auto reboot every 30 mins. And it's very hard to remove it, there is one project on Github called me_cleaner,
me_cleaner can remove the unnecessary parts of ME without breaking it. But that's seems not the solution to it.

According to 17m from 51nb, the solution to brick ME is to flash the bios with ME disabled as default setting.
If some has updated to 06.08.2021(also 02.06.2021) bios and has a bios programmer. I believe he/she can extracted the bios with ME disbaled from his X2100, that might be solve my problem.

viewtopic.php?t=129099
Here is some relativ topic i found in this Forum.

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#4 Post by atagunov » Wed Aug 11, 2021 7:19 am

Hi, I am concerned that we may be misunderstanding what ME is/how it operates, but let us try to get into the best possible position we can..

I understand your progression was:

- you had some initial version of BIOS on X2100 upon receiving is

- you downloaded one of 1, 2 from XY's website and flashed it under Windows
- you started seeing 10 sec delay on start-up; you also noticed that BIOS screen Advanced > pch is telling you "Unsupported platform"

- you then dowloaded V25 bios patched by 17m from 51nb and flashed that (don't know if it was under Windows or under Linux)
- this removed the 10 sec delay on start-up; I don't know what you were seeing under Advanced >pch in BIOS screen then

- then you downloaded 2021_06_02_Windows.zip from XY's website and flashed it under Windows
- then you downloaded X2100_2021_08_06.zip from XY's website and flashed it under Linux (which .sh files did you execute?)

What is your current problem?
What are you unhappy with?
Is the 10 sec delay back?
Do you see "Unsupported platform" in Advanced > pch in BIOS again?

For reference: I received my X2100 from XY in 2021; it's still on the same BIOS I received it with; I believe this may be the so called "Official V25"; it designates itself as "Build date and time: 07/13/2020 15:45:23"; for me "Advanced > PCH" shows "ME Firmware Version 14.0.10.1204"; I'm not sure if there is any delay on startup as it has taken me months to figure out my CMOS battery is missing and without it BIOS is behaving in a strange way; I got the battery now but haven't installed it yet.
X220, 2 *T520

Longinus_es
Posts: 5
Joined: Sun Aug 08, 2021 9:27 am
Location: Aachen, DE

Re: Pre-disabled ME X2100 Bios

#5 Post by Longinus_es » Wed Aug 11, 2021 9:28 am

My current problem is the 10s delay is back,
and I'm looking for a way to solve that.

I executed bios_update.sh first and then ec_update.sh.
In your case you haven't broke you ME, because you can see it from the bios>PCH, which is ME Firmware Version 14.0.10.1204.

And there is risk to flash 04.08.2020 BIOS patch on Windows, some people broke their ME Firmware and the Firmware Version will be 00.0.00.0000 under BIOS>PCH,
and the X2100 will hanging 10s every time it boots. And under BIOS>PCH, the ME is enabled all the time, even I set it as disable, it resets to enable after reboot.
There is no way to recover the ME Firmware, once you lost it, it's gone forever.

The only way to fix the 10s hanging problem is to flash a BIOS with the setting BIOS>PCH>ME disabled as default, which works.
That's want I'm seeking for, because I don't want to roll back to V25. I am looking for anyone who has updated to new BIOS and has a bios Programmer.
If he/she disable the ME in BIOS and connect the bios programmer to the bios chip on the mainborad, the bios programmer can extract the bios.bin.
With this i might fix the 10s hanging problem.

Longinus_es
Posts: 5
Joined: Sun Aug 08, 2021 9:27 am
Location: Aachen, DE

Re: Pre-disabled ME X2100 Bios

#6 Post by Longinus_es » Wed Aug 11, 2021 9:31 am

There have been people who has experienced a corrupted Intel ME after applying the firmware update directly with the EC patch. It's still unknown why and we guess that it somehow set off an eFuse which caused the ME to be corrupted. The only problem that appears is that it takes about 10s to cold boot each time due to memory retraining.
Info from bios patch's github:
https://github.com/xy-tech/X2100-BIOS-EC

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#7 Post by atagunov » Wed Aug 11, 2021 12:06 pm

I'm pretty sure this part is based on a wrong understanding:
Longinus_es wrote:
Wed Aug 11, 2021 9:28 am
If he/she disable the ME in BIOS
I'm pretty sure that this setting (ME enabled/disabled) is not stored in EEPROM chip that we can read and write with a hardware programmer.
I'm pretty sure it is stored in some kind of memory supported by CMOS battery.
Longinus_es wrote:
Wed Aug 11, 2021 9:28 am
If he/she disable the ME in BIOS and connect the bios programmer to the bios chip on the mainborad, the bios programmer can extract the bios.bin.
With this i might fix the 10s hanging problem.
So hardware programmer can read the content of EEPROM chip.

Suppose somebody did use a hardware programmer to read this EEPROM chip from an X2100 patched with latest and greatest BIOS and EC firmware which happens to have a healthy Intel ME.
What would you do with the resulting file?
Did you plan to use a hardware programmer to flash it back into your X2100?
This should be possible.

Did you plan to use "flashrom" utility under Linux to flash that content in?
I'm not sure if this will work or not.

To summarise your belief..

You think that the content of that EEPROM chip on a fully healthy X2100 after flashing the latest BIOS with latest EC patch
will be better than content of EEPROM on a machine which has had ME "bricked".
This is possible.

You might even be able to "repair" your ME by using a hardware flasher to apply the image from a healthy machine.
But you're walking into dangerous territory here.
It is entirely possible to render the machine completely unable to boot by playing too freely with the content of that chip.
For one thing I wouldn't mix hardware flasher and "flashrom" utility - until somebody confirms it is safe to do so.

Let me ask one more question: is your X2100 from XY? Have you installed that CMOS battery yourself? That yellow small round thingie?
Or perhaps you have taken the keyboard and palmrest off yourself and made sure that this yellow thingie is actually present?
On my machine XY intentionally removed it to make shipping easier/cheaper. That's great.
What is less great is that I failed to realise this and wasted some nice time trying to figure out why my machine misbehaves :)
Longinus_es wrote:
Wed Aug 11, 2021 9:28 am
The only way to fix the 10s hanging problem is to flash a BIOS with the setting BIOS>PCH>ME disabled as default, which works.
I'm pretty sure 17m meant something else. These BIOS files. These .bin files. You probably can find tools online to "open" them. To look inside them. To find default BIOS settings there. You probably can find that ME enabled/disabled setting there. You can modify this flag inside that .bin file.Then you can save a modified .bin file and flash that. All that is likely possible. I think this is what 17m did with V25 BIOS. But this is a different process to what you imagined :)
Oh, gosh, there's so much info there!
Okay, digging in..

https://github.com/xy-tech/X2100-BIOS-E ... main/x2100 folder has 3 bios files in it

bios_hap_0_safe.bin in this folder is the same as bios.bin in X2100_2021_08_06.zip file from XY's website
You're welcome to read online what "hap bit" is.
There is also bios_hap_1_safe.bin in that repo.
You may wish to extract it from github, replace your bios.bin with this new file and flash.
On a healthy "ME" it should have made ME to cease some of its functions.
Presumably this is how computers used by US intelligence services are configured to improve security.

I'm not sure what effect that is going to have in your case though.
The whole matter of "bricked ME" looks very obscure to me.

I don't know if this "hap bit" is same as "bios disabled bit" for which 17m tweaked the default value in V25 BIOS.
Longinus_es wrote:
Wed Aug 11, 2021 9:28 am
And there is risk to flash 04.08.2020 BIOS patch on Windows, some people broke their ME Firmware and the Firmware Version will be 00.0.00.0000 under BIOS>PCH,
and the X2100 will hanging 10s every time it boots. And under BIOS>PCH, the ME is enabled all the time, even I set it as disable, it resets to enable after reboot.
There is no way to recover the ME Firmware, once you lost it, it's gone forever.
I guess this is sort of ancient history now is it not? 04.08.2020 BIOS? This sounds like it's even older than V25?
Longinus_es wrote:
Wed Aug 11, 2021 5:45 am
there is one project on Github called me_cleaner, me_cleaner can remove the unnecessary parts of ME without breaking it. But that's seems not the solution to it.
Interesting tool but I thought it does require using a hardware flasher?.. Not sure if I'm brave enough/have enough time :) Even though I have the flasher.
Last edited by atagunov on Wed Aug 11, 2021 12:45 pm, edited 14 times in total.
X220, 2 *T520

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#8 Post by atagunov » Wed Aug 11, 2021 12:19 pm

fat fingers
X220, 2 *T520

Longinus_es
Posts: 5
Joined: Sun Aug 08, 2021 9:27 am
Location: Aachen, DE

Re: Pre-disabled ME X2100 Bios

#9 Post by Longinus_es » Wed Aug 11, 2021 1:07 pm

Oh! Thanks for the tips about the open the bios.bin,
i don't have much background knowledge about bios, but i will try to modify the bios directly.

I am not intended to restore the ME with someone' else BIOS, since flashing bios has nothing to do with ME,
but it also has something to do it, which is about disabling the ME.
I just want to change the settings about ME in bios, so if i can modify the BIOS file directly to change the default setting, i think that will do!

About the CMOS battery, i'm sure it's installed properly. I purchased my X2100 from 51nb since i lived in China, but right now i can't not access the 51nb forum,
because they have a new user restriction to visit the sub-forum about modded Thinkpads. So i came here to seek for help.

The me_cleaner is fully based on Software. The author claims it should be safe, but for different generation of Intel CPU, the way ME is implanted is different.
I think it's very risky to use that.

Thanks again. You are very helpful!

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#10 Post by atagunov » Wed Aug 11, 2021 2:08 pm

Longinus_es wrote:
Wed Aug 11, 2021 1:07 pm
The me_cleaner is fully based on Software. The author claims it should be safe, but for different generation of Intel CPU, the way ME is implanted is different.
To be honest until today I believed this was not the case. Confirming my prior belief https://github.com/corna/me_cleaner page says
obtaining the original firmware and flashing back the modified one is usually not trivial, as the Intel ME firmware region is often non-writable from the OS (and it's not a safe option anyways), requiring the use of an external SPI programmer
So the process in my understanding is

- use a hardware programmer to extract full content of the EEPROM chip where BIOS sits into a file
- use me_cleaner to modify it
- use a hardware programmer to put new content back into that chip
Longinus_es wrote:
Wed Aug 11, 2021 1:07 pm
since flashing bios has nothing to do with ME
I would like to disagree again.

I believe Intel ME firmware does sit in that EEPROM chip used by BIOS.
This is the same chip that "flashrom" utility writes to.

I don't know if "flashrom" utility is able to write to that part of the chip that contains Intel ME.
But notes on XY's site have the following to say about "06 August 2021 Updated BIOS":
...
Intel ME is updated to 14.1
...
So flashing that BIOS is supposed to upgrade your Intel ME. Surely flashing BIOS does have something to do with ME!

To be honest I don't know what has happened to your machine.
I don't know what this "bricking of ME" is about.
It seems that as a result of flashing these BIOS-es from that page something got corrupted in that zone of that EEPROM chip.
It is possible that flashing a verbatim copy of full EEPROM from somebody else's machine via a hardware flasher might fix your ME.
But I seriously don't know.
Longinus_es wrote:
Wed Aug 11, 2021 1:07 pm
Oh! Thanks for the tips about the open the bios.bin,
i don't have much background knowledge about bios, but i will try to modify the bios directly.
Is this BIOS a variation of "AMI Bios"? I think those tools for modifying bios.bin are applicable for particular "flavor" of BIOS and I've seen them offered for "AMI" BIOS-es. Should be easy enough to check.. Get tools for "AMI" bioses and try to open the file..

I suppose alternatively you could start by flashing bios_hap_1_safe.bin from XY's github.
In my understanding this should be exactly our latest and greatest BIOS with one setting related to ME changed.
Who knows maybe this is going to help you?..

And as a side-note when I finally get to flash my X2100 I will probably use bios_hap_1_safe.bin
I don't want to use me_cleaner for fear that it will make my machine less able to go into deeper energy-saving states.
And I don't want to let Intel ME run amok fully untamed - just because - why would I want my machine less secure than US gov't wants theirs?

I have become aware of this bios version thanks to your link to github - kudos for that,
this just shows that I'm chatting here on forum not only for your benefit but for my own as well :)
Longinus_es wrote:
Wed Aug 11, 2021 1:07 pm
right now i can't not access the 51nb forum,
because they have a new user restriction to visit the sub-forum about modded Thinkpads. So i came here to seek for help.
Oh this is sad to hear that we no longer have direct access to this source of help.. I'm certainly no match to people who used to be present on that forum.
X220, 2 *T520

xytech
Posts: 31
Joined: Tue Jun 11, 2019 4:17 am
Location: Singapore

Re: Pre-disabled ME X2100 Bios

#11 Post by xytech » Thu Aug 12, 2021 6:01 am

Hi guys, I've been in contact with the OP for a while regarding this issue.

As I did not provide enough info in my website, here's a very detailed summary of what happened.

To clear up some misinformations
The X2100 has a 16MB EEPROM which houses the IFD, GBe, BIOS, ME, EC firmwares. As far as I know, the ME does not house it's own firmware and probably only contains some basic boot code. All of the firmware is housed in the physical EEPROM alongside the other components of the BIOS.

HAP bit = 1 will not solve this issue as far as I've personally tested. I generated the BIOS for those who are a bit more security focused.

The start of the problem, June 2020
The EC was modified and edited by another prominent member of the TP community which fixed battery detection and charging issues. As he operated ONLY on the EC portion, he only flashed the EC portions which did not result in any issues. His code is also open sourced and I don't believe any of his patches led to any changes in the ME (if any) since the EC does not govern the ME, at least as far as I know.

The initial problem: V25, June 2020
There are quite a lot of people who tried the EC, both in Windows and in Linux. Up till now, the only change to the BIOS was the EC. Quite a lot of people flashed this in Windows via the official Intel tools. The stock BIOS was also updated using the Intel tool. Some people started realising their ME was bricked (0.0.0.0 in version) which caused the 51nb thread to be taken down. I also stated a warning to those using Windows and to use Linux to update it instead. I have not heard of other people who had this issue who flashed this in Linux.

Now, August 2021
I've since released an update to the BIOS, with some updated components and adjusted some values in the BIOS to make the machine more usable. These were all done by me using Intel's tools and AMIBIOS. I also wrote a Linux utility to update the BIOS and EC separately, as the initial EC patches were worked on via the EC only. I figured it would be safer to update the EC and the rest of the system separately.

What I've tried
I have personally bricked my ME as well. I've tried hardware flashing using a CH341a and even flashed the same BIOS from a non bricked board. I've tried everything and as far as I can tell, only disabling ME helps. When ME is disabled, you lose access to undervolting etc but boot times goes back to normal.

Symptoms and problems
Only boot times are affected as far as I can tell. This is due to the RAM retraining itself on every boot for some reason. If the ME were really corrupted, it would cause your computer to not boot so the corrupted ME is only at a very basic level. I've not seen any serial output on this machine as far as I know but I'll be talking to the manufacturers quite soon and hopefully get a way to debug the boards (and also help with coreboot ports).

Fix
I'll take some time to come up with a new BIOS update with ME disabled. I'll update my website with a word of warning for those who are going to attempt to flash it.
Interestingly enough, there was at least 1 person who had their ME recovered after the first erroneous EC flash. I've also been flashing the updated BIOS/EC on newly shipped boards and I've not run into this issue again. At this point, I suspect it could simply due to the hardware of the PCH/CPU. Perhaps the manufacturer used QS/ES variants of the PCH for some boards. If someone from Intel or an ME researcher is interested in this, please DM me and I can send you a bricked board.

PS
The board has no bootguard provisioned and the key is unfused. In short, the BIOS is fully open to any and all tinkering by anyone who is interested.

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#12 Post by atagunov » Thu Aug 12, 2021 7:50 am

xytech wrote:
Thu Aug 12, 2021 6:01 am
HAP bit = 1 will not solve this issue

...

only disabling ME helps
...

I'll take some time to come up with a new BIOS update with ME disabled
Hey XY! Good to "see" you :)

What is "ME disabling"?
Similar in effect to running me_cleaner on the BIOS?

P.S. I was trying to give OP/Longinus_es a hint it may be too difficult and risky for someone like me or him to do it
X220, 2 *T520

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#13 Post by exander » Fri Aug 13, 2021 1:12 pm

So, I am affected as well, but I did it on Linux, I may have been messing with updates back and forth so it may be due to that. But never happened before the August update.

I already talked with Xue on e-mail, but found this thread, so I am posting some info:

My BIOS shows this about ME:

Code: Select all

Version 0.0.0.0
Mode Secovr Jmpr/Heci MSG
SKU Unidentified
Status 1 N/A
Status 2 N/A

ME State Enabled
It takes 30 seconds for me to see 51nb logo on cold boot:
I tried already going back and forth various BIOSes.
I tried to remove the small battery for more than 30 sec and remove all power.
I tried hap=0 and hap=1 BIOSes.

I found a similar issue on some Lenovo on Intel Community Portal: https://community.intel.com/t5/Processo ... 764#M53073

It would be great to get:
BIOS without ME (to test if the delay is there and if it shuts down after 30 minutes).
Use me_cleaner on the ME.
Coreboot

Any suggestions, I am brave enough to use hardware flashing whatever. I have Raspberry Pi with SOIC-8 ready for action so to speak.

I think the issue may be caused by BIOS/EC combination or something like that, but after it is there, I don't it is inside the BIOS and EC part of EEPROM. And it is not stored in notebook live memory (I removed all the power). Anybody has an image to flash through hardware flashing? Are there parts of the EEPROM chip that are not flashed during the BIOS update?

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#14 Post by atagunov » Fri Aug 13, 2021 4:03 pm

Sorry to hear...
exander wrote:
Fri Aug 13, 2021 1:12 pm
It would be great to get:
BIOS without ME (to test if the delay is there and if it shuts down after 30 minutes).
Use me_cleaner on the ME.
Coreboot

...

Anybody has an image to flash through hardware flashing?
I'm no expert but if your SOIC-8 is ready why not try? You should be able to use hardware flasher to read your own chip, pass it through me_cleaner and use hardware flasher to put the result back into the chip. It seems that in the worst case a hardware flasher should allow you to roll back to what you have in that chip now..
exander wrote:
Fri Aug 13, 2021 1:12 pm
Are there parts of the EEPROM chip that are not flashed during the BIOS update?
I wish I knew.. The sizes of these bios.bin files are 16Mb and XueYao says the chip is 16Mb. It is possible that the content of that file is written verbatim into the chip. I suppose you could combine BIOS and EC bin files as per XY's .sh scripts, flash the resulting .bin via "flashrom", read it back via SOIC-8 and compare. This also means that you might be able to use me_cleaner directly on this combined .bin file but it appears wise to start by reading what you chip currently has as a precaution to be able to rollback in any case.

Coreboot looks like the next level of difficulty after that :)
X220, 2 *T520

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#15 Post by exander » Fri Aug 13, 2021 4:48 pm

atagunov wrote:
Fri Aug 13, 2021 4:03 pm
Sorry to hear...
exander wrote:
Fri Aug 13, 2021 1:12 pm
It would be great to get:
BIOS without ME (to test if the delay is there and if it shuts down after 30 minutes).
Use me_cleaner on the ME.
Coreboot

...

Anybody has an image to flash through hardware flashing?
I'm no expert but if your SOIC-8 is ready why not try? You should be able to use hardware flasher to read your own chip, pass it through me_cleaner and use hardware flasher to put the result back into the chip. It seems that in the worst case a hardware flasher should allow you to roll back to what you have in that chip now..
exander wrote:
Fri Aug 13, 2021 1:12 pm
Are there parts of the EEPROM chip that are not flashed during the BIOS update?
I wish I knew.. The sizes of these bios.bin files are 16Mb and XueYao says the chip is 16Mb. It is possible that the content of that file is written verbatim into the chip. I suppose you could combine BIOS and EC bin files as per XY's .sh scripts, flash the resulting .bin via "flashrom", read it back via SOIC-8 and compare. This also means that you might be able to use me_cleaner directly on this combined .bin file but it appears wise to start by reading what you chip currently has as a precaution to be able to rollback in any case.

Coreboot looks like the next level of difficulty after that :)
I currently have no experience modifying BIOS. From layout within Xue's repos, there is:

Code: Select all

00000000:00000fff fd
00400000:00ffffff bios
00400000:0040ffff ec
00001000:003fffff me
I looked into BIOS file and nothing interesting there, but me_cleaner looks for $FPT signature, this is on 0x2000 position, but when I extract from there and try me_cleaner, I get:

Code: Select all

ME/TXE image detected
Found FPT header at 0x0
Found 9 partition(s)
FTPR header not found, this image doesn't seem to be valid
So, I am kinda at loss here, if you could point me in some directions:
1. Where is ME located within BIOS? What is the problem above?
2. How to modify BIOS itself? Disable ME, set HAP?

Update:

Edit some debug messages and it definitely parses the ME, but som partition with FTPR header is missing, I have:

Code: Select all

PSVN
UEP
IVBP
MFS
UTOK
HVMP
RSTR
FLOG
IMDP
Last edited by exander on Fri Aug 13, 2021 4:53 pm, edited 1 time in total.

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#16 Post by atagunov » Fri Aug 13, 2021 4:51 pm

You're certainly ahead of me in your quest for knowledge and for a fresh ME-disabled BIOS. Pls. do post if you make any progress, I humbly admit I know nothing :)
X220, 2 *T520

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#17 Post by exander » Fri Aug 13, 2021 4:54 pm

atagunov wrote:
Fri Aug 13, 2021 4:51 pm
You're certainly ahead of me in your quest for knowledge and for a fresh ME-disabled BIOS. Pls. do post if you make any progress, I humbly admit I know nothing :)
I am more hoping for Xue to intervene. :D I am not really familiar with the BIOSes much.

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#18 Post by exander » Sat Aug 14, 2021 11:20 am

Longinus_es wrote:
Sun Aug 08, 2021 9:40 am
Hey fellas,
Recently i updated new bios for X2100(the august 8th one), which i found on Xue Yao's Site.
However, My X2100 lost the ME since last time, so the boot takes around 10s more than the normal situation.

But after flashed a pre-disabled ME, the problem is solved,
but this time after the bios update, the ME is enabled by default and it couldn't disabled anymore.

If anybody has updated to the bios, could you share me a pre-disable ME if possible, thx in advance.

PS: the new bios is great, somehow my x2100 can finaly enter the c7 and when i charge with usb-c while watching 4k, the charging consists.
But still updating has risk, so be careful
Can you make a dump of the working BIOS with ME disabled and enabled? So I can see where is it set? I am currently off my X2100.

gevor
Posts: 27
Joined: Mon Feb 15, 2021 6:48 am
Location: Portugal

Re: Pre-disabled ME X2100 Bios

#19 Post by gevor » Sat Aug 14, 2021 6:15 pm

xytech wrote:
Thu Aug 12, 2021 6:01 am

The initial problem: V25, June 2020
There are quite a lot of people who tried the EC, both in Windows and in Linux. Up till now, the only change to the BIOS was the EC. Quite a lot of people flashed this in Windows via the official Intel tools. The stock BIOS was also updated using the Intel tool. Some people started realising their ME was bricked (0.0.0.0 in version) which caused the 51nb thread to be taken down. I also stated a warning to those using Windows and to use Linux to update it instead. I have not heard of other people who had this issue who flashed this in Linux.

Symptoms and problems
Only boot times are affected as far as I can tell. This is due to the RAM retraining itself on every boot for some reason. If the ME were really corrupted, it would cause your computer to not boot so the corrupted ME is only at a very basic level. I've not seen any serial output on this machine as far as I know but I'll be talking to the manufacturers quite soon and hopefully get a way to debug the boards (and also help with coreboot ports).
Ah, so that's what it was!
I tried flashing the firmware from your site, marked as "June 6, 2021" using Linux, and then started noticing the boot issues. Then I flashed the original one, and the issues disappeared, and I just continued using the old firmware.

However, now I've checked, and I see 0.0.0.0 ME in the BIOS and ME disabled.

So is it possible that I bricked ME while flashing the June 6 update (the 2021 one, not 2000 one)?

What shall I do? Just forget about the ME for now?

gevor
Posts: 27
Joined: Mon Feb 15, 2021 6:48 am
Location: Portugal

Re: Pre-disabled ME X2100 Bios

#20 Post by gevor » Sun Aug 15, 2021 6:39 am

> Perhaps the manufacturer used QS/ES variants of the PCH for some boards.

In the /proc/cpuinfo I see stepping 0:
vendor_id : GenuineIntel
cpu family : 6
model : 166
model name : Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
stepping : 0
microcode : 0xe0

Same with i7z:
i7z DEBUG: Found Intel Processor
i7z DEBUG: Stepping 0
i7z DEBUG: Model 6
i7z DEBUG: Family 6
i7z DEBUG: Processor Type 0
i7z DEBUG: Extended Model a

And in BIOS I see stepping A0


Does it mean that this is the ES?

I tried multiple times to get to C6/C7, but the best I could was C3. Could it be the reason?

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#21 Post by exander » Sun Aug 15, 2021 9:24 am

gevor wrote:
Sat Aug 14, 2021 6:15 pm
Ah, so that's what it was!
I tried flashing the firmware from your site, marked as "June 6, 2021" using Linux, and then started noticing the boot issues. Then I flashed the original one, and the issues disappeared, and I just continued using the old firmware.

However, now I've checked, and I see 0.0.0.0 ME in the BIOS and ME disabled.

So is it possible that I bricked ME while flashing the June 6 update (the 2021 one, not 2000 one)?

What shall I do? Just forget about the ME for now?
I asked Xue for new BIOS with disabled ME. As new BIOS has ME enabled and because of this issue cannot be disabled and I have 30 seconds boot. I would forget about ME for now. If it were me, I would like ME completely removed.

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#22 Post by atagunov » Sun Aug 15, 2021 10:56 am

gevor wrote:
Sun Aug 15, 2021 6:39 am
I tried multiple times to get to C6/C7, but the best I could was C3.
Hi, which BIOS are you on? It seems you need one of the latest 2021 BIOS to go into deeper C states
exander wrote:
Sat Aug 14, 2021 11:20 am
Can you make a dump of the working BIOS with ME disabled and enabled? So I can see where is it set? I am currently off my X2100.
I fear that may be a little difficult for Longinus_es, my understanding is Longinus hasn't yet been using a hardware programmer. But we may have a better way
Longinus_es wrote:
Wed Aug 11, 2021 5:45 am
But 17m from 51nb has shared a bios based on Official V25 with ME is disabled as default, after flashed that, the problem seems solved.
Longinus, is there any chance you could provide that BIOS from 17m?
My idea is that 'expander' could compare it against the original V25 BIOS file and possibly figure out something useful.
For example if 'expander' finds out that the difference is only in ME area of the file he might be able to re-combine remnants of ME from 17m's file and the latest BIOS.
It's just a theory..

@expander, I actually don't know what the act of "ME disabling" consists of. XY has said it is not HAP bit. So what else can it be? It could be me_cleaner style intervention into the BIOS image, what you have been trying to achieve but which has proved to be not possible using just me_cleaner as it is now on its own.
X220, 2 *T520

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#23 Post by exander » Sun Aug 15, 2021 2:19 pm

atagunov wrote:
Sun Aug 15, 2021 10:56 am
gevor wrote:
Sun Aug 15, 2021 6:39 am
I tried multiple times to get to C6/C7, but the best I could was C3.
Hi, which BIOS are you on? It seems you need one of the latest 2021 BIOS to go into deeper C states
exander wrote:
Sat Aug 14, 2021 11:20 am
Can you make a dump of the working BIOS with ME disabled and enabled? So I can see where is it set? I am currently off my X2100.
I fear that may be a little difficult for Longinus_es, my understanding is Longinus hasn't yet been using a hardware programmer. But we may have a better way
Longinus_es wrote:
Wed Aug 11, 2021 5:45 am
But 17m from 51nb has shared a bios based on Official V25 with ME is disabled as default, after flashed that, the problem seems solved.
Longinus, is there any chance you could provide that BIOS from 17m?
My idea is that 'expander' could compare it against the original V25 BIOS file and possibly figure out something useful.
For example if 'expander' finds out that the difference is only in ME area of the file he might be able to re-combine remnants of ME from 17m's file and the latest BIOS.
It's just a theory..

@expander, I actually don't know what the act of "ME disabling" consists of. XY has said it is not HAP bit. So what else can it be? It could be me_cleaner style intervention into the BIOS image, what you have been trying to achieve but which has proved to be not possible using just me_cleaner as it is now on its own.
I think it just defaults BIOS settings switch to enable/disable BIOS. ME normally can be disabled in BIOS, but this issue causes the option to greyed out. And default is enabled.

Please, somebody, share that BIOS here.

atagunov
Senior Member
Senior Member
Posts: 921
Joined: Thu Apr 02, 2020 3:11 pm
Location: London, UK

Re: Pre-disabled ME X2100 Bios

#24 Post by atagunov » Sun Aug 15, 2021 3:16 pm

exander wrote:
Sun Aug 15, 2021 2:19 pm
I think it just defaults BIOS settings switch to enable/disable BIOS. ME normally can be disabled in BIOS, but this issue causes the option to greyed out. And default is enabled.
Interesting. I really wonder what the switch does. But if there is such a switch then AMI BIOS tools might be able to help you flip the default setting in bios.bin. Disclaimer: I never really used any of the tools..
X220, 2 *T520

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#25 Post by exander » Sun Aug 15, 2021 3:45 pm

atagunov wrote:
Sun Aug 15, 2021 3:16 pm
exander wrote:
Sun Aug 15, 2021 2:19 pm
I think it just defaults BIOS settings switch to enable/disable BIOS. ME normally can be disabled in BIOS, but this issue causes the option to greyed out. And default is enabled.
Interesting. I really wonder what the switch does. But if there is such a switch then AMI BIOS tools might be able to help you flip the default setting in bios.bin. Disclaimer: I never really used any of the tools..
I think it is not a hard task, but I have no experience with it, but I think it is just about that, to switch BIOS default for ME engine to disabled. If you know what tools to use, I can try myself.

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#26 Post by exander » Sun Aug 15, 2021 5:29 pm

atagunov wrote:
Sun Aug 15, 2021 3:16 pm
exander wrote:
Sun Aug 15, 2021 2:19 pm
I think it just defaults BIOS settings switch to enable/disable BIOS. ME normally can be disabled in BIOS, but this issue causes the option to greyed out. And default is enabled.
Interesting. I really wonder what the switch does. But if there is such a switch then AMI BIOS tools might be able to help you flip the default setting in bios.bin. Disclaimer: I never really used any of the tools..
After some playing, I was able to use the AMIBCP tool to change the settings of the BIOS and save it, but I am not currently with my X2100.

I have forked Xue's repository and made hap=1 variant with ME disabled.
https://github.com/exander77/X2100-BIOS ... sabled.rom

Anybody brave enough (with hardware flasher ready to recover if needed) to test it?

It was made like this:

Code: Select all

# Extracted header of the ROM (contains fd and me)
dd if=bios_hap_1_safe.bin count=$((0x400000)) of=hap_1_safe.header.rom bs=1
# Extracted BIOS part of the ROM
dd if=bios_hap_1_safe.bin skip=$((0x400000)) of=hap_1_safe.rom bs=1
# Modified by AMIBCP 5.02.0031 from hap_1_safe.rom to hap_1_safe_me_disabled.rom
# Put original header and modified BIOS together
cat hap_1_safe.header.rom hap_1_safe_me_disabled.rom > bios_hap_1_safe_me_disabled.bin

mjg59
Posts: 40
Joined: Sat Aug 21, 2004 7:53 am

Re: Pre-disabled ME X2100 Bios

#27 Post by mjg59 » Mon Sep 06, 2021 4:49 pm

I've been digging into this and found a couple of things. The first question I have is whether anyone has a working ME on the X2100 at all (ie, it appears in the BIOS config with a status that isn't SECOVR, and the running OS can talk to it). The ME can be disabled in a few ways:

1) The HAP soft strap can be set in the firmware descriptor table
2) The firmware can send a disable command to the ME before passing control to the OS
3) A jumper can be set that causes the ME to disable itself

The state that I'm seeing corresponds to (3), and there's further evidence from the status register in the SPI controller, which asserts that the firmware descriptor security override is set. If so, this feels like a consequence of the motherboard design - unless this control is wired up to the embedded controller in some way, I can't see any way that the firmware can override this.

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#28 Post by exander » Sun Oct 31, 2021 8:36 pm

mjg59 wrote:
Mon Sep 06, 2021 4:49 pm
I've been digging into this and found a couple of things. The first question I have is whether anyone has a working ME on the X2100 at all (ie, it appears in the BIOS config with a status that isn't SECOVR, and the running OS can talk to it). The ME can be disabled in a few ways:

1) The HAP soft strap can be set in the firmware descriptor table
2) The firmware can send a disable command to the ME before passing control to the OS
3) A jumper can be set that causes the ME to disable itself

The state that I'm seeing corresponds to (3), and there's further evidence from the status register in the SPI controller, which asserts that the firmware descriptor security override is set. If so, this feels like a consequence of the motherboard design - unless this control is wired up to the embedded controller in some way, I can't see any way that the firmware can override this.
I currently use this BIOS, which I made from what xyte.ch supplied to me and I applied hap=1 and patched EC into it:
https://github.com/exander77/X2100-BIOS ... xytech.bin
The issue disappeared and it seems to work fine.

Btw, is this safe to try&use?
https://github.com/mjg59/coreboot/commits/x2100_ng
I just compiled it. Anyone has pictures where is EEPROM chip located so I can hardware flash if I brick my machine?

exander
Posts: 48
Joined: Fri Aug 13, 2021 1:00 pm
Location: Prague, Czechia

Re: Pre-disabled ME X2100 Bios

#29 Post by exander » Sun Oct 31, 2021 10:17 pm

Am I assuming correctly, this is EEPROM chip for firmware?
Image

harryK
Sophomore Member
Posts: 172
Joined: Fri Jun 13, 2014 6:28 pm
Location: Glasgow, Scotland

Re: Pre-disabled ME X2100 Bios

#30 Post by harryK » Mon Nov 01, 2021 7:13 am

exander wrote:
Sun Oct 31, 2021 8:36 pm

I just compiled it. Anyone has pictures where is EEPROM chip located so I can hardware flash if I brick my machine?
If the x2100 is anything like the x210 you don't need to hardware flash. Coreboot can be flashed via software with

Code: Select all

flashrom -p internal -w coreboot.rom

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “51nb and other modded Thinkpads”

Who is online

Users browsing this forum: No registered users and 15 guests