WARNING: Never use the ASUS Windows based bios flash utility. There have been scores of people with the same issue, if only I had known before hand.
Skip down the
HOWTO for the good stuff.
In perhaps a moment of great stupidity and laziness, I reflashed the bios on my ASUS P5B Deluxe using the ASUS windows based flash utility. It wiped it clean, loaded the new one, and then it couldn't verify. At this point your only two options are quit or retry. So I retry, now it won't even try to write the bios. Having no other choice I rebooted the machine and hoped for the best. I got the worst.
The machine wouldn't do anything. The motherboard is supposed to have a built in bios recovery mode, but it seems that was wiped out as well by the Windows flash utility. It was time to send it back to ASUS so they could reflash it. The bios isn't removable, so surely there's some kind of device they plug into to reflash it for you I thought.
It turns out I was right. Next to the BIOS chip, to the left of the south bridge, is an undocumented 7 pin connector labeled SPI_J1. After a lot research I stumbled upon a few pages (linked at the bottom) that documented the type of cable necessary and the software to use this port to reflash the bios.
The cable consists of a parallel connector wired to something you can plug into the pins that also has a 2.7V-3.6V input to power the chip while reflashing it. I made a really bad attempt at using a chopped up parallel cable and the ends from a USB header port thing. This didn't work out well so I found at the local electronics store a parallel connector with a ribbon cable on it. I took it apart and re-soldered the ribbon to the correct pins.
To get the ~3V, I took a pass through power connector from an old case fan and added three diodes to the 5V wire, giving me a little over 3V. I then wired this to the ribbon cable and hooked the power connector into another running machine. I then used my laptop to flash to bios.
HOWTO:
Supplies:
- A DOS boot cd, usb drive, or floppy
- BIOS ROM for the motherboard
- SPIPGM (Software that does the flashing)
- CWSDPMI (DPMI host process needed by SPIPGM)
- Multimeter
- Soldering Iron
- Male DB25 connector
- Header connector of some sort, you'll need 6 pins total.
To make the cable I used a DB25M TO IDC10 SERIAL connector. This really seems like the easiest thing to use. They look like this:
The header is found on the motherboard directly to the left of the south bridge.
Here is how the header pins are numbered:
Here is a table showing which header pins should be connected to what parallel pins. Pin 1 on the header is for +3V.
Header Pin Parallel Pin
========== ============
2 18
3 7
4 8
5 10
6 9
Here's what my cable looks like (Note: it looks like the power lead is connected to the DB25 but in fact it is solder to the ribbon, it goes to pin 1 on the header)
If you use a cable similar to mine, open it up and desolder the ribbon from the connector. Take a paper clip and stick it into the holes in the header connector to determine which lead needs to go to what pin on the DB25 using your multimeter. Solder each lead appropriately.
You then need to get a 5V line from another computer (The Red wire on a molex connector). Solder three diodes in series and connect them to the 5V line. Use your multimeter to ensure the voltage drop gives you between 2.7V and 3.6V. Solder this to the appropriate ribbon lead.
Now that you're ready to flash, boot your flashing computer with your DOS boot media. First, you need to run cwsdpmi.exe, then run spipgm. (Note: you have to run cwsdpmi.exe before SPIPGM each time.)
spipgm /p p5b-bios.rom
It will ask for the total size of the flashrom, enter 1024 If SPIPGM reports your chip id as fffffffh then something isn't right. Check all your connections. SPIPGM has several functions, such as erasing the BIOS first. Run SPIPGM without any options to see a list.
Giving credit where credit is due, without these sites I never would have figured this out.
Update
It wasn't until I downloaded
spipgm2, and used the /S, instead of the /P command, that I was successful in returning my gigantic paperweight to a computer again.
It seems that SPIPGM.exe by itself writes a page at a time to the SST chip in the Asus P5B boards. You
must use either the recompiled spipgm.exe or, even better, use the spipgm2.exe. You can build the cable
without any resistors or capacitors, as long as you use the orange (3V) output from the surrogate PC's ATX power supply.
Then you
must use the /S switch:
spipgm2.exe /S xxxxxx.ROM
to write to the chip
after you unlock it with /U and erase with /E. This is the only thing that worked for me and I am back up and running perfectly.
You
must use the /s (
slow) switch with this to program the SST chip in the ASUS P5-Series boards. Apparently, the /p switch used in the original SPIPGM.EXE doesn't do it slow enough, or a bit at a time; which is what the SST chip needs for a successful reflash.
To boot the program I made two floppy disks, one with a Windows 98 SE boot disk, and the second with the spipgm2 program and the bios image file (.rom extension).
To flash the bios I used the following parameters:
- spipgm2 /i to make sure that the program can read my chipset and the cable is ok.
- spipgm2 /u to unlock the bios.
- spipgm2 /e to erase the bios.
- spipgm2 /s p5b.rom to flash the new bios.
When it finished, I tried to boot the dead motherboard and it worked!
Bonus Diagram
share|
improve this answer
edited Feb 14 '13 at 18:35
answered Aug 25 '09 at 14:38
Ian Boyd
7,1321765115
This is very cool. –
hanleyp Aug 25 '09 at 21:46
1
wow.. I really did not think that would be possible –
Earlz Oct 13 '09 at 2:08
+1 for persistance –
Noah Oct 12 '10 at 19:20
1
Don't use 5V + diodes from batteries or PSU. Either get your 3.3V straight from ATX power-supply (orange cables) or from universal power supply (if you are lucky, and have one). Don't go rambo mode, and add 200-400 Ohm resistors to each of your 4 data lines (they cost like 3 cents each). Also, you don't need CWSDPMIwith 2.0 version of SPIPGM. –
c69 Feb 26 '12 at 23:47
1
After 'bricking' my Asus P5B using the windows BIOS update tool, I followed the instructions in the thread above. I found out that there is a SPIPGM v2.1 which includes a verify option. It also makes it more clear when unlock worked or not. I used this latest version of SPIPGM v2.1 and successfully re-flashed my dead mobo. – user183526
Dec 30 '12 at 20:05
show 2 more comments
up vote2down vote
Sounds like you have a hardware conflict of some sort. Try this:
- Remove all cards from all slots in your system. Video, RAID, Network, Sound, etc. Pay attention to what card was in what slot.
- Put your BIOS disk or USB stick in the drive/slot BEFORE you turn on the power.
- Turn on your PC. You should see your recovery BIOS working or it will say something like "bad bios"... something like that. In any case... it should boot up to an A: prompt.
- Run your flash utility now and select the option to write your BIOS. I don't remember the option but there's one in there to write the BIOS without ESCD or something. (Its really tough to mess things up worse than they are right now so if one option doesn't work try the other) ;-)
- Go through all the prompts saying "Yes write, yes overwrite, etc, etc."
- Once the BIOS update is done, reboot your computer. It should be working "normally" right now. If it is turn it OFF and...
- Put all the cards you removed in step 1 back into the computer.
Fire it up again... it should work.