Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Bios Firmware per SPI flashen
In diesem Tutorial erklär ich wie man Mainboards mit einem defekten Bios retten kann. Die Anleitung funktioniert auch wenn man eine ältere Bios Version installieren möchte, alle anderen Methoden allerdings versagen.
Achtung: Bei dieser flash Art kann die MAC Adresse verloren gehen. Zum wiederherstellen sollte diese vorher aufgeschrieben werden.
Wie immer übernehme ich keine Garantie für Schäden.
Was brauch ich alles
Hardware:
- Raspberry Pi
- Kabel
- evtl. Breadboard
Software:
- flashrom
- Bios Firmware
- evtl. UEFITool
Vorbereitungen
Bios Firmware
MSI
Bei MSI Boards braucht es so gut wie keine Vorbereitung.
- Firmware von der Herstellerseite runterladen
- Firmware entpacken
- Firmware umbenennen zu bios.rom
ASUS
Bei ASUS Boards muss die CAP Datei noch in eine .rom Datei umgewandelt werden.
- Firmware von der Herstellerseite runterladen
- In UEFITools die .CAP Datei öffnen
- Unter Action → Image → Extract as is… die Firmware als bios.rom speichern
Raspberry Pi
Software
Das Tool Flashrom herunterladen Download Seite von Flashrom
Hardware
Kabel an die entsprechenden Pins des Raspberry Pi anschließen. Beste Übersicht der Pins Die wichtigsten Pins für uns:
- Pin 17: 3v3 Power für die Stromversorgung unseres Bios Chips
- Pin 19: SPI0 MOSI Datenübertragung zum Chip
- Pin 21: SPI0 MISO Datenübertragung vom Chip
- Pin 23: SPI0 SCLK Clock Speed
- Pin 24: SPI0 CE0 Slave Select
- Pin 25: Ground die Masse für unseren Chip
Bios-Chip / Mainboard JSPI Port
Belegung des Firmware Chips meines Asus z170i Pro Gaming
_____
CS# | U | VCC
SO | |
| | SCLK
GND |_____| SI
JSPI1 Port an meinem MSI z170a Pro Gaming Carbon
_____
|o o|
| o|
GND |o o| GND
SCLK |o o| CS#
SI |o o| SO
VCC |o___o| VCC
Grundsätzlich sollten die Belegungen bei anderen Herstellern und Chips nicht zu sehr abweichen, zur Sicherheit sollte das aber auf jeden Fall überprüft werden.
Flash Vorgang
Chip Löschen
Wird normalerweise nicht benötigt.
sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0,spispeed=512
Chip flashen
sudo flashrom -w /tmp/bios.rom -V -p linux_spi:dev=/dev/spidev0.0,spispeed=512
