T5xx (T500-550 ohne "p") Core2 Quad mit Coreboot / Libreboot auf T500 (+ wahrsch. auch T400) benutzen [BETA]

el-sahef

Active member
Themenstarter
Registriert
4 Aug. 2008
Beiträge
1.666
Den Quadcore-Mod von hier hatte ich zuerst an einem T500-Board probiert, allerdings machte mir damals das BIOS einen Strich durch die Rechnung, siehe dazu hier der Abschnitt "Wieso es beim T500 und W500 nicht geht" am Ende des ersten Post.

Mittlerweile gibt es aber Libreboot für das T500, was im Prinzip ein Coreboot ohne BLOBs wie z. B. CPU-Microcode ist. Eventuell gibt es auch noch weitere Änderungen am Coreboot-Code, genau weiß ich das nicht. Mit den ROMs, die für das T500 angeboten werden, gehen Quads ebenfalls nicht. Nun bin ich endlich mal dazu gekommen, mit einem Pandaboard die Debug-Ausgaben von Libreboot mitzuschneiden, wenn ein Quad eingebaut ist und der Boot-Prozess bleibt genau bei der Initialisierung der dritten CPU stehen. Untersuchung des Codes hat dann ergeben, dass in der kconfig-Datei zum jeweiligen Mainboard, für das Coreboot bzw. Libreboot gebaut wird, im Fall des T500 (was alle Dateien aus dem Ordner für das T400 nimmt) die maximale Anzahl der CPUs auf 2 festgelegt ist.

Diese Zahl auf 4 geändert, ROM neu generiert und geflasht --> Quadcore geht. Da in der aktuellen Libreboot-Version Displaypanels über 1280x800 beim T500 nicht gehen habe ich dann das originale VGA-BIOS für die Intel-Grafik aus dem Lenovo-BIOS extrahiert und dieses anstatt dem "native VGA init" in das ROM integriert. Damit gehen jetzt auch die höherauflösenden Panels. Außerdem habe ich noch SeaBIOS als Payload gewählt anstatt GRUB (damit man auch Windows booten kann) und Microcode-Updates ebenfalls zur Integration ausgewählt. Ich habe es nur auf einem Board ausschließlich mit Intel-Grafik getestet und nicht mit Intel+ATI.

Mit diesem ROM kann man Linux und Windows 7 mit der Quadcore-CPU booten und Suspend-to-RAM geht ebenfalls. Allerdings gibt es noch einige Probleme:

- Tastatur in SeaBIOS funktioniert oft nicht (später im Betriebssystem geht sie dann)
- Aufwachen aus Suspend-To-RAM dauert unter Windows 7 ewig, manchmal gehts garnicht
- Uhr funktioniert unter Windows 7 nicht
- Installation von Windows 7 von DVD läuft nicht durch, muss schon auf HDD installiert sein (Linux-Installation nicht getestet)
- evtl. noch mehr

Unter Linux geht die Uhr und auch ansonsten läuft das vom Gefühl her deutlich runder. Könnte man vermutlich schon benutzen.

Die letzte Libreboot-Version ist vom 18.5.2015. Danach gab es noch vier Coreboot-Releases. Daher vermute ich mal, dass die Situation mit der nächsten Libreboot-Version besser wird. Vielleicht sollte ich mal den aktuellen Stand vom git-Server ausprobieren.

Ich habe auch ROMs direkt mit der letzten Coreboot-Version (und den beiden davor) erstellt, aber da funktioniert das Aufwachen aus dem Suspend-to-RAM garnicht. Auf der Libreboot-Seite steht auf der Seite für das X200 das Libreboot und Coreboot den RAM unterschiedlich initialisieren, was der Grund dafür sein könnte, dass mit Coreboot das Aufwachen aus dem Susspend-to-RAM nicht funktioniert hat. Das X200 und das T400 teilen sich nahezu den kompletten Code, das T400 sogar mit dem T500 derzeit zu 100%. Deswegen sollten alles hier beschriebene auch fürs T400 gelten, kann ich aber mangels Gerät nicht ausprobieren. Auf dem R500 und R400 soll es wohl ebenfalls gehen. Vom R500 weiß ich aber, dass wie beim 14,1"-Widescreen-T61 die Durchkontaktierung für die GTLREF-Verbindung (siehe weiter unten) fehlt, so dass man da eine Brücke mit Lackdraht im Sockel legen müsste.

Ob man trotz Coreboot die CPU problemlos übertakten kann, so wie hier, wäre ebenfalls noch zu prüfen. Damit könnte man einen relativ billigen Q9000 nahezu auf QX9300-Niveau beschleunigen. Dieser Post wird noch etwas "user-freundlicher" gemacht, wenn das ganze noch etwas besser funktioniert (bezogen vor allem auf den Betrieb mit Windows).


Die Vorgehensweise ist hardwareseitig die selbe wie beim T61, nur dass der Mod für 1066 MHz FSB entfällt, da das T500 damit bereits ab Werk klarkommt.

Core 2 Quad zum Laufen bringen:

1) CPU-Pins isolieren:

Damit ein Quadcore läuft, müssen die Pins D8, AA7, AA8, AC8 und AE8 isoliert werden. Ich habe hierfür die Isolierung von einem dünnen Kabel aus dem Modellbahn-Zubehör verwendet. Diese "Röhrchen" lassen sich dann mit einer Pinzette leicht auf die entsprechen Pins der CPU stecken.

Man kann stattdessen auch die entsprechenden Pins mit einem Seitenschneider abknipsen. Schmälert allerdings den Wiederverkaufswert des Core2 Quad ;) .



2) Löcher im Sockel vergrößern:

Da die isolierten Pins jetzt dicker sind, müssen die entsprechenden Löcher im Sockel vergrößert werden, damit man die CPU noch reinstecken kann. Damit dabei keine Spähne in den Sockel kommen und die Kontakte nicht beschädigt werden habe ich zunächst das Oberteil mit den Löchern an den vier Schnapphaken seitlich ausgehängt und eine dünne Holzplatte zwischen den Sockel und das Oberteil mit den Löchern geschoben. Danach wurden die entsprechenden Löcher mit einem 1-mm-Bohrer per Hand aufgebohrt.

Auf keinen Fall versuchen, die Löcher aufzubohren, ohne das Oberteil auszuhängen, ansonsten schrottet man die Kontakte im Sockel! Dann noch lieber alle vier Haltenasen abschneiden.

Es gibt zwei verschiedene Sockel, einen schwarzen und einen weißen. Bilder, die zeigen, wie man das Oberteil am besten aushängt, befinden sich in Post #153 vom T61-Quadcore-Thread.



T500-Mainboard Sockel nach der Änderung:



3) Mainboard modifizieren:

Es gibt bei Core2-CPUs fürs T500 ein Signal bzw. Pin GTLREF, an dem 0,63* VCC1R05B anliegen muss. Lenovo macht das im W700 (was ab Werk mit Core2 Quads läuft) über einen Spannungsteiler mit zwei Widerständen (2k und 1k). Bei Quad-Cores ist ein weiterer solcher Pin (D22) vorhanden, der bei den Dual-Cores Reserved ist. An den muss man auch die 0,63*VCC1R05B anlegen.

Für den entsprechenden Sockel-Kontakt ist eine Durchkontaktierung auf dem Mainboard, die man von der Unterseite anzapfen kann. T61-Mainboards der 14"-Widescreen-Modelle haben diese Durchkontaktierung nicht, nur bei den 14"-4:3-Boards und den 15,4"-Widescreen-Boards ist sie vorhanden.

Um den Pin D22 (GTLREF_2) auf 0,63*VCC1R05B zu setzen lötet man eine Kabelverbindung wie im Bild gezeigt von der Durchkontaktierung von GTLREF (Pin AD26) zur Durchkontaktierung von GTLREF_2 (Pin D22). Das Kabel sollte dabei möglichst kurz sein.

gtlref-fryppy-neu45avr.jpg


cimg202656uj2.jpg


Jetzt kann man die Quad-Core-CPU im Sockel platzieren und damit ins Lenovo-BIOS gehen.



Dort sollte die CPU auch richtig angezeigt werden.

bild8yss96.jpg


Allerdings ist (anders als beim T61) weiterbooten nur möglich, wenn man "core multiprocessing" auf "disabled" stellt, so dass nur ein Core aktiv ist. Ansonsten bleibt das BIOS mit dem Quadcore nach dem Bild mit dem Thinkpad-Logo stehen.

bild95hstz.jpg


Um dieses Problem zu umgehen brauchen wir Coreboot.

4) Lenovo-BIOS sichern und Coreboot-ROM flashen:

Mit einem externen Flasher den kompletten Inhalt des BIOS-Chips auslesen. Das ist das Backup, um zum normalen Lenovo-BIOS zurückkehren zu können. Wegen dem Security-Chip kann man da später auch nicht so ohne weiteres einen Dump von einem anderen Mainboard nehmen, also auf jeden Fall vorher ein Backup machen. Anschließend die geänderte Libreboot-ROM-Datei von hier runterladen (EDIT 17.06.2017: neues Coreboot-ROM für T400 und T500 mit Microcodes, originalem VGA-BIOS und Sea-BIOS Payload hier) und mit dem externen Flasher auf den BIOS-Chip aufspielen. Infos hier. Ich habe den Chip abgelötet und einen TL866A genommen. Jetzt sollte das Booten von Linux und Windows mit dem Core2 Quad funktionieren. Achtung, es gibt einige wenige T500, die einen 4-MB-Flash-Chip statt dem 8-MB-Flash-Chip haben (diese Geräte kamen ohne Intel AMT). Für die bräuchte man ein anderes ROM, was ich aber nicht generiert habe, da ich so ein Gerät nicht besitze und es demnach auch nicht testen kann.



Da in diesem ROM auch die MAC-Adresse der LAN-Karte abgelegt ist haben alle Geräte mit diesem ROM LAN-seitig die gleiche MAC-Adresse. Will man die originale MAC-Adresse behalten kann man sich mit dem Tool ich9gen eine neue Flashdescriptor+Gbe-Region erstellen mit der eigenen MAC-Adresse. Diese steht auf dem Aufkleber bei den RAM-Slots (RAM muss ausgebaut sein, um den Aufkleber sehen zu können).

Infos hierzu siehe https://libreboot.org/docs/hcl/gm45_remove_me.html#ich9gen und https://www.coreboot.org/Board:lenovo/x200
 
Zuletzt bearbeitet:
Diese Zahl auf 4 geändert, ROM neu generiert und geflasht --> Quadcore geht.


Kannst du sagen wie bzw. wo genau das geändert werden muss? Ich würde das gerne mal testen und mein R400 "aufrüsten" würde aber bei Libreboot bleiben wollen und dein fertiges Image nicht benötigen, lediglich die Einstellungen in Libreboot ändern wollen. Thx
 
In dieser Datei den Wert von MAX_CPUs von 2 auf 4 ändern. Wo diese Datei bei Libreboot ist weiß ich aber gerade nicht.
 
Bei Libreboot befindet sich die Datei in der Variante für das am meisten verbreitete BIOS mit 8MB hier.

Ich hätte noch eine Frage zum Hardware-Mod: Ich konnte die PINs inzwischen abzwacken (musste mir einen speziellen Schneider dafür kaufen), aber leider hat sich die Verbindung hinten am Sockel durch den Druck des Blechs mit den Gewinden für den Kühler (Retention Plane?) gelöst. Wie habt ihr das Problem umgangen? Habt ihr das Blech einfach aufgeschnitten, so dass das Kabel da hinten gemütlich Platz hat?
 
Das Teil mit den Gewinden für den Kühler vom T60 hat etwas Abstand vom Mainboard. Falls die Version, die beim Mainboard direkt aufliegt bei dir Probleme mit dem Kabel hat könntest du dir so ein Teil vom T60 holen. Ich habe aber auch mit der anderen keine Probleme gehabt bisher.
 
Also ich habe bei mir das "42W2762", das wohl auch beim T61 verbaut wurde. In der Bucht gibt es einen Anbieter, der das "42W2436" verkauft. Ist es das, was Du meinst?

Ansonsten habe ich vielleicht doch ein Kabel mit einer zu dicken Isolierung genommen...es ist nämlich wie du sagst schon etwas Luft vorhanden, aber eben nicht allzu viel und in meinem Fall wohl nicht ausreichend.
 
Wenn ich da nach Bildern suche sehen die beide gleich aus. Und bei der Version ist bei mir auch genug Platz für das Kabel.
 
Dann habe ich vermutlich einfach ein zu dickes Kabel bzw. eines mit einer zu dicken Isolierung genommen - danke, werde es dann mal mit einem dünneren probieren.

- - - Beitrag zusammengeführt - - -

Ich habe jetzt ein dünneres Kabel drin und damit klappt's jetzt endlich. Im Single-Core-Betrieb funktioniert's mit dem Lenovo-BIOS, und das Kompilat von el-sahef läuft soweit auch.

@el-sahef: Ich kriege es aber einfach nicht hin, ein selbstgebautes Coreboot-4.5-Image mit dem Quadcore zu booten (kein Bild, auch kein Bootversuch von USB). Selbstgebaute Images laufen mit dem Dualcore hingegen problemlos (mit entsprechender Option der MAX_CPUs). Interessant ist auch, dass das selbstgebaute Image trotz 1600er-Display auch mit nativer Grafik-Initialisierung auf dem Dualcore bootet. Auf dem Quadcore habe ich bei den VGA-ROMs sowohl ein selbstextrahiertes VBIOS als auch das aus deinem Image probiert (ist ein anderes) - leider geht beides nicht. Microcode-Updates habe ich ebenfalls aktiviert, das hat aber auch nicht geholfen.

Wenn ich die Config aus deinem Image mittels "make olddefconfig" in coreboot einspiele, erhalte ich übrigens diese Warnungen:

Code:
#
# ignoring nonexistent symbol EXPERT
#
#
# ignoring nonexistent symbol SEABIOS_MALLOC_UPPERMEMORY
#
#
# ignoring nonexistent symbol CONSOLE_PRERAM_BUFFER_SIZE
#
#
# ignoring nonexistent symbol CPU_MICROCODE_ADDED_DURING_BUILD
#
#
# ignoring nonexistent symbol CONSOLE_PRERAM_BUFFER_BASE
#
#
# ignoring nonexistent symbol DEVICE_SPECIFIC_OPTIONS
#
#
# ignoring nonexistent symbol PER_DEVICE_ACPI_TABLES
#

Du schreibst, dass es bei dir mit Coreboot lief und dass es dabei nur Probleme mit dem Standby gab. Hast du vll. noch die entsprechende Config und könntest diese zusammen mit der Coreboot-Version, bei der du es probiert hattest, hier kurz posten? Danke!

- - - Beitrag zusammengeführt - - -

Nach langem Rumpropieren bin ich jetzt dahintergekommen: Die besagte Kconfig im t400-Ordner überschreibt die Einstellungen immer in der .config, deswegen bringt es nichts, wenn man die Einstellungen in der .config vornimmt.

Ich habe jetzt sowohl Coreboot 4.4 als auch 4.5 zum Laufen bekommen. Ohne VBIOS gibt es leider kein Bild, und mit VBIOS bekomme ich nur Coreboot 4.4 zum booten. Coreboot 4.5 bleibt vor dem Seabios hängen (blinkender Cursor), wieso auch immer. Man kann es aber zumindest mit Linux "blind" booten, weil da die GPU vom Betriebssystem initialisiert wird. Ich habe meine entsprechenden Config-Dateien für Coreboot 4.4 und 4.5 hier angehängt, falls jemand daran interessiert sein sollte. Bei mir laufen übrigens diverse Live-Systeme soweit auch ohne die Microcode-Updates.

Größter Unterschied/Vorteil zu deinem ROM @el-sahef: Das Quadcore-T500 zieht bei niedrigster Helligkeit (Display fast komplett dunkel) nur noch 15W im Leerlauf und nicht mehr 28-30W.

Anhang anzeigen t500_coreboot_4.4_vga.txtAnhang anzeigen t500_coreboot_4.5_novga.txt
 
Zuletzt bearbeitet:
hat sich was neues ergeben ?
gibts auch ne mod für den ram um mehr mhz raus zu holen (für die graka?)
 
el -sahef bist du am 10.06 auch in Mainz ?
ich könnte ein T400 und ein T500 mitnehmen (muss nur schauen welche graka bei beiden verbaut ist)
hätte da auch noch nen Q9000
den könnte man auch versuchen zu übertakten

nutzt du dein T500 überhaupt mit dem Quad upgrade? oder ist das Notebook danach unbrauchbar^^
 
Ja, ich bin voraussichtlich da.

Ich habe das nicht mehr weiterverfolgt, da ich schon einen T9800 drin hatte und mir der gereicht hat. Mittlerweile wurde das T500 was ich regelmäßig benutzt habe verkauft. Ich habe aber noch eins, das könnte man nochmal für einen Test hernehmen. Habe auch noch einen Q9000. Den in Zusammenhang mit Coreboot und einer Erhöhung des FSB auf 1333 MHz ergäbe auch noch ein ganz brauchbares Gerät.
 
ich nehme einfach mein T400 und T500 mit
was sich halt besser dafür eignet würde ich vor ort den umbau machen (vielleicht haben mehrere user interesse^^)
würde auch 1-2 usb slot opfern und nen weiteren lüfter bzw 2 lüfter anschließen zwecks übertakten (mal schauen vielelicht macht der Q9000 seinem nachfolger i7 konkurrenz)

der Q9000 würde ja nach recherche auf 2,4 ghz ohne probleme gehen
 
Das Dumme an der Sache ist halt, dass man das Gerät bis auf die letzte Schraube zerlegen muss, um an den BIOS-Chip zu kommen zum Flashen. Darüber hinaus muss man den Chip auch auslöten, um den überhaupt flashen zu können.
 
hast du das nötige flash zeug?
zerlgen kann ich schon vorab (da wünschte ich mir so ne wartungsklappe wie bei EliteBooks)
 
Das Gerät zum Flashen habe ich natürlich, sonst hätte ich das ja garnicht erst ausprobieren können ;) .
 
Wieso denn den Chip auslöten? Bei mir hat es prima mit dem Pomona-Clip funktioniert...
 
Wenn man einen hat geht es auch mit Clip und ohne Auslöten. Ich habe aber keinen und auf dem Mainzer Stammtisch, wo das gemacht werden soll, auch niemand anderes soweit ich weiß (jedenfalls für den 16-Pin-BIOS-Chip im T500). Von daher war das etwas missverständlich ausgedrückt von mir. Nur in diesem Fall / bei diesem Anlass geht es nicht ohne Auslöten, allgemein gesehen schon.
 
Zuletzt bearbeitet:
Yes, it should work. I tested this again with the coreboot code from git last saturday and there was a problem with Windows 7. It would fail to boot with a bluescreen. Linux worked fine, but had problems with resuming from suspend sometimes.
 
Zuletzt bearbeitet:
windows 10 works (but suspend problem exist in win 10 too)
i will try in a week windows 7

gibts ne anleitung fürs hochtakten? meintest ja das man irgendwas moden müsste
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben