Es beginnt harmlos...

Die Aufgabe scheint einfach: ein Rechner mit recht aktueller Hardware soll eine neue Grafikkarte bekommen. Kein Problem denke ich, ich sage im Spaß noch zum Besitzer, es sei in fünf Minuten erledigt.

Nach dem Einbau der neuen Karte gehen die Probleme los. Der Rechner bootet nicht mehr, es ist nur das Gigabyte-Logo zu sehen. Tastatureingaben wie F2 für das BIOS-Setup oder F12 für das Boot-Menü reagieren nicht. Also wird die alte Karte wieder eingesetzt, mit der der Rechner ganz normal startet. Eine schnelle Suche bestätigt meine Vermutung: das Problem ist bekannt und es gibt ein BIOS-Update, welches dies beheben soll.

...und endet in einem Bluescreen

Also ziehe ich "noch schnell" das BIOS-Update durch, bei meinen bisherigen BIOS-Updates ist schließlich nie etwas schief gegangen. Gigabyte bietet für seine Mainboards (hier ein GA-X79-UD3) ein Windows-Tool namens "@BIOS" an, dieses lässt sich auch ohne Probleme auf Windows 10 installieren. Die verspielte GUI lässt nichts Gutes erahnen. Aber gut, ich möchte ja nichts nach seinem Äußeren bewerten, deshalb starte ich den Updatevorgang in @BIOS. Der Vorgang läuft bis etwa 80%, dann begrüßt mich ein Windows-Bluescreen. Nice.

Ich starte den Rechner notgedrungen neu, in der Hoffung, dass er noch bootet. Das macht er natürlich nicht. Die Lüfter drehen, die Power-LED leuchtet, aber es passiert nichts weiter. Der Bildschirm bleibt schwarz.

Dual-BIOS - danke für nichts

Ortswechsel. Der Rechner steht inzwischen bei mir zu Hause. Es riecht nach Spaß.

Mit einem Blick in das Handbuch des Boards werde ich überrascht. Dieses Gigabyte-Mainboard besitzt ein "Dual-BIOS", das heißt es wurden zwei BIOS-Chips auf dem Board verbaut. Wenn der Erste versagt soll automatisch der Zweite einspringen und seinen Inhalt in den Ersten kopieren. In einigen Videos ist zu sehen, dass dieser Vorgang auch auf dem Bildschirm angezeigt wird. Bei meinem Exemplar löst dieser Mechanismus leider nicht aus, der Bildschirm bleibt schwarz. Allerdings gibt es Hinweise, dass man diesen BIOS-Recovery-Modus manuell triggern kann.

BIOS-Recovery auf Knopfdruck

Versuch #1, siehe hier. Netzteil ausschalten, Powerknopf halten, Netzteil einschalten, Powerknopf erst wieder loslassen, nachdem der Rechner sich wieder ausgeschaltet hat. Beim nächsten Start sollte der Recovery-Modus starten. Das macht er in meinem Fall leider nicht. Auch andere Methoden (Power- und Resettaste im ausgeschalteten Zustand 10 Sekunden lang drücken) hatte ich versucht, ohne Erfolg. Der Rechner stellt sich weiterhin tot.

BIOS-Recovery durch "Ausknipsen" des Master-Chips

Versuch #2, siehe hier. Jetzt wird es etwas brutaler. Durch Kurzschließen von Pin 1 und 6 (alternativ Pin 4 und 7) des Master-BIOS-Chips soll dieser sich temporär tot stellen (d.h. gar nicht mehr antworten), sodass der Recovery-Mechanismus einspringt. Sobald dieser auf dem Bildschirm zu sehen ist muss der Kurzschluss aufgehoben werden, damit der Backup-BIOS-Chip seinen Inhalt in den Master-Chip kopieren kann. Sounds good, doesn't work (in my case).

BIOS-Chip mit externem Programmer flashen

Auf der Gigabyte-Support-Seite lassen sich die rohen Firmwaredateien herunterladen. Damit besteht die Chance den Chip mit Hilfe eines externen Programmers zu flashen. Mit dem "TL866II Plus" gibt es einen sehr günstigen Universal-Programmer für den gelegentlichten Gebrauch, mit dessen Software "Xgpro 8.51" man Unmengen verschiedener Chip-Typen flashen kann. Die meisten Verkäufer legen eine Hand voll Adapter mit bei, sodass man die gängigsten Bauformen direkt aufstecken kann. Besonders interessant: die SOP8-Klammer. Diese kann man direkt auf achtbeinige SOP-Chips setzen und so mit dem Programmer verbinden, ohne sie vom Board entlöten zu müssen.

Einen kleinen Wermutstropfen hat der günstige TL866II Plus: es gibt keine native Linux-Software. Glücklicherweise hat sich bereits jemand über einen Workaround mit Wine Gedanken gemacht, deshalb hier nur kurz der Link zur Anleitung.

Nun möchte ich testweise zuerst einmal den Inhalt des Master-BIOS-Chips auslesen. Also die SOP8-Klammer aufgesteckt und in der Software den richtigen Chip ausgewählt (in diesem Fall ein Macronix MXIC MX25L6406E, dieser wird übrigens auch in MacBooks verbaut). Beim Auslesen des Chips meldet die Software den Fehler "Pin Detect error". Das bedeutet zum Glück nur, dass die Verbindung zum Chip nicht korrekt sitzt. Hier hilft es einfach die Klammer noch einmal neu zu justieren.

Nun kommt es zum nächsten Fehler: "OverCurrent Protection! External short or IC reverse or incorrect package!". Um auszuschließen, dass der Chip defekt ist, habe ich bei mir im Ersatzteillager nach weiteren Testobjekten gesucht und dabei festgestellt, dass auf fast jeder PCI-Erweiterungskarte (auch Grafikkarten) mind. ein SOP8-Chip zu finden ist. Ich habe mehr als fünf verschiedene Chips mit der Klammer getestet, jedoch meldete die Software immer wieder diesen Fehler.

BIOS-Chip entlöten

Da es mit dem Board nicht mehr schlimmer werden konnte entschied ich mich, den Master-BIOS-Chip zu entlöten, um ihn anschließend in eine passende Fassung direkt auf den Programmer stecken zu können. Die SOP8-Klammer scheint leider nur in wenigen Fällen zu funktionieren, da hiermit auch andere Bauteile auf dem Board angesprochen werden.

Für das Entlöten habe ich eine Heißluftstation bei etwa 400°C verwendet. Den Chip dazu einfach ein paar Sekunden erwärmen und dann mit einer Pinzette vom Board abheben. Das geht verblüffend einfach. Hier im Bild gezeigt an einem Testobjekt auf einer PCI-Karte.

Nun kann der Chip direkt in die Adapterfassung gesteckt werden und der Adapter wiederrum in den Programmer. Und siehe da: der Lesevorgang funktioniert! Ich sehe den kompletten Inhalt des 8 MiB großen CMOS Flashs. Heureka, er lebt noch!

BIOS-Chip mit externem Programmer flashen, Teil II

Der Rest ist nun trivial. Ich öffne die Gigabyte-Firmware-Datei (gleich die neue Version F16) in Xgpro und schreibe sie auf den Chip.

Die Xgpro-Software löscht den Chip standardmäßig ("erase") bevor er neu programmiert wird. In meinem Fall schlug dieser Vorgang fehl. Sollte das bei euch auch auftreten, entfernt einfach den Haken "Erase before". So hat der Schreibvorgang in meinem Fall dann funktioniert.

Schutzbrillen aufsetzen und Feuer frei!

Das Einlöten ist glücklicherweise genau so einfach wie das Entlöten. Einfach den Chip auf die Kontakte auf dem Board setzen und etwas Heißluft zuführen, dann sitzt er wieder fest.

Voilà! It works, bitches. Und die neue Grafikkarte workt nun auch.

Fragen? Anregungen? Habt auch ihr schon mal ähnliche Sachen gemacht oder gerade euer BIOS gebrickt? Schreibt mir gerne eine Mail!