Sida 1 av 2

(SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 16:34:29
av elabbe
En misslyckad uppdatering korrumperade BIOS på ett MSI-moderkort. En lösning på MSI-kort är att flasha via JSPI1-headern (se kommentarer för fler). Tyvärr hade jag inte tillgång till en SPI-programmerare, men hittade att det gick mha en RPi. Befintlig info online var utdaterad så sammanställer en dagsfärsk här.

Ladda hem RASPBIAN JESSIE vanlig eller LITE här:
https://www.raspberrypi.org/downloads/raspbian/

Klona till SD-kort mha Win32 Disk Imager eller följ officiell guide för andra os.

-----

Starta din Raspberry Pi (anv.namn pi och lösen raspberry)
och installera följande paket:

Kod: Markera allt

sudo apt-get install libpci-dev
sudo apt-get install libusb-dev
sudo apt-get install libusb-1.0.0-dev
-----

Aktivera SPI
(antingen grafiskt eller i terminalläge)

Grafiskt
Menu -> Preferences -> Raspberry Pi Configuration
Sätt SPI som Enabled -> OK -> Reboot

CLI
sudo raspi-config
Advanced Options -> SPI -> Yes -> OK -> Finish -> Reboot

-----

Ladda hem flashrom 0.9.9
http://download.flashrom.org/releases/f ... .9.tar.bz2

Packa upp grafiskt eller cli:
tar -jxvf flashrom-0.9.9.tar.bz2

Kompilera

Kod: Markera allt

cd flashrom-0.9.9/
sudo make
sudo make install
-----

Fixa en adapterkabel med följande koppling. Välj själv hur religiöst du vill skydda dina GPIO-pins, med dioder, motstånd osv. Förslag finns här.

Kod: Markera allt

JSPI1   GPIO
1+2     17
3       21
4       19
5       24
6       23
7+8     25
Infobilder:
JSPI1.png
gpio.png
rpi.png
Har man chippet istället i DIL8-sockel ska följande anslutning gälla. Se pinout för ditt chip.

Kod: Markera allt

DIL8        GPIO
Vcc+WP+HLD  17
DO          21
DIO         19
CS          24
CLK         23
GND         25
-----

Kontrollera att bios-filen har rätt storlek, vissa kommer med en header som måste tas bort med t.ex. en hex-editor. Bl.a. cap-filer.

Koppla bort all strömtillförsel till datorn innan anslutning, inkl CMOS-batteri.

I katalogen flashrom-0.9.9
Läs ut nuvarande bios, sparas som oldbios.bin

Kod: Markera allt

sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0 -r oldbios.bin
Skriver ny bios. Ändra "/path/to/your/" till korrekt sökväg.

Kod: Markera allt

sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0 -w /path/to/your/newbios.bin
(Behövs chippet raderas görs det med)

Kod: Markera allt

sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0 -E
Exempelutskrift:

Kod: Markera allt

flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
Found Winbond flash chip "W25X80" (1024 kB, SPI) on linux_spi.
Reading flash... done.

Kod: Markera allt

flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
Found Winbond flash chip "W25X80" (1024 kB, SPI) on linux_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
Ska försöka finputsa och strukturera guiden bättre om det behövs. Första utkast.
Delvis baserad på: (Guide) Recover from failed BIOS flash using Raspberry PI

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 17:02:10
av Henry
Annars om man kan löda loss kretsen och löda på en likadan så finns http://www.eksitdata.com i Sverige som kan skicka en likadan krets med rätt firmware på till en för runt 200:- eller så, räddade en dator jag hade för en hög med år sedan.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 17:11:51
av Maalobs
Snyggt jobbat! :tumupp: :tumupp:

Jag fick en misslyckad flashning på en PentiumIII-dator för ca 16 år sedan.
Lyckligtvis hade vi flera likadana datorer och chippet var en socklad DIP, så jag bootade upp en likadan dator till MS-DOS från diskett, ryckte ut chippet och pluggade in chippet med den dåliga skrivningen, sen var det bara att flasha det halvkokta chippet som vanligt från disketten.
Det ser lite mer omständligt ut numera. :shock:

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 17:49:37
av elabbe
Henry skrev:Annars om man kan löda loss kretsen och löda på en likadan så finns http://www.eksitdata.com i Sverige som kan skicka en likadan krets med rätt firmware på till en för runt 200:- eller så, räddade en dator jag hade för en hög med år sedan.
Tror även mer välutrustade datorservicebutiker erbjuder drop-in-flashning av bios, bara vandra in med moderkortet. Syftet med guiden var dock att lösa det snabbt själv, om man redan sitter på en RPi :) Även en grund för att få igång SPI.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 19:39:59
av Henry
Jo det finns säkerligen även datorserviceställen som gör det men tänkte bara det kunde nämnas ifall ingen hade tillgång till något av det i inlägget. :)

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 20:17:19
av elabbe
Ok. Jag tog bort formuleringen "enda utvägen", då det bara gällde mig just då, så ingen missförstår att detta skulle vara det enda alternativet vid korrumperad BIOS.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 21:54:07
av Henry
Det var inte min mening med mina inlägg, var faktiskt inte ens medveten om att det stod så någonstans. :) Men visst, men ändock bra guide.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 21:59:45
av Lennart Aspenryd
Tack elabbe för ett konstruktivt inlägg!

Det är då fan att alla trådar skall spåra ur, om än i en sorts välvilja!

Ta nu pappan som dömdes till böter och skadestånd för att han smiskat sin sjuårige son i rumpan
när grabben vände densamme till fadern och fes!
Det är Sef!

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 27 april 2016, 22:26:30
av Henry
Spåra ut var väl och ta i, men då sägs inget mer så blir det inte en massa OFT inlägg.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 28 april 2016, 00:45:33
av elabbe
Jag tog inte åt mig och inget illa menat Henry. Jag förstår inte riktigt vem Lasp syftar är ansvarig för den påstådda urspårningen. Kom gärna med kommentarer på guiden. Jag är (någorlunda) prestigelös :)

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 28 april 2016, 08:54:56
av Lennart Aspenryd
Ja Henry och elabbe. Spåra ur var att ta i!
Ber om ursäkt, jag reagerade på något där elabbe kände sig tvungen att ändra i Rubriken.
Det var ju ett klargörande.
Men typiskt annars med OT och slikt i SEF trådar.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 28 april 2016, 11:39:52
av Maalobs
Kanske stryk kommentaren om "../" och ändra slutet på kommandoraden från "../newbios.bin" till det mer generella "/path/to/your/newbios.bin".
Det är trots allt en instruktion för att utföra flashprogrammering via SPI, det distraherar bara att prata om filsystem. :)

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 28 april 2016, 13:39:59
av elabbe
Ja absolut blir klart mer generiskt och säkrare. Jag tänkte att en nybörjare utgick från och hade både bios och flashrom-katalogen i download, då kändes en relativ sökväg simplare än att utgå ifrån roten, vilket kanske kunde vara förvirrande.
Lasp skrev:jag reagerade på något där elabbe kände sig tvungen att ändra i Rubriken.
Jag ändrade inte rubriken utan en formulering i början. Där jag skrev "enda utvägen" istället för nuvarande "En lösning på MSI-kort är att flasha via JSPI1-headern". Kände mig inte tvungen utan tänkte att det var en bra idé, så ingen missförstår och springer och köper en RPi för flera hundra om det finns billigare alternativ.

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 15 maj 2016, 13:02:51
av peterwa
Bra Guide har sparat länken.

Har märkt att ibland så går det inte med min "MiniPro TL866A" och då har jag också fått använda Raspberry Pi med lyckat resultat.

/Peter

Re: (SPI) Flasha BIOS med Raspberry Pi

Postat: 19 juni 2017, 17:20:55
av maDa
Coolt! Såklart man kan använda en RPi till flasha om en BIOS, har jag aldrig tänkt på :)