(SPI) Flasha BIOS med Raspberry Pi

Här skriver vi inga frågor. Här finns svaren.
elabbe
Inlägg: 787
Blev medlem: 5 augusti 2014, 19:32:24
Ort: Sthlm

(SPI) Flasha BIOS med Raspberry Pi

Inlägg 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
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av elabbe 28 april 2016, 13:53:08, redigerad totalt 5 gånger.
Användarvisningsbild
Henry
Inlägg: 23588
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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:
elabbe
Inlägg: 787
Blev medlem: 5 augusti 2014, 19:32:24
Ort: Sthlm

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
Användarvisningsbild
Henry
Inlägg: 23588
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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. :)
elabbe
Inlägg: 787
Blev medlem: 5 augusti 2014, 19:32:24
Ort: Sthlm

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
Användarvisningsbild
Henry
Inlägg: 23588
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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!
Användarvisningsbild
Henry
Inlägg: 23588
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
elabbe
Inlägg: 787
Blev medlem: 5 augusti 2014, 19:32:24
Ort: Sthlm

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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 :)
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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. :)
elabbe
Inlägg: 787
Blev medlem: 5 augusti 2014, 19:32:24
Ort: Sthlm

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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.
peterwa
Inlägg: 179
Blev medlem: 24 januari 2008, 23:10:52
Ort: Haninge

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg 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
Användarvisningsbild
maDa
Inlägg: 4073
Blev medlem: 11 november 2005, 22:13:16
Ort: Malmö
Kontakt:

Re: (SPI) Flasha BIOS med Raspberry Pi

Inlägg av maDa »

Coolt! Såklart man kan använda en RPi till flasha om en BIOS, har jag aldrig tänkt på :)
Skriv svar