Is it possible to recover a computer from a failed BIOS update?

34

15

While attempting the update the BIOS on an Asus motherboard, i learned the Asus Update Utility for Windows doesn't fully support Windows 64-bit. It was able to erase the BIOS without problems, but failed to write the new BIOS. i knew that when i next rebooted the computer: it would be a brick.

When i rebooted the computer, it was a brick. But before i rebooted i transferred the bios backup, the new bios, and Asus DOS-based flash utility to another computer. Now the problem is how to fix it.

This Asus motherboard has a fail-safe bios recovery called Crash Free BIOS, where you put in a floppy or USB stick containing a file called p5b.rom and it will restore the bios from that file. But that doesn't work.

Is there any way to unbrick the machine?

Ian Boyd

Posted 2009-08-25T01:13:02.440

Reputation: 18 244

6and crappy tool doesnt even give you a warning :( – c69 – 2012-02-23T08:15:24.850

2> This Asus motherboard has a fail-safe bios recovery called Crash Free BIOS, where you put in a floppy or USB stick containing a file called p5b.rom and it will restore the bios from that file. But that doesn't work. It doesn’t do it automatically (it would be ludicrous to have the floppy drive read on every boot). To run the built-in BIOS flashing tool, you have press F2 (at the point where you would normally press Del to enter the BIOS setup). It should then use flashing tool in the ROM to restore the BIOS. – Synetech – 2012-02-23T23:03:34.130

Answers

52

The following is from ASUS P5B Deluxe Bios Recovery SPI Flash Cable, but reproduced here for Wiki-sake:


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:

alt text

The header is found on the motherboard directly to the left of the south bridge.

alt text

Here is how the header pins are numbered:

alt text

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)

alt text

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.

alt text

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

enter image description here

Ian Boyd

Posted 2009-08-25T01:13:02.440

Reputation: 18 244

1This is very cool. – hanleyp – 2009-08-25T21:46:27.890

a hero is you!!! – enthdegree – 2012-02-23T22:41:17.397

1Don'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 CWSDPMI with 2.0 version of SPIPGM. – c69 – 2012-02-26T23:47:35.997

2wow.. I really did not think that would be possible – Earlz – 2009-10-13T02:08:44.190

2After '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. – None – 2012-12-30T20:05:32.610

What voltage is on 7,8,9, 10 pins? There is something like 5V, isn't that risky to fry your chip? – Arise – 2014-01-24T07:09:34.417

2

Sounds like you have a hardware conflict of some sort. Try this:

  1. Remove all cards from all slots in your system. Video, RAID, Network, Sound, etc. Pay attention to what card was in what slot.

  2. Put your BIOS disk or USB stick in the drive/slot BEFORE you turn on the power.

  3. 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.

  4. 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) ;-)

  5. Go through all the prompts saying "Yes write, yes overwrite, etc, etc."

  6. Once the BIOS update is done, reboot your computer. It should be working "normally" right now. If it is turn it OFF and...

  7. Put all the cards you removed in step 1 back into the computer.

Fire it up again... it should work.

KPWINC

Posted 2009-08-25T01:13:02.440

Reputation: 532

There is nothing in the computer (even hard drives). i would remove the video card (as you suggest in step 1), but it would make step 3 ("You should see...") somewhat impossible. – Ian Boyd – 2009-08-25T11:45:47.130

i removed everything from the computer (drives, ram, cpu, battery), in hopes of getting it to POST. Nothing - it a brick and i'm drowning slowly. – Ian Boyd – 2009-08-31T11:54:38.140

2

I confirm I successfully programmed my flash IC for an ASUS P8H67-M-PRO. Same as others, I tried to update the bios with the bios utility. It finished the process, rebooted and... nothing, a black screen. I built the parallel adapter, I added a 3.3vdc power supply and used it to program my flash memory chip. First I compared it's content with the ROM image and I realised that most of the ic content was #FF (erased but not programmed). The using the same app SPIPGM I programmed it, I tested and my motherboard is working OK with itś latest BIOS release.

Thanks for your support, I just wanted to tell my story for others to try.

Regards,

raulrrojas

Posted 2009-08-25T01:13:02.440

Reputation: 21

1

If the "Crash Free BIOS" update fails to work, an alternate method is to remove the BIOS ROM chip from the board (usually they are socketed, but some are soldered down) and program the part directly with a ROM programmer using a binary image of the BIOS. I don't expect you have the tools (soldering iron, ROM programmer) readily available, but their ASUS' repair depot should. From the ASUS website, they have a 3 year warranty on the motherboard. You might want to try out their services.

hanleyp

Posted 2009-08-25T01:13:02.440

Reputation: 6 519

0

There are some great suggestions here, but odds are you don't have the gear to fix (reflash) the rom on your own.

If you only tried the USB option for crash free then you should try floppy or CD. The CD that came with your mobo also has the base rom on it and you should be able to use that as well (or burn yours to a cd). If you already tried floppy/cd then it's toast.

I had the exact same problem a couple years back (but I didn't use the Windows App) and since it was still under warranty I just sent it back because if I had pulled my rom I would have voided my warranty. The turnaround on my replacement was 10 days (not business days).

UnderLoK

Posted 2009-08-25T01:13:02.440

Reputation: 11

0

I had the exact same error. It booted and was trying to access the bios.rom via floppy disk, but it stopped half way trough. Use version 1803 (606.11 KBytes - 2007/11/30 Link to the BIOS download page), anything above wont work.

JohannesM

Posted 2009-08-25T01:13:02.440

Reputation: 822

0

Use an older operating system, for example Windows 98.

Boot from disk and if your keyboard is active, you will get an A: prompt. Then, type in the path for the flash drive and continue to the rom.

This usually works with a boot floppy.

wildfire

Posted 2009-08-25T01:13:02.440

Reputation: 9

0

Just an FYI I used to work for ASUS a long time ago and the easiest fix for this it to call Tech Support they will be more them happy to send you a new bios chip flashed with the proper bios (that you request) as long as it is a board that has the removable bios chip.

Midnight

Posted 2009-08-25T01:13:02.440

Reputation: 1

Which it did not. Leaving the alternative of spending money to have the thing shipped back. – Ian Boyd – 2014-10-01T19:18:06.837