Quanto segue è tratto da ASUS P5B Deluxe Bios Recovery SPI Flash Cable , ma riprodotto qui per Wiki-sake:
WARNING: Non usare mai l'utility ASUS Windows based bios flash. Ci sono state decine di persone con lo stesso problema, se solo l'avessi saputo prima.
Saltate il HOWTO per la roba buona.
In un momento di grande stupidità e pigrizia, ho riflashato il bios della mia ASUS P5B Deluxe usando l'utilità flash ASUS basata su Windows. L'ha ripulito, ha caricato quello nuovo e poi non ha potuto verificare. A questo punto le uniche due opzioni sono uscire o riprovare. Così ho riprovato, ma ora non vuole nemmeno provare a scrivere il bios. Non avendo altra scelta ho riavviato la macchina e ho sperato nel meglio. Ho ottenuto il peggio.
La macchina non farebbe nulla. La scheda madre dovrebbe avere una modalità di recupero del bios integrata, ma sembra che sia stata cancellata anche quella dall'utilità flash di Windows. Era il momento di rimandarla ad ASUS in modo che potessero rifare il flash. Il bios non è rimovibile, quindi sicuramente c'è un qualche tipo di dispositivo che si inserisce per riflasharlo, ho pensato.
Ho scoperto che avevo ragione. Accanto al chip del BIOS, a sinistra del south bridge, c'è un connettore a 7 pin non documentato etichettato SPI_J1. Dopo molte ricerche mi sono imbattuto in alcune pagine (linkate in fondo) che documentavano il tipo di cavo necessario e il software per usare questa porta per riflashare il bios.
Il cavo consiste in un connettore parallelo cablato a qualcosa che puoi inserire nei pin che ha anche un ingresso di 2.7V-3.6V per alimentare il chip mentre lo riflashi. Ho fatto un pessimo tentativo di usare un cavo parallelo fatto a pezzi e le estremità di una porta USB. Questo non ha funzionato bene così ho trovato al negozio di elettronica locale un connettore parallelo con un cavo a nastro su di esso. L'ho smontato e ho risaldato il nastro ai pin corretti.
Per ottenere i ~3V, ho preso un connettore di alimentazione passante da una vecchia ventola del case e ho aggiunto tre diodi al filo da 5V, dandomi un po’ più di 3V. Ho poi cablato questo al cavo a nastro e ho collegato il connettore di alimentazione a un'altra macchina in funzione. Ho poi usato il mio portatile per flashare il bios.
HOWTO :
Forniture:
- Un cd di avvio DOS, un drive usb o un floppy
- ROM BIOS per la scheda madre
- SPIPGM (Software che fa il flashing)
- CWSDPMI (processo host DPMI necessario per SPIPGM)
- Multimetro
- Saldatore
- Connettore DB25 maschio
- Connettore header di qualche tipo, avrete bisogno di 6 pin in totale.
Per fare il cavo ho usato un connettore seriale da DB25M a IDC10. Questo sembra davvero la cosa più semplice da usare. Hanno questo aspetto:
Header Pin Parallel Pin
========== ============
2 18
3 7
4 8
5 10
6 9
L'header si trova sulla scheda madre direttamente a sinistra del south bridge.
spipgm /p p5b-bios.rom
Ecco come sono numerati i pin dell'header:
spipgm2.exe /S xxxxxx.ROM
Ecco una tabella che mostra quali pin dell'header dovrebbero essere collegati a quali pin paralleli. Il pin 1 sull'intestazione è per +3V.
Ecco come appare il mio cavo (Nota: sembra che il cavo di alimentazione sia collegato al DB25 ma in realtà è saldato al nastro, va al pin 1 della testata)
Se usi un cavo simile al mio, aprilo e dissalda il nastro dal connettore. Prendete una graffetta e infilatela nei fori del connettore per determinare quale cavo deve andare a quale pin del DB25 usando il vostro multimetro. Saldate ogni cavo in modo appropriato.
È quindi necessario ottenere una linea a 5V da un altro computer (il filo rosso su un connettore molex). Saldate tre diodi in serie e collegateli alla linea a 5V. Usate il vostro multimetro per assicurarvi che la caduta di tensione vi dia tra 2.7V e 3.6V. Saldate questo al cavo appropriato del nastro.
Ora che siete pronti per il flash, avviate il vostro computer con il vostro supporto di avvio DOS. Per prima cosa, dovete eseguire cwsdpmi.exe, poi eseguire spipgm. (Nota: devi eseguire cwsdpmi.exe prima di SPIPGM ogni volta.)
Ti chiederà la dimensione totale della flashrom, inserisci 1024 Se SPIPGM riporta il tuo chip id come fffffffh allora qualcosa non va. Controlla tutte le tue connessioni. SPIPGM ha diverse funzioni, come cancellare il BIOS prima. Esegui SPIPGM senza alcuna opzione per vedere una lista.
Dare credito a ciò che è dovuto, senza questi siti non l'avrei mai capito.
Aggiornamento
Solo quando ho scaricato spipgm2
, e ho usato il comando /S
, invece di /P
, sono riuscito a riportare il mio gigantesco fermacarte ad un computer.
Sembra che SPIPGM.exe
da solo scriva una pagina alla volta sul chip SST nelle schede Asus P5B. Dovete deve usare o lo spipgm.exe
ricompilato o, ancora meglio, usare il spipgm2.exe
. Potete costruire il cavo senza resistenze o condensatori, purché usiate l'uscita arancione (3V) dell'alimentatore ATX del PC surrogato.
Poi si deve usare l'interruttore /S
:
per scrivere sul chip dopo averlo sbloccato con /U
e cancellato con /E
. Questa è l'unica cosa che ha funzionato per me e sono di nuovo perfettamente funzionante.
Per programmare il chip SST nelle schede ASUS P5-Series è necessario usare l'interruttore /s
(slow). Apparentemente, l'interruttore /p
usato nell'originale SPIPGM.EXE
non lo fa abbastanza lentamente, o un po’ alla volta; che è ciò di cui il chip SST ha bisogno per un reflash di successo.
Per avviare il programma ho fatto due dischetti, uno con un disco di avvio di Windows 98 SE, e il secondo con il programma spipgm2 e il file immagine del bios (estensione .rom).
Per flashare il bios ho usato i seguenti parametri:
spipgm2 /i
per assicurarmi che il programma possa leggere il mio chipset e che il cavo sia ok.
spipgm2 /u
per sbloccare il bios.
spipgm2 /e
per cancellare il bios.
spipgm2 /s p5b.rom
per flashare il nuovo bios.
Quando ha finito, ho provato ad avviare la scheda madre morta e ha funzionato!
Diagramma bonus