FIXME
====== 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
* [[https://github.com/LongSoft/UEFITool|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 ===
https://community.hwbot.org/topic/148723-asus-z170-non-k-unlock/
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
[[https://www.flashrom.org/Downloads|Download Seite von Flashrom]]
=== Hardware ===
Kabel an die entsprechenden Pins des Raspberry Pi anschließen.
[[https://pinout.xyz/pinout/spi|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 Testen ====
Wird normalerweise nicht benötigt.
sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512
==== 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