T480/s T480 (bzw. X270/T470/etc.): BIOS Advanced Menu (skyra1n) & me_cleaner

iks230

Well-known member
Themenstarter
Registriert
8 Dez. 2021
Beiträge
771
Ich hoffe mal bei der Forensuche kein Thema übersehen zu haben, was dies bereits behandelt.

Modfiziertes BIOS (erweiterte Optionen und ausgeschaltete Intel Management Engine) am Beispiel eines T480 (gleiche Patch-Datei lässt sich auch auf X270, T470, xx70 bzw. xx80 anwenden).

Ich konzentriere mich in der Anleitung auf einen CH341a als Programmer für den Chip. Alternativ kann auch ein Raspberry Pi verwendet werden (Links dazu weiter unter).

optional vorher anschauen bzw. durchlesen
benötigte Hard- und Software
  • zweiter Rechner mit Linux für flashrom (geht auch unter Mac mit Homebrew; Windows wohl eher schwierig)
  • CH341a (3,3 V-Version!) plus SOIC8-Clip und entsprechende Verkabelung / Adapter
Allgemeine Hinweise
  • BIOS-Passwörter entfernen und BIOS auf Werkeinstellungen zurücksetzen
  • BIOS mindestens zweimal auslesen und überprüfen, ob beide Dateien identisch sind (z. B. via Prüfsumme) und Sicherheitskope anfertigen
  • Akku entfernen bzw. internen Akku im BIOS deaktivieren
  • da das TPM betroffen sein kann: ggf. vorher das System entschlüsseln, wenn die Verschlüsselung auf TPM aufbaut
  • den Clip immer nur stromlos auf den Chip aufsetzen bzw. loslösen
  • viele CH341a liefern 5 V statt der geforderten 3,3 V (hier ein Fix oder auf die v1.6 ausweichen; Kauflinks weiter unten)
  • auslesen hat ca. zweieinhalb Minuten gedauert, zurückschreiben ca. viereinhalb Minuten
  • sollte irgendwas schiefgehen: Sicherheitskopie zurückflashen
BIOS Advanced Menu (bietet zum Beispiel Overclocking-Optionen)
  • BIOS auslesen
  • in der Patch-Datei die Patches, die nicht angewendet werden sollen, mit # auskommentieren
  • UEFIPatch plus Patch-Datei (z. B. xx70_xx80_patches_v7.txt) auf das ausgelesene BIOS anwenden
  • mit einem HEX-Editor den Wert 4C 4E 56 42 42 53 45 43 FB durch 4C 4E 56 42 42 53 45 43 FF ersetzen (z. B. Okteta)
  • modifiziertes BIOS zurückschreiben
Nachteil: TPM funktioniert nicht mehr, da das BIOS nicht mehr signiert ist bzw. TPM ist im Manufacturing (MFG) Mode (wobei manchmal Bitlocker doch noch zu gehen scheint; könnte aber ein Problem bei Windows 11 werden wegen TPM-Pflicht).

Beispiel Kommandozeilen-Befehle (mit einem CH341a):
Code:
sudo flashrom -p ch341a_spi -r bios1.bin # BIOS auslesen Nr. 1

sudo flashrom -p ch341a_spi -r bios2.bin # BIOS auslesen Nr. 2

sha512sum bios1.bin bios2.bin # sollte die gleiche Prüfsumme ergeben

diff bios1.bin bios2.bin # Alternative zu sha512sum: keine Ausgabe bedeutet "Dateien identisch"

nano xx70_xx80_patches_v7.txt # Patch-Datei bearbeiten bzw. Patches ggf. auskommentieren mit # (z. B. für X270)

./UEFIPatch bios1.bin xx70_xx80_patches_v7.txt -o bios_patched.bin # Patch anwenden

okteta bios_patched.bin # bios_patched.bin mit dem HEX-Editor bearbeiten

sudo flashrom -p ch341a_spi -w bios_patched.bin # BIOS zurückschreiben

Intel Management Engine abschalten
Beispiel Kommandozeilen-Befehle (mit einem CH341a):
Code:
sudo flashrom -p ch341a_spi -r bios1.bin # BIOS auslesen Nr. 1

sudo flashrom -p ch341a_spi -r bios2.bin # BIOS auslesen Nr. 2

sha512sum bios1.bin bios2.bin # sollte die gleiche Prüfsumme ergeben

diff bios1.bin bios2.bin # Alternative zu sha512sum: keine Ausgabe bedeutet "Dateien identisch"

./me_cleaner.py -s -O bios_ohne_me.bin bios1.bin

sudo flashrom -p ch341a_spi -w bios_ohne_me.bin # BIOS zurückschreiben

Links zu Raspberry Pi
Links, die mir weitergeholfen haben:
Beispiele für Terminal-Ausgaben:

BIOS auslesen:
Code:
$ sudo flashrom -p ch341a_spi -r bios1.bin
flashrom v1.2 on Linux 5.18.11-200.fc36.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ch341a_spi.
Reading flash... done.

Checksummen überprüfen:
Code:
$ sha512sum *
ebc50f6fbf58d4ff9f67a81487f18c1f[...] bios1.bin
ebc50f6fbf58d4ff9f67a81487f18c1f[...] bios2.bin

me_cleaner anwenden:
Code:
$ ./me_cleaner.py -s -O bios_ohne_me.bin bios1.bin
Full image detected
Found FPT header at 0x3010
Found 13 partition(s)
Found FTPR header: FTPR partition spans from 0x1000 to 0x130000
Found FTPR manifest at 0x1478
ME/TXE firmware version 11.8.92.4222 (generation 3)
Public key match: Intel ME, firmware versions 11.x.x.x
The HAP bit is NOT SET
Checking the FTPR RSA signature... VALID

mit me_cleaner den Status von ME auslesen:
Code:
$ ./me_cleaner.py -c bios_ohne_me.bin
Full image detected
Found FPT header at 0x3010
Found 13 partition(s)
Found FTPR header: FTPR partition spans from 0x1000 to 0x130000
Found FTPR manifest at 0x1478
ME/TXE firmware version 11.8.92.4222 (generation 3)
Public key match: Intel ME, firmware versions 11.x.x.x
The HAP bit is SET
Checking the FTPR RSA signature... VALID

BIOS zurückschreiben:
Code:
$ sudo flashrom -p ch341a_spi -w bios_ohne_me.bin
flashrom v1.2 on Linux 5.18.11-200.fc36.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

BIOS patchen für Advanced Menu:
Code:
$ ./UEFIPatch bios1.bin xx70_xx80_patches_v7.txt -o bios_patched.bin
parseVolume: unknown file system FFF12B8D-7696-4C8B-A985-2747075B4F50
parseBios: one of volumes inside overlaps the end of data
parseFile: non-empty pad-file contents will be destroyed after volume modifications
patch: replaced 16 bytes at offset 3B60h 04320B483CC2E14ABB16A73FADDA475F -> 778B1D826D24964E8E103467D56AB1BA
patch: replaced 16 bytes at offset 118D0h 04320B483CC2E14ABB16A73FADDA475F -> 778B1D826D24964E8E103467D56AB1BA
patch: replaced 28 bytes at offset 6B80Ch 09072C1300000209072D1300000309072E1300000409072F13000005 -> 09072C1300001909072D1300001A09072E1300001B09072F1300001C
patch: replaced 58 bytes at offset 53B44h 00143100300030004D0068007A000000143100350030004D0068007A000000143200300030004D0068007A000000143200350030004D0068007A -> 00143100320035003000200020000000143100330030003000200020000000143100330035003000200020000000143100340030003000200020
patch: replaced 26 bytes at offset 69DDFh 0A821286A10B04001206A60B010016021206A60B020016022902 -> 0A821286A10B04001206A60B000016021206A60B000016022902
patch: replaced 11 bytes at offset 545h 0BC8394B040F8437020000 -> 0BC8394B04E93802000000
patch: replaced 5 bytes at offset 535h C8390B7516 -> C8390B7500
Image patched
 
Zuletzt bearbeitet:
@KNARZ ich hoffe bald ne längere Episode Zeit zu haben danke für den Input bislang auch für dias Beispiel und die Programmempfehlung.

Sonst kann ich kleines berichten hier gabs ja kurz mal Diskussion ob man mit nem TPM im MFG Mode noch nen Clean-Install eines Stock-Win11-24h2 ISO machen könnte. Also nix mit ner unattended.xml oder was Rufus da tut sondern wirklich Stock wie es der 0815-User von MS mit dem MediaCreationTool ziehen würde.

Ausgangslage:
1730665210853.png

Ja geht. Stört Win11 überhaupt nicht bei der Installation. Bis ich aufgrund meiner plötzlich höheren CPU Temperaturen an der Kernisolierung rumgespielt habe, sprich die Speicher-Integrität ausgeschaltet hatte, war ich sogar lt. WIN im Bereich der erweiterten Hardwaresicherheit was ein Unfug :P.

1730665233357.png



Tatsächlich plagt mich seit der WIn11 Installation aber ein anderes Problem, im Average hab ich fast 10 Grad mehr CPU-Temperatur als zuvor unter Win10, es scheint mir auch so als würde die CPU viel öfter schlagartig sehr hoch takten. Der vorher beim Surfen unhörbare Lüfter war heute schon öfter an als vorher ne Woche.

Also es ist tatsächlich so ich bin da sehr feinfühlig das die CPU gerade beim öffnen von Programmen sehr agressiv hochtaktet. Im Idle geht das weiter runter auf die 43-47 Grad die ich sonst auch habe aber es taktet viel schneller hoch. Komisch!
Beitrag automatisch zusammengeführt:

Ich bin jetzt etwas weiter bezüglich meiner WIN11 Energieprobleme. Mir ist zwischenzeitlich aufgefallen das Gerät geht auch nicht mehr in Standby (S3). Mein bester Energiesparmodus ist aktuell Display aus obwohl eingestellt und verfügbar.

Dieser Modus wird aber lt. powercfg unterstützt:
1730833174252.png

Die weitere Forschung erbrachte folgendes:

1730833289053.png

Die Fehler sind bis auf den letzten alle USB selelektives Energiesparen, vermute das ist ein HUB / Monitor von mir. Jedenfalls denk ich unspektakulär. Die letzte Meldung aber ist interessant:

1730835315001.png

Wie kein ASPM? Bin deutlich mehr in der Linux Welt zu Hause und ich bin davon schon auch Einsparungen gewohnt.

Also mal sehen was das Advanced-Bios bietet:

Unter ACPI-Settings findet sich folgende Option:
1730836541029.png
Ich hatte die testweise auf OS Controlled das ändert leider nix an o.g. Meldung das ASPM deaktiviert sei.

Zur Erläuterung man kanns eigentlich nicht deaktivieren übers Bios, Enabled wäre OS-Controlled, Disabled = BIOS Controlled.

Schade, WIN11 bislang sehr negativ auf diesem Gerät für mich, S3 Suspend geht / geht mal nicht / ENergieverbrauch weiterhin höher als unter Win10 dazu dieses nervöse Hochtakten der CPU.
 
Zuletzt bearbeitet:
Es gibt eine neue xx70_xx80_patches_v7.txt hat die schon jemand getestet und kann was zu den unterschieden sagen?

1.53 Bios ist immer noch inkompatibel?
 
Moin, breaking News :).

Nachdem sich lang (nach außen) nix in Gerrit bezüglich des dort Anfang August aufgetauchten Coreboot-Ports des T480 / T480s getan hat, wurde es jetzt funktional umgesetzt. Libreboot als Coreboot Distribution hats schon seit gestern drin. Hab es noch nicht kompiliert / geflasht, aber andere Ports von Leah Rowe liefen bei mir immer problemlos und ist eben die anfängerfreundliche Alternative zu nem Coreboot-Build.


DGPU (wie immer) sowie Thunderbolt macht wohl noch Probleme (breaks S3-Suspend) weshalb aktuell kein Thunderbolt geht, Laden und Display-out via USB-C alt Mode schon. Sonst sieht das soweit funktional aus. Hooray <3.

Gut möglich das da demnächst noch mehr an Sky*/Kabylake Thinkpads mit rutscht also sowas wie T470, P51s, X1 Carbon Gen6. Scheinbar ist man jetz tin der Lage Bootguard entsprechend auszuhebeln. Sehr schöne Entwicklung!
Nice!
 
Zuletzt bearbeitet:
Nice! Das sieht sehr vielversprechend aus. Boot Guard ist aber auch ne Zicke!
 
Finds stark der Bub von dem Blog ist erst 15 :). Ja der Ton in #libreboot ist eher rough, aber woher soll er das mit IRC auch wissen, als diese Kommunikationsform seine Hochzeit hatte war der nichtmal auf der Welt. Von dem her doppelt cool das er es hinbekommen hat auch mit seinem nicht optimalen Equipment und diesem seltsamen Artix. Bloß zur Erklärung, Libreboot ist eigentlich super chillig es gibt einen ./mk dependencies
xyz distro befehl der dir initial die Abhängigkeiten baut um überhaupt weitermachen zu können aber das funktioniert halt mit nem Debian, Fedora oder sonstwie was gebräuchlichen, aber nicht mit Artix, Void oder welcher randständigen Distro auch immer.

Warte jetzt noch ein paar commits ab, der Entwickler ist wohl aktuell noch stark dran und werd dann wie immer einen klassischen ED2K-Coreboot Build machen. Libreboot experimentiert allerdings auch grad schon mit U-Boat als Loader. Das T480 ist allerdings auch einfach so unfassbar gut&ohne viel Aufwand im Auseinanderbau zu flashen.
 
Ja definitiv, da kann man noch viel bewegen können. Wenn der Port schon geglückt ist, dann ist der Rest sicher auch zu bewältigen!
Finde es auch krass dass er das aktuellste BIOS 1.52 dafür verwendet hat....Wahnsinn wie viel sich in kürzester Zeit so tun kann..ich warte seit gefühlt ne Ewigkeit dass Coreboot auf dem T480 realisiert wird..!
 
Hallo, das Bios bzw. die Version ist ja dafür "egal" da dieser Bereich dabei komplett überschrieben wird. Erhalten bleiben im Original ja nur die GBE Region, der Bereich für den EC und die verkleinerte ME-Region. Wie von @KNARZ beschrieben der "Shwostopper" bislang war eben Bootguard. Was offensichtlich kein Problem mehr darstellt.
 
Sehr schön. Es wurde also ne Schwachstelle in ME v11 gefunden. Damit kann dann vermutlich, in Theorie, jedes Gerät mit ME v11 gepatched werden. Ein funktionierendes Coreboot Image fürs T480s habe ich ja seit Jahren erhalten, jedoch ging es damals um das Prototypen-Gerät was ich hatte, bei dem Bootguard / Signierung / Hash nicht gefused war.
 
Hallo, das Bios bzw. die Version ist ja dafür "egal" da dieser Bereich dabei komplett überschrieben wird. Erhalten bleiben im Original ja nur die GBE Region, der Bereich für den EC und die verkleinerte ME-Region. Wie von @KNARZ beschrieben der "Shwostopper" bislang war eben Bootguard. Was offensichtlich kein Problem mehr darstellt.
Jap stimmt, hast natürlich Recht. Da CB selbst ja der BIOS Ersatz ist, macht das gar keinen Unterschied. War da gedanklich und thematisch noch woanders im Kopf unterwegs...
 
Falls interessant. Das X1 Carbon Gen6 läuft auch mit gesetzten HAP/AltMeDisable bit. Keine Probleme mit S3 Suspend, Thunderbolt, ExtDisplay via USB-C.

Der SOIC-8-Chip ist leicht zu erreichen. Backcover weg unterhalb der CPU (Bilder anbei). Der Kühler muss dafür nicht ab, aber ich war neugierig auf PTM7950 :).

Flashrom 1.4.0 erkennt nachfolgenden Chip und kann diesen problemlos lesen&schreiben:

Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on serprog.

./me_cleaner.py -s -O bios_removed_me.bin bios1.bin
Full image detected
The ME/TXE region goes from 0x3000 to 0x700000
Found FPT header at 0x3010
Found 13 partition(s)
Found FTPR header: FTPR partition spans from 0x1000 to 0x130000
Found FTPR manifest at 0x1478
ME/TXE firmware version 11.8.96.4657
Public key match: Intel ME, firmware versions 11.x.x.x
The HAP bit is NOT SET
Setting the HAP bit in PCHSTRP0 to disable Intel ME...
Checking the FTPR RSA signature... VALID
Done! Good luck!
anton@CorebooT440p:~/x1c6$ ls


Screenshot_2025-06-09_21-17-12.png
Screenshot_2025-06-09_21-19-10.png
 
Flashrom 1.4.0 erkennt nachfolgenden Chip
Ich nutze schon seit längerem flashprog (ein flashrom-fork). Wird sehr aktiv entwickelt, und ist z.B bei Libreboot mittlerweile Standard.
Wenn flashrom an seine Grenzen kommt oder unsicher ist, hat flashprog bei mir schon öfter gesagt: "klar, kein Problem, mach´ ich!"
Z.B. die Liste unterstützter Chips:
 
flashrom hat bei mir auch öfter mal gemeckert, hatte aber auch leider immer diese billo-clips die mehr schlecht als recht greifen...von daher konnte ich nicht immer den Verursacher ausfindig machen. Demnächst wird aber aber auch das neue Tool/Fork ausprobiert
 
Ja kenn ich beide. Nehmen sich meines Erachtens beide nicht viel von der Unterstützung der Chips. Gefährliches am Rande nur mitbekommenes Halbwissen scheinbar haben sich die Entwickler von Flashrom überworfen und der Entwickler der Flashprog dann geforkt hat wird eher von Leah Rowe(Libreboot) unterstützt weshalb das soweit ich weiß auch in deren LBMK Libreboot mit runtergeht.

Meistens ist es eher der Clip der Probleme macht ja, die Pomona sind halt stand der Dinge. Naja und leider bin ich oder besser gesagt meine Augen auch nicht mehr in meinen Zwanzigern Ich arbeite regelm. mit Stirnlampe für das extra Quäntchen Licht auf die Kontakte um im ersten move direkt optimal zu platzieren so gehen imo auch die guten Clips sonst schnell hinüber wenn man nur leicht daneben geht. Mein Pomona 5250 hat inzwischen glaub ich 30 Einsätze runter wenn ich mir so die Ordner an Auslesungen anschaue grob überschlagen :D.
 
scheinbar haben sich die Entwickler von Flashrom überworfen
Der Flashprog-Entwickler ist ein ziemlich heller Kopf, und war lange Zeit im coreboot-Kernteam. Offenbar aber auch ein Hitzkopf, und nach mehreren verbalen Entgleisungen, die ihm bei coreboot vorgeworfen wurden, ist er dann dort gegangen worden. Da er somit aus der coreboot-Entwicklung mehr oder weniger draußen war, hat er mit flashprog weitergemacht (was ich persönlich nicht die schlechteste Art finde, einen flame war hinter sich zu lassen).
 
Falls interessant, T580 ist ebenfalls extrem zugänglich. Der SOIC-8 Bios-Chip sitzt unterhalb vom WWAN-Slot.

Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on serprog. Also exakt das gleiche wie beim X1 Carbon oder T480. Die drei Geräte sind jedenfalls ein Träumchen von der Zugänglichkeit wenn man da an frühere Generationen denkt die regelmäßig "Komplettzerleger" waren und dann noch auf mehrere Chips splitten...
 

Anhänge

  • PXL_20250613_200103937.MP.jpg
    PXL_20250613_200103937.MP.jpg
    282,8 KB · Aufrufe: 20
  • PXL_20250613_200113240.MP.jpg
    PXL_20250613_200113240.MP.jpg
    215,3 KB · Aufrufe: 20
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben