Wednesday, May 13, 2009

ASUS P5B Deluxe Bios Recovery SPI Flash Cable

UPDATE: Here are some excellent tips from Anthony Quatroni in the comments:

OK let me go into a little more detail. 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 caps 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.


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 PinParallel Pin
218
37
48
510
69


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.)
The command sequence should look like this:
cwsdpmi
spipgm /u /e p5b-bios.rom
cwsdpmi
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.
http://richard-burke.dyndns.org/wordpress/tag/p5b/
http://www.fccps.cz/download/adv/frr/spi/msi_spi.html
http://rayer.ic.cz/elektro/spipgm.htm

237 comments:

1 – 200 of 237   Newer›   Newest»
Bob said...

Great info! I also screwed up my asus motherboard with the windows-based flash utility :-( I Have a P5B-plus vista edition, but i think this will also work on this model since it also has a SPI_J1 connector.

I have some questions though. Is it neccesairy to use the power-molex of another computer? I want to use one of the connectors of the crashed computer itself. Or isn't the motherboard allowed to have any power during the operation and should I disconnect it from the power-source? Should the CMOS battery also be removed in that case?

Concerning the software, should I first clear the BIOS, or can I straight away write the ROM file to it?

Mondo said...

@Bob

It is possible that it will work without external power with the motherboard in standby (powersupply hot but motherboard not turned on yet). I tried this, but at the time my cable wasn't right. If it detects your chip id as ffffffh then something is wrong. You could also try flashing it with the motherboard actually turned on.

If that doesn't work then you can still use the power supply in that machine, though. Disconnect the power supply from everything, connect your flashing cable power, then on the main motherboard power connector, take a paper clip and short the green wire to a black wire. This will turn the power supply on.

As for clearing the bios, I was unable to get it to clear it. It worked anyway by just flashing the rom.

Good luck!

Bob said...

thanks for the reply. Did not get it working though. I could the cable made by a friend (I am not that handy). The first problem is that the molex cable of the flash cable is female. The molex of the powersource also. Thus, they cannot be connected. To overcome this, I just cut one of the molex cables and stuffed the wire in the red hole of the flash cable. Still no luck. It still says fffffh.

Here is the strange thing. I connected a multimeter to one of the molex of the powersource. The red cable of the meter to the 5v red pin of the molex and the black wire to the black pin. Nothing. It does not show any voltage. I checked the meter with a battery; it works. Even more stranger, my motherboard has a small LED, indicating that it is getting voltage.

Am I missing something? I didn't understand your 'short the green with the black' comment. Do I have to short a cable that is coming from my powersupply, or on the motherbord itself?

bob said...

I am clearly missing something. I got an old computer from the attic. i disconnected all the wires from the power source to the motherboard and other devices. I then connected the sensors of my voltmeter to the red and black female pins of a power molex. Nothing.

bob said...

OK, I am a bit further.

My shorting the green and a black wire from the powersupply of my spare computer, the power started running and flash cable could draw power from this. And... after this I could flash the BIOS via my laptop!

However, after this, my PC still wouldn't post. Even the LED lights don't come up and no voltage can be read from the molex plugs. I tried shorting the green and black again from the powersupply. No result. I tried shorting the green and black from the motherboard connector. No result. If however, I plug in the powecable to my motherboard AND at the same time short the cable while it is plugged in, by computer spins up: the LED lights go on. The same after the BIOS upgrade failed, but before I cleared the CMOS. As soon as I take out the paperclip, everything powers down. So the computer only runs / keeps spinning with the paperclip in. Even then no booting, no video, no POST.

Any ideas? I have the feeling I am close. Since the BIOS rom is restored, everything shouls be the same as before. I have the feeling some hard reset has to be done for the changes to kick in.

Mondo said...

Bob, are the fans spinning up?

keightn said...

Thanks for this great wrap up of the spi flashing procedure. I did not finish my cable yet to flash the P5B i send to heaven with using the asus flash tool for vista 64 (do not do that!!!). Im not the electronics guy so could you please specify what diodes i need? From reading the internet i get the impression that it almost doesn't matter. But when i go to my local electronics store i have to tell them something. Could you please provide a specific diode type that i could go out and buy? Id prefer the cheapest ones that will do the job. Thanks in advance and keep up the good work.

Mondo said...

keightn, just go to the electronics store and tell them you need diodes to drop 5V down to around 3V. They'll get you what you need.

bob said...

mondo, when I short the green and black wire while the cable is connected to the motherboard, my power-on LED burns and the harddisk LED. I hear the harddisk spinning up and for about 5 sec. seeking. After this no more, but both LEDs stay on. During this, the fan of power-unit runs, but not the case-fan or, more importantly, the CPU fan.

Since I succeeded in flashing the BIOS via the cable, I would expect things going back to normal. Is there any chance my power-unit has to be reset or something, and the problem is not anymore with the motherboard?

keightn said...

hello again :) thanks for the immediate reply. I've been at the electronics store and they gave me some strange diodes that did not properly drop my voltage. A friend helped me with messuaring and soldering. We achieved a voltage drop of ~1V with 6 diodes. So obviously they are not good.
So we used a spare ATX power supply, shorted green to ground to make it run without attached board and stuff. Then we used one of the orange +3,3 line and grounded it to the parallel port 18 too.
I did cheer as the spipgm worked for the first time, but the board is still dead. I dumped the P5B flash to disk and compared it with the file provided with the P5B motherboard cdrom. They do not match. How can i fix this? Is this bad timing? Bad wiring? User error? Any idea? I provide some pictures an plan to update this blog, please have a look: http://gefrickel.blogspot.com/

Diego said...

hi, i can't recognize the bios.
Spipgm says ffffffh and unknown manufacturer. Is this a cable problem or what?

Mondo said...

@Diego, either the chip doesn't have power or something isn't wired correctly. Also, make sure your parallel port is enabled in your bios (on the flashing computer) and set to use address 378h. I actually ran into this and my parallel port was disabled in the bios.

Mondo said...

@Bob,

If I understand you correctly, you successfully flashed the bios, but now you can't get the computer to turn on? Hook everything up like normal and plug in the power supply and make sure the power supply switch is on if it has one. Does the motherboard LED light up? If not, the board isn't getting standby power. If yes and it won't turn on, you may have other issues.

Vinz said...

hi there !
a shine of hope come from this blog ! The RMA is asking me to pay to repair for this shitty bug, so i'll try youy tecnique :)
Can you send me more pics of you cable in a better resolution, because i don't really see how it is made. vinz{at}junkmail"dot"com
Thanks A LOT !!

Regards
vinz

Diego said...

this is the spi_j1

2 4 6
1 3 5 x

I solded :

SPI_J1 2 - 18 of LPT
3 - 7
4 - 8
5 - 10
6 - 9

the pin1 receive 3 volts from the molex of the dead computer.

I'have to verify the bios setting of the flashing pc.

I will keep you updated.
Thanks a lot!

Diego said...

soory, not the molex but the ATX power connector

Mondo said...

Diego, if you haven't already, check the continuity of each pin from one side of the cable to the other.

Diego said...

done. i didn't use any condensator or resistor on the cable. shall i do?

Mondo said...

Try Richard Burke's SPIPGM binary. He modified the source to work with his bios.

There's a link to it in the comments.

http://richard-burke.dyndns.org/wordpress/2009/02/107/#comments

bob said...

@mondo, that is right. I succeeded in flashing the BIOS with the cable. The power-unit is connected properly to the motherboard and the light on the motherboard lights up. However, if I check the voltage of one of the free molex-plugs, it does not give any power. Furthermore, if I press the power-on button on the frontpanel of the case nothing happens.

If I short the two pins you mentioned, besides that the green light keeps on burning on the motherboard (as before), the fan of the power-unit turns on and a voltage can be measured on the molex plugs. Furthermore, the power-on LED in the frontpanel lights up, as well as the harddisk activity LED. No videosignal though, no POST, no beeps and no CPU or case fan start running.

Strange, isn't it? All this problems occured after a bios flash. I would expect things go back to normal after reflashing it with your cable. Any clues what could cause this behaviour and I could investige some more? I tried out another power-unit, so I can rule this out as a possibility.

Am real desperate, because I cannot buy another mobo with the same chipset in the shops anymore. Since I have both a RAID-0 and a RAID-1 set up on only two harddrives through Intel Matrix technology, I am afraid a new motherboard will not recognize my RAIDs and the problems will only increase :-(

keightn said...

yuearh, everything back to normal. thanks to a selfmade binary (should be the same as Richard Burke's SPIPGM binary) and the /s parameter for flashing instead of the /p.

Diego said...

is the Status=1Ch ok?

G. Cooper said...

Thank You!

Using this information, I ressurrected (sp?) another P5B D-Wifi. It was killed by the Asus Windows flash utility. I built the cable, used the 3.3V supply on the ATX connector, flashed, and IT WORKS! I used an old Printer cable and an IDE cable that I chopped up. $0 Cost.

Vinz said...

@g cooper
Hi, i did exactly the same ! But for the moment i'm looking for the diodes, resistances and capacitors. You didn't use any in your cable ? how did you have the 3,3V ?

Vinz said...

Hi!
i've done the cable, checked all connections, but still get the fffffh! can't see my mistakes, any ideas?

Anonymous said...

I just tried this on my asus p5b-e motherboard which was killed with a windows flash, and the first time around it seemed to work however it still would not boot
so i hooked it back up and it reads that flashrom jedec id, type: 000000h
status = 00h and everything =0

however if i do it while the computers power is switched on i get a ffffffh so somethings up.

what happened and why wont it work, ive checked all the cables etc

???

Anonymous said...

edit:
got it to show up and was able to flash it, now i have the exact same problem as bob. ideas?

Charlie said...

Hi,
A few days ago, a computer with an Asus P5B as mainboard was left running (as normal) and when I checked on it (not omre than an hour) it was running all fans at max, screen blank (no signal), HD activity light on, and power LED off. It wouldn't power off except at the wall. When I try and boot it up again, the CPU fan spins up, and after a long time (15-20s) the graphics card spins up, but nothing else happens. The power LED was off, and the HD Activity light was on (as before). Some of the time the card spins, less frequently it doesn't even do this.

Thinking the issue might have been the PSU (and noticing a faint whining noise coming from it), I replaced it with another, but the same symptoms as above happen. According to my DMM, the buzzer (which does not exist on this model) would be sounding continually. Obviously, I've cleared the CMOS and disconnected HDDs, all but one stick of ram, tried in various slots, and tried it without any GPU. nothing changes the symptoms.

Right now, I believe it to be one of 2 issues:
Either an odd power fluctuations caused the PSU to fry the MoBo/CPU
or
An unknown issue caused the BIOS to be wiped/damaged.

Is there any way of telling what the issue is? I don't recognise the symptoms, but am guessing this might be as a result of BIOS damage, which is why I'm posting it here first.

Thanks
Charlie B

Jarod said...

I have a P5B Deluxe that suffered from a bad Windows flash.

It will power on, power off, power back on again with all fans going full blast, the power and HDD LEDs will be lit up, and nothing will happen.

I built a cable, omitting the power wire as I believed I would be able to just have the PSU plugged in, but the system off.

It identified my chip as '800010h' and Unknown manufacturer, flashed successfully, however the board still displays the same symptoms.

I then tried Richard Burke's SPIPGM2, which yielded the same result.

I then tried disconnecting the PSU from the board, running one of the 3.3V lines from the ATX connector to pin 1 on the SPI header, and bridged the green/black wires to start up the PSU, however this showed several different chip IDs every time I ran SPIPGM /i.

Would you have any ideas that could help me resurrect this perfectly good motherboard?

Jarod said...

As an addendum, my SPI chip is a MX25L8005, datasheet available here.

Vlad said...

Hi, I was also "lucky" messing up the BIOS using ASUS windows utility.

I have ASUS P5B Deluxe/WiFi-AP Edition. BIOS chip is SST 25VF080B.

Made the cable out of 25-pin serial port. I used an ATX power supply for +3.3V - used a paper clip to connect green and black (which is ground) wires in 24-pin connector and used orange wire to connect to pin 1 in SPI_j1. Also pin 2 should be connected to ground (any black wire) on same power supply.

Chip was recognized as BE08CFh.

I tried the way described here. No success. Then I tried Richard Burke's way. I got the SPIPGM source code, got DJGPP(compiler), recompiled the code - had to fix a couple of errors. No success, although I have precisely the same ship like he had. I tried /p and /s - didn't work.

By the way, newer SPIPGM has more swithes and it is possible to read BIOS and show otput to screen.

I modified the code a bit more and managed to unlock the chip and erase it. I used SPIPGM to read first 64 bytes and it showed FF FF FF... everywhere. Good - looks like I am going right direction. Then I tried flashing the chip with /p. It turned out that garbage is recorded when I tried reading BIOS. /s records garbage, but different. In both cases this garbage is consistent. I tried modifying the code to record just one byte. byte from BIOS.ROM file is 41h, recorded 03h.

I found some information on SST website and they had some samples on how to program this chip. Code looks very similar, no real differences.

To summarize:
unlocking - works,
erase - works,
reading - work,
flashing chip doesn't work...

Maybe chip is defective...

I will try getting back to fixing this in the nearest future. I already spent 2 full work days attempting to resurrect a dead MB and unfortunally I have too many other things to do at this moment.

I will keep you posted in case I have any news.

Crok said...

I managed to get 3.3V by cannibalising a SATA power extension lead. However, flashing seems to have made the problem worse. I'm not sure what went wrong but my P5B Deluxe stopped POSTing after I cycled the power early in POST. It happened once before and I fixed it by clearing the CMOS which is why I thought it might be a BIOS issue and suspected that upgrading might fix it.

Kenan said...

Hi,

I made a cable (thanks to you) and flashed the bios, but nothing happend (there is no beep sound). I have dumped a bios to a file and compare that file with one that I flashed the bios and they match, but when I try to start the computer nothing is happening, like there is no bios at all. Do you have any advice how to proceed further?

Br,
Kenan

Mondo said...

One thing I can suggest is flashing the board with the CMOS battery removed.

flighty said...

Hi
like many others before I do not succeed reprogramming my P5B board.
Bios was destroyed by failed update.
Selfmade cable is o.k for shure.
Flashrom jedec reads EE4000h,unknown manufacturer.Status 00h and everything 0.
I'am able to unlock/lock and erase chip.Unable to write p5b rom file,writing starts,does finish and counts up to 100%.Readout
shows status 00h (as above)
Now trying to compile SPIPGM.C with "DJGPP" as last solution, i'm unable to succeed because my computer runs on Vista. Would appreciate to have a compiled SPIPGM.C.
Anybody could help me with this "EXE"? (download link)
Thanks a lot.

Anonymous said...

Found compiled version of SPIPGM.C which is SPIPGM2 "exe".
For programing used /s.
Still no success.
Further findings: Reading out chip shows all garbage.Unable to erase, e.g chip is not empty.
Btw. I omitted the resistors in my cable.
Any suggestions?
Thanks a lot

flighty said...

Hi
I finally modified the patch cable to include Resistors and Capacitor.
Now "Spipgm" recognises the chip as "Winbond....".dont remember the exact figures.
Then unlocked,erased and flashed new bios with success.
Now my P5B board runs again.
Thanks a lot for helping on that issue.

Mondo said...

Flighty, that's great! Maybe 3.3V is too much? When I did mine it was right around 3V. Do you know what voltage you were at after you added the resistors and capacitor?

flighty said...

Hello Mondo,
for me the differnce has been adding the resistors.SPIPGM always showed "unknown manufacturer" before.finally after adding the resistors and the capacitor,the chip was recognized as "Winbond...".So, the resistors in the circuit are not only for parallelport protection as I read in "how to build the cable". They are essential!
For programing I used my external pwr supply which I adjusted to exactly 3.6V.
Kind regards
flighty

vojtasg@gmail.com said...

Hi Vlad.
Have you succeeded in flashing this chip. I got same chip ID and alos cannot flash nor unlock it. Could you post how did you made changes to spipgm so you could erase and unlock ? Binary would be great too ;)

Cheers.
Any help much appriciated.

Vojtasg

Unknown said...

I hope you are all aware that there's a 3 year warrantee on these boards. I suffered the same failed Windows update (using Win7) but RMA'd it for free (well I paid $10 in shipping). I get it back tomorrow.

For those trying to get a reliable 3v source without the hassle of power supplies, how about using a couple of AA batteries? Would that be easier? It's certainly a stable source of around 3.1 to 3.3v on new Alkaline batteries.

Anthony Quatroni said...

OK I had the same exact problem with an Asus P5B-Deluxe WiFi motherboard. I have Windows 7 and like an ass, I used the ASUS Windows-based tool to update the BIOS. I created the interface cable, set up a bootable USB key with Win98 boot data, and tried in vain to flash the BIOS with SPIPGM. 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. This blog rocks!

Anthony Quatroni said...

OK let me go into a little more detail. 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 caps 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.

Mondo said...

Anthony, thanks for the great info! Do you have a link for SPIPGM2.EXE?

Anthony Quatroni said...

Mondo, here's the link: http://richard-burke.dyndns.org/wordpress/wp-content/uploads/2009/05/SPIPGM2.ZIP.

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.

Anonymous said...

@Mondo

Please can you make the cable for me?
I will pay you.

Thanks

John

Empty said...

Hi, I don't know anything about electronics, but I think that I can make the cable of the first pic...

Can I connect 1 psu to the broken motherboard and join it to other computer with this cable, or I have to make the modify cable of the third photograph?

If I have to make the other cable, can u put bigger photographs and explain the steps carefully to silly people like me? :D

Thanks

Anthony Quatroni said...

Here's a link to a DOC file I created about the cable and reflashing the BIOS. http://www.yourbrainiacs.com/FILES/ReflashBIOS.doc

Empty said...

Ok, thanks. I have made the cable spi-lpt, but I have some questions about the rest of the parts:

1- The 2 AA bateries can be rechargeable bateries?

2- My molex have 4 cables, red-black-black-yellow. I think that when you say "orange wire", you mean (in my case) "red wire" isn't it?

3- I'am making the cable with a male molex... When I finish it, How could I connect it to the psu? finding a female molex in it?

Thanks...for all.

Empty said...

Well... I think I've done it (more or less), but...

I have some problems now with the bios of the recovery PC. It's a Dell and in its parallel port options, it has several...

-MODE: Ps/2 - EPP - ECP -OFF
-I/O ADDRESS: 378h - 278h - 3BCh

And when I select "ECP" mode, I can also change the "DMA CHANNEL" between OFF - DMA1 - DMA3.

Which is the correct parameter to make this?

Empty said...

Ok, I put the options to EPP-378h.

I booted the computer with a Windows 98 SE boot disk (from floppy), and when it finished I used a second floppy to run spipgm, and to flash the bios file.

When I write "spipgm /u /e p5b.rom" it shows:

STAT=04h, WE bit is disabled
Flashrom dejec ID Type = C22014h
Macronix MX25L8005 (1MB)

I don't know what this means...

Before this, I used "spipgm /p p5b.rom" and it seemed to work because it showed a percentage.

After this I try "spipgm2 /s p5b.rom" and it worked too, because it began a long process...

Finally, I try to run the motherboard and it doesn't work...¬¬

What can I do?

Anthony Quatroni said...

I'm trying to respond to this, but my comments are being published for some reason! Email me at anthony@yourbrainiacs.com if you have trouble with this.

Anthony Quatroni said...

Sorry, but I think my response is too long. Again, email me if you have trouble. I have a lot more info on this reflashng procedure.

Empty said...

If it helps, when I write spipgm /i it shows:

SPI FlashROM Programmer 1.4 (c)2008 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.3.2. at 01:39:18, Feb 5 2009
SPI connected to LPT port at I/O base address: 378h, SCK pulse with: t+Ous
FlashROM JEDEC ID, type: C22014h
Macronix MX25L8005 (1MB)
Status= 00h (BPL, AAI, BP3, BP2, BP1, BP0, WEL, BSY)<--All with "0" under it.

Anthony Quatroni said...

The fact that it's reading your ROM is great! It means you have connected the cabling right! All you have to do now is unlock the chip, erase it, and write the right BIOS to it with the /S switch and you should be good! See my email.

Empty said...

I tried that...I reply your e-mail, I'm going to try more things...

Thanks

Mondo said...
This comment has been removed by the author.
Mondo said...

I setup some forums to make discussion easier. http://forums.mondotech.org

Empty said...

Well, finally everything was OK.

I made a cable SPI-LPT with 2 AA bateries welded to it like this:

http://www.yourbrainiacs.com/FILES/ReflashBIOS.doc

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!!

Thanks for all!

Anonymous said...

Hi guys

I just want to say thank you to all of you who make this fix possible.

I sucessfuly manage to recover my DFI LP DK 790FXB-M3H5 (SST25VF080B).

I did the cable (DC25->6 PIN), just with some minor change, I powered the SPI chip from the boards Battery (3V) reading 2.8V on DMM, so I soldered as show above, a left de pin 1 cable loose, witch I use to connect directly to BAT, so was straight foward.

Commands:

CWSDPIM
SPIPGM2 /U
SPIPGM2 /E
SPIPGM2 /S MYBIOS.BIN

That's all.


Just one note: I needed to connect an PSU to the damaged board for the chip to be recognised, but didn't power up the board.

THANKS and BE WELL

aGeoM

Anthony Quatroni said...

That's awesome! I think we're going to be seeing more and more successful reflashes now that the procedure is more refined.

Anonymous said...

^^

Yes, you did a good job on Rayer's programme, to alow SST25VF080B flashing. I'd post some photos at DFI forum, from cable and system running.

http://csd.dficlub.org/forum/showthread.php?t=11487

aGeoM

MarcosMarble said...

Great!!! I make the cable using word's document "reflashBios.doc" using the orange and black atx cables and now my P5B Deluxe finally work.
It's very simply...Thanks To all ^_^

BabyfaceAsassin said...

I used this forum to help me fix my Asus P5b motherboard. Thanks to all who posted there experiences.

Note: Ensure to check the voltage you are getting from your power source. If you get an error while attempting to unlock the bios that says "unlock failed set WP# higher" its because the voltage from your power source on the cable is too low. At first I used 2AA batteries and got that error. I then used my CMOS battery (which is 3Volts) along with the SPI Cable i made and it worked fine.

Nabil said...

HI!!! I´m From Agentina and sorry for my bad English!

I can´t believe it! It Work!!!

After four hours suffering i make it work thanks to you!!

This is my hardware configuration:

Motherboard: Asus P5K-E Wifi/Ap
Chipset: SST 25VF016b

The program never recognized but when i connect 3.3v cable to a bat (mother) it says SST (unknown).

I run in this secuence the commands.

cwsdpmi
spipgm2 /u
cwsdpmi
spipgm2 /e
cwsdpmi
spipgm2 /s p5b-bios.rom

Thank you a lot!!

Nabil

Anthony Quatroni said...

Yet another satisfied customer... AWESOME! I'm so happy I could clear up a lot of inconsistencies with this procedure, and thanks have to go to Mondo for having this blog in the first place!

Nabil said...

Hi Again!

I Have a little problem... i know its not related to this procedure but maybe anyone can help me with this.

My system say´s Intrusion Detected, System Halted and stops.

The jumper is in the correct position, i clear the CMOS, i put out the battery and put it back. I change the jumper... nothing.

I google it and its a lot of people with this problem..

I hope anyone can help me.

Thanks.

Nabil said...

Hi to all!

After a lot of research and fry my brain, read a lot of forums, blogs, etc. I find a solution for this common ISSUE for all Asus Customers.

All the people says:

- Unplug the power.
- Clear CMOS
- Change chassis intrusion position jumper (to Default)
- Change Battery.

If none of this works... (the most people with this problem). The problem is hardware...

Well there is an Transistor next to Chassis Intrusion Jumper marked as S72 (if you have to buy the name is 2N7000 or 2N7002, the last one it´s superficial like the soldered in the MOBO), there are 3 of them completing the circuit.

Link of the Transistor: http://www.fairchildsemi.com/ds/2N/2N7000.pdf

In my case (and 32 mothers similars to mine Asus P5K-E Wifi/AP) i fix the error changing one of three Transistors because ALWAYS one if damage or the readings with the Multimeter are wrong.

This is a usual problem when the component receives more than appropriate voltage or an electric shock.

Changing the component fixes the problem.

I hope this helps to all the people with this problem.

Regards
Nabil

Nick said...

Another lucky guy...

I also had luck with reflashing my P5B Deluxe. Cable works fine without resitors and capacitors but first try to flash was no success. I just used the diodes and I got exactly 3.3V from the flashing computer, but I think it is necessary to connect power supply to the dead mainboard to get it flashed correctly. I even used quick flashing (/p option). Without having the mainboard connected to power supply I had no success. I also removed the battery before flashing.

Thanks alot for the help.

Regards,
Nick

Anonymous said...

I've successfully flashed my P5B deluxe.
Cable was built without resistors and capacitors with 3.2V power supplied from two AA batteries. The power cord was attached to the computer but it wasn't switched on. The program didn't recognize the flash and I decide to have a try with /p option. To my surprise all gone well and the mobo is alive again.

john said...

i've got a problem with flashing the chip... when i start spipgm2, the chip is recognized correctly, and i'm able to unlock it. but if it's finished with flashing, the status is still 00h =(
another strange thing is the warning (always when i execute spipgm2):
"Warning: cannot open swap file c:\cwsdpmi.swp"
any ideas?

Mondo said...

@john
Is your boot media read only?

john said...

nope, i boot with a simple bootable floppy disk and then change the floppy disk to one, which includes the spipgm2.exe and my flashing file X48DDA03.bin
the flashing file is exactly 1MB, so it doesn't fit on the bootdisk.

Daniel said...

hello!
I tried to flash my p5b deluxe, but it doesn´t work. the first time the bios chip was detected as FC26F8h, unknown manufacture.
I flashed the bios with the /s command but when I started the pc there is no video and no post, all fans are spinning correctly.
Then I tried to flash it again, but know the chip is only detected as FdFFFFh, flashing the bios give me the same errors as above.
Can you help me?
(sry for bad englisch)

Daniel said...

Today i tried to flash the board again after i resoldered my cable.
I think now I'am a bit closer. spipgm detects my chip now as BFFFFFh "SST unknow chip". but still no video/postscreen.
Need help

Anthony Quatroni said...

Daniel, try this:

cwsdpmi
spipgm2 /u
cwsdpmi
spipgm2 /e
cwsdpmi
spipgm2 /s p5b-bios.rom

john said...

@ mondo: i could fix the problem with the warning message... but the problem still exists... i can unlock the chip, delete it, but i can't flash it =/

john said...

just tried to flash the chip with different procedures... tried it with
(...)
spipgm2 /s mybios.bin

(...)
spipgm2 /p mybios.bin

a few times with different delays, e.g.

(...)
spipgm2 /s mybios.bin /d=2

but still no success... any idea what else i could try?

Daniel said...

@Anthony
Tried that out, but it doesn´t work. Still the same error. Don´t know what to try next, is it possible that the chip is broken?

elkay14 said...

I just used SPIPGM2 to rescue my Gigabyte M61PS3 board. There was no SPI header, so I had to solder leads onto the chip itself and use a breadboard to build the circuit outlined at the SPIPGM author's site.

It was quite a project and the one thing I learned is that you MUST erase the chip before programming it or you won't get a good flash.

Richard Burke (Author of SPIPGM2) said...

Hi,

I may have a solution for those people experiencing bad mojo with the homebrew cable. Since it is completely self-serving, let me know if it's ok to post details.

Rick

Mondo said...

@Richard,

Please do.

Thanks!

Anonymous said...

Hello, sorry for my English, I'm trying to build the cable along the lines of Anthony Quatroni, but I do not understand how to connect pin 2 to pin 18 and also to the black wire of the molex?

Thank you.

Neil G said...

I have to say a big thank you to everyone. I did the Win7 64bit update and lost my BIOS.

For a whole AUD$3.80, I was able to make the cable and reflash my BIOS after some time.

I thought I would tell people what I did, as it appears the voltage for programming can play a significant part.

1. Used NVidia KT400 motherboard - unable to get successful flash. SPIPGM2 /I showed unknown. Voltage was driven off 5V Molex with 3.3 diode.
2. Used MSI Intel based motherboard. At first was unable to flash with Molex. Changed to using 2xNiMH rechargebles as power source. And still no flash
3. Using same board as 2 above, I connected power to powersupply which was connected P5B, but did not turn on the PC.

Vlad - I saw Status 1Ch many times during this process. Also saw BE08CFh as the JEDEC. Once I got the power source sorted, the chip was identified as SST25VF080B and I was able to /u, then, then /s.

Motherboard now working perfectly again.... Thanks for everyones suggestions.


Neil

Richard Burke (Author of SPIPGM2) said...

Thanks Mondo,

A quick note about the BIOS Chip identifier: You know something is wrong when any of the bytes are even parity. FF, for example, is even parity.

I've written a manual for a commercial, USB based, recovery solution. The manual documents various methods for powering the target motherboard. It may help people attempting the parallel port home-brew solution.

http://richard-burke.dyndns.org/wordpress/wp-content/uploads/2009/09/BIOSRepairWizard-BRW-4028-13.pdf

Also, the USB product may help if the parallel port recovery method does not work for you.

Rick

Unknown said...

Thanks a lot,
it works great. I use boot cd of windows 98se. Before I prepare bios ROM file and needed software on floppy disk. After reboot connect cable to my P5B mobo. It's better copy needed file to win ram drive due to speed. And than start flashing, everything go excelent.

Thank again

P.S. : mobo "dead" after unsuccesful asus update flash

Harry said...

Thanks a lot from me to!

I've tried an old dos PC and linux for flashing my p5b but it didn't work.

Microsofts Virtual PC 2004 under Windows XP did it finally (with spipgm2)!

Anonymous said...

Thanks to all. I've just reflashed my bios with Antony's suggests using 2 1,5V battery in series.My Motherboard is saved

Anthony Quatroni said...

I'm very happy that so many people are having success since I posted my clarification on the procedure after my own disaster. Of course, we all must give credit to Richard Burke for the SPIPGM2 program and to Mondo for this great blog!

Chuck G said...

I just can't thank you guys enough. After beating my head against the wall for using the Windows update utility and crashing the bios, I thought I was down for an expensive newegg purchase to fix my bumbling.

After reading these posts, I went to my stock of old computer parts, and in less than an hour I had created the "Frankenstein cable" out of an old 25 pin hood, an old COM port extender ribbon, and two AAA batteries, and some electrical tape.

After downloading spipgm2 and cwsdpmi and creating my boot disks, I still couldnt' get it to work. Then I remembered that I was on an old IBM laptop and sure enough... 3BC for the LPT port. Changed to the (non-IBM) standard 3F8 and I was rocking!

Thanks again for a wonderful discussion and solution for an (apparently) all too common problem.

Anonymous said...

Hi.

Command: spipgmw.exe /i
Output:
FlashROM JEDEC ID, type: EC0000h
Unknown manufacturer

Command: spipgmw.exe /u
Command: spipgmw.exe /p p5b.rom
Command: spipgmw.exe /d _p5b.rom

But p5b.rom not equals _p5b.rom if check through fc /b. Also mb still not boot.

Don't use any resistors or capacitors. Direct connection through orange wire on ATX power supply.

What I am doing wrong? Any suggestions?

Anonymous said...

What am I doing wrong?
Not using resistors. :)
150 Ohm / 0.250 Wt.

Anonymous said...

Hi,
I'm Franco from Italy, and I'd like to thank you for your helpfull advices.
I had the same problem with bios of my asus p5b and win 7 64bit.
I've tried one time with a 3 diodes usb cable but it didn't work, with this output:
04h, WE bit is disabled.
At the second time I've used a cable with 3.0v power supplied from two AA batteries and it worked!
Now my motherboard works perfectly.

Anonymous said...

What am I doing wrong?
Not using resistors. :)
150 Ohm / 0.250 Wt.

I think you are using a wrong voltage, try with 3.0v power!

Anonymous said...

I used two AAA also, but no luck.
But resistors do their job.

Also for SEO and history.

MB - P5B (no deluxe, no wifi).
Flashed 2104 BIOS in Vista x64 through Asus Update and brick MB.

SPIPGMW.exe 1.6 version on Windows.

Special slow DOS version SPIPGM2.exe doesn't help either.

Bella Rose said...

I have an HP IPIBL-LB motherboard with the mx25l8005 chip with an ATI bios on it. The SPI header on my board has 8 pins with number 4 missing.

1 2
3
5 6
7 8

1 and 2 have a jumper on them, without this jumper the computer just keeps resetting.

Can someone tell me which pins on the actual chip their headers lead back to so I can figure out which ones mine point to. Thanks.

AlexC said...

To those still having problems, INCLUDE THE RESISTORS IN YOUR CABLE, they do more than just protect the parallel port. I built my original cable without capacitors or resistors and spipgm2 could not identify my chip, it returned "ID BE08CFh" with "Unknown Manufacturer" and "WE bit disabled" whenever I tried to unlock and erase the chip. After almost 3 days of troubleshooting and many unsuccessful flashing attempts I finally decided to include a 1000uF 10v capacitor connected from ground (SPI pin 2) to VDD (SPI pin 1) and four 220Ω resistors connected to DB25 pins 7, 8 , 9 , and 10. When I ran spipgm2 with the modified cable the chip was identified as "SST25VF080B" and I was able to successfully unlock, erase, and flash the bios with a perfect match returned by cmd16 when I compared the dump file and the original bios file. Now my computer is running just as it had before this ordeal.

I have a P5B Deluxe motherboard and got the 3.3V from the orange wire of an external power supply from an old PC, so i didn't need to use diodes. If you have a P5B Deluxe, you definitely have to use spipgm2 /s to be able to successfully flash your bios. If your chip is identified as "BE08CFh" with "Unknown Manufacturer" then don't bother try flashing the bios, there is something wrong with your cable. Also, you can use binary compare CMP to compare the bios file and the dump files you create with spipgm2 /d once you flash to make sure that your flash was not corrupted before hooking up your PC again, it saves time.

Check out Richard Burke's original post for more information. He also includes a very helpful schematic for building the cable with resistors and capacitors.

For those of you who don't have access to a floppy drive or a computer who can boot from a usb flash drive, then try using Ultimate Boot CD; its available for free and it includes a program called NTFS4DOS that allows you to access your NTFS partitioned drive from within DOS. That way you can simply create a folder in your C: drive where you can put your bios files, spipgm2, CWSDPMI, CMP, and any other program that you feel you might need.

Finally, I'd like to thank Mondo, Richard, and all who contributed to this Post and made this possible.

myth said...

You guys absolutely rule! I used the Asus BIOS Windows Update and bricked my mobo. Thanks to you everything works now.

I used the method with 2 AA batteries and spipgm2 /i, spipgm2 /u, spipgm2 /e, spipgm2 /s p5b.rom.

I also tried to flash the bios while my PC was running without success, it had to be turned off and power had to come from the batteries.

Lauri said...

Hey,

I have tried almost every combination mentioned here to get this work without any success, so maybe you can help me by clarifying some things.

For the facts, im using 3V LR battery, which is by e-meter @ 3.05V. And same kind of cable-adapter as Mondo in beginning of this guide, but the "IDC-10" is missing pinhole number 10, as its not being used I think it doesnt matter. So, for the guestions..

A) About soldering, can I simply just solder the No. 1 wire to the + side of the battery ? And whatabout the batterys - side, can I just cross-solder wire 2>18 to that ? I think this is important.
(with some tape, because otherwise the solder doesnt hold for some reason in the - side)

And sideguestion about soldering, how "fine" the solder should be, of course there can be no contact with other solders/wires but is this enough ?

b) Im using Ultimate Boot CD in my old laptop mastering the broken P5B. As spipgm2 reports that the LPT is connected to SPI (whether is physically not), how can I make sure that this is true ?

c) it seems that theres no right or wrong to whether the mobo is getting power(mobos led-light on) and is the cmos battery in place or not, so Im going to experiment by the mobo on and cmos-battery outplace before I throw my mobo to the wall or somebody helps me.

Thank You for not losing temper in my bad english :)

Lauri said...

Btw, here is picture of 3rd. version from my cable:
http://xs.to/share-12C9_4B3A27B6.html
The tapes between pins are because im trying to make sure that there is no contact from solder to another.

And when I asked about cross-soldering the wire 2-18, I meaned this picture
http://xs.to/share-2024_4B3A2C46.html
Where you can see that 3V batterys - side is clearly connected to wire 2-18, altough the original article doesnt mention that ?

AlexC said...

^^ In answer to your questions Lauri:

A) Solder the negative (-) side of your battery to wire 2 and pin 18, which act as ground. Wire 1 should be soldered to the positive (+) side of the battery.

B)If spipgm2 /i reports your chip id as fffffffh then there is something wrong with your connection. If you get any other value it means it is connected but it doesn't necessarily mean it can flash it correctly. Make sure you don't get a "WE bit disabled" when you try to unlock or erase the chip.

C)If you have a P5B deluxe it shouldn't make a difference. If it doesn't work then try using resistors and getting the power from an external power supply. It worked for me when i was about to give up.

Rich said...

Hey folks...
first, thanks for this fantastic blog, although i'm still not really successful :D

After trying for at least two days i'm still having massive problems with my P5B Deluxe, with MX25l8005 chip.
I built the cable, right after your schematic, included the 220Ohm resistors and a 470µF (also tried with 4700µ) capacitor on the 3V3 Line, which is powerd by a external PSU, and checked everything with a dmm.

But if i call the spipgm2 /i it won't detect my chip, but reads 844029h. I checked the datasheet and the spipgm2.c and the right ID for this chip would be C22014h... This would be exactly what i'm receiving but somehow shifted to the left by 1 bit.
Any ideas what i could try?

Rui said...

Hey guys. I send my P5b to "coma" with windows update utility .(. After a little search i found this excelent blog. I already have the necessary cables to make my cable but there is a problem.
I can't download SPIPGM2.ZIP from
http://richard-burke.dyndns.org/wordpress/wp-content/uploads/2009/05/SPIPGM2.ZIP. It appears to be down. Anyone knows a alternative download? or anyone can upload it for me?

thanks.
I'm sorry for my bad english

Anthony Quatroni said...

Rui, giv me your email address and I'll send it to you as an attachment. anthony@yourbrainiacs.com

Robin said...

I'm so happy I found this page!
Messed up my P5B Premium Vista Edition board with the Asus Update Utility.
Took some effort and long lost skills (soldering :-P) but I managed to fabricate the cable.
NB: I donated the firewire extension cable that comes with the board, I dont use it anyway, and it has nice color-coded leads, bought a db25 male at the local electronic-shop and used the firewire asus EZ-connector, wich has nice pins to solder the wire on.
Had to resurrect my old pc, to be able to use the parallel-port (it still works brilliantly I was amazed). Got a hit on the chip Right First Time!
Unlock/Erase/Write and DONE!!!

Regards,
Robin,
The Netherlands

Rui said...

My email address is as6108844@sapo.pt

Thanks

Unknown said...

Hi all from Ukraine!
I Just resurrected my P5B due to this blog and i want to thank to all peoples here! THANK YOU ALL!

I spent 2 days of my life to do this mega operation.

I make commented photo, to help other unlucky owners of Asus P5B motherboards, maybe to make this process easier for them.

See it here: http://f.io.ua/img_aa/full/1397/85/13978563_f.jpg

Also you can see created mess in the room thrue this operation:
http://f.io.ua/img_aa/full/1397/85/13978564_f.jpg

Jean Paul said...

Hi,

thank you for all your explanations and best wishes for 2010 from France.

I managed to leave my P5B Deluxe-Wifi/AP rev: 1.03g thanks to assembly with the resistors of 220 ohms in series with the power supply with 2 x 1.5 V AA.

For mounting with no resistance and power of 2.9 volts, I could not unlock the bios. (status 9Ch, unlock failed, set WP # pin high level).

Best regards

Mike Welch said...

Well, thanks to that Richard feller who modified Martin's software I have finally managed to get my SST chip to program. The /s [slow] switch is absolutely required. Funny thing, I passed over spipgm2 several times not realizing there was a hidden /s switch until I carefully read through this particular blog ... one of what seems like millions at this point.

So, I have successfully recovered notebooks that used an Atmel AT26DF321 (4M) -- Martin's original spipgm app works fine with that chip BTW -- and now a 2M SST chip.

You know, I bought a Willem programmer because it was supposed to handle this but after a week of pounding the Internet for insight I realized that the description was in error and it didn't support the SPI chips I was trying to program.

Richard, if you're reading this, you really should add the /s switch to spipgm's help.

Also, Martin has his software up to version 1.6 but I haven't found source for that. I wonder what changed? The two tips should be merged into one happy appy.

Thanks all!

/\/\ike \/\/elch

Unknown said...

Mirror:
http://img17.imageshack.us/img17/9999/p5bresurrection.jpg

And
http://img7.imageshack.us/img7/9971/messbl.jpg

Gregor said...

Hi,
just flashed my maximus formula by SPI (cwsdpmi > spipgm2 /u > spipgm2 /e > spipgm2 /s ***.rom)
I used a cable with resistors and 3v from PowerSupply.
however, I only used the resistors becouse I tryed it with spipgm before :D

It works perfect
and my mobo is running again, thx :)

Konsta said...

Hi!
I destroyed my P5B Premium Vista Edition with Windows BIOS update. (at least I learned to not use windows updater)
I have tried 3 days to get this method work, first I tried with batteries and capacitors etc but spipgm2 /i did not find chip id.
Now I tried with just wires and rescue PCs orange 3.3v.
It also returned ffffffh...
Anyway I continued, and unlock and erase commands said it was successful, flashed it but ofcourse it did not work...
I have checked that LPT port is enabled and mode is 378h ( tried both DMA 1 and 3 )
I think my cable is fine.
I measured power between ground and all wires.
Ground to 2 = 3.4v
Ground to 4 = 3.4v
Ground to 6 = 4.5v
Ground to 3 = 0.04v
Ground to 5 = 0.04v

I'm thinking to buy new Motherboard soon if this does not work... does anyone have some more tips?

Konsta said...

I checked cable, its fine.
I think Im VERY CLOSE...
If I dump flash to file with spipgm2 /d dump.rom
and compare it to "asus.rom" I noticed that dump.rom is 50% the same than the asus.rom...

asus.rom starts with "ASUSTEK"
dump.rom starts with "A U T K"
Every other character is corrupted!!

I need to try with another computer... my rescue PCs LPT port migth be broken or something...

Konsta said...

Whohoo!
I got it working!
spipgm2 never got chip id ( it was allways ffffffh )

"spipgm2 /s" wrote only every other value to my chip.

I got it working with:
"spipgm2 /u"
"spipgm2 /e"
"spipgm2 /s "
"spipgm2 /p "

Greg A. said...

hell yes!!! it worked!

i had to remove the CMOS battery and try again. but once i did that the system started beeping. now i even have the latest bios, woohoo!

never using windows to flash anything again. thanks Mondo for publishing this guide.

PS my spipgm /i shows 800010h

also i did not use any resistors or capacitors. just a CMOS type battery (you can use the one you remove!) connected between pins 1 and 2 of the bios side connector.

i also made my own cable with a ribbon + connector i found in an electronics shop.

so happy that this worked!!!

Xmoder said...

My asus p5b-e plus died after I tried updating the bios from Windows...thought that was the end of it until I searched and found this info. It took me few days to get my m/b back to life.

I have tried a few "Quick and Easy" methods here with parts that I have to perform the recovery....CMOS batt, connection to orange wire on PS unit and using battery to provide +3V supply as suggested...but seems non of it work as it chip detected is unknown. I was close to get it working with a torchlight mod...my torchlight is running on lithum battery with output rated at 4V, but I am not sure what is the actual output. It managed to detect the chip correctly and able to unlock the chip, but I was unable to flash it correctly with evey methods mentioned here although the flashing completed 100%. I used a hex editor to compare the dumped bios and bios file...the dumpeed bios have corruption....didn't see the "ASUSTEK" words in the dumped bios as compared to actual bios file.

Finally, I re-soldered the wired with 4 X 100ohms to pin 7,8,9 and 10 on DB25 with the torchlight battery connection and re-flashed the bios with spipgm2 /u /e /p....it finally worked!

bodgeup said...

Hi,

Can someone tell me is it just pin one that pin 1 on the spi end that i connect to the bios battery +?? Do i not need to connect to the - on the battery aswell??

Thanks

Bodgeup

Also does any one know if you can use USB instead of parallel? If so has anyone got diagrams??

bodgeup said...

can anyone help??

see my post here:-

http://forums.mondotech.org/index.php/topic,6.0.html

thanks

bodgeup

Anonymous said...

can anyone post what your lpt port settings in the bios should be set to for this to work?

MattA said...

Just wanted to thank you for this blog post. Worked for me & my bricked p5k-e wifi/ap. Made the cable to Anthony's word document specs & then flashed with spipgm (1.6), the command sequence was:
spipgm /u
spipgm /e
spipgm /p p5k.rom
Anyways, thanks for saving me $70+ and a lot of headache.

merk said...

Trying this on a DFI X38-T2RB

I've made my cable and triple checked it, it works every way i test it with my voltmeter but I cannot get my chip identified.

I am using a CMOS battery for my 3v. I have the + connected to pin1 on the header plug and the - is connected to a motherboard screw via a jumper wire. This should complete the circuit right?

A DFI tech told me that my board isn't to receive any power at all while attempting to flash it. I asked him if he meant that I wasn't supposed to inject 3v into that chip and he said that the board itself was not supposed to receive power so i'm assuming he meant no standby voltage?

Tonight when I get home i'm going to connect the + from the battery to pin1 on the header plug and then connect the negative part of the battery onto the pin2 wire... if that doesn't work I don't really know what to do.

merk said...

still no luck by wiring the battery directly into pins 1 and 2 for voltage. everything tests fine and i'm showing 2.9v with another cmos battery on those pins. still getting type FFFFFFh and unknown manufacturer. keeps saying status register is protected, you will need to set WP# high

i'm going to try a seperate pc power supply for voltage and if that doesn't work i guess this just isn't possible for this dfi board. i have triple checked my connections again and this cable is correct.

merk said...

Used the 3v line from a spare power supply and a ground from it also. Still Fh status and unknown manufacturer. My board has the same chip as the Asus boards, SST25VF080B.

Really baffled by this

Steve B said...

-*-*-*-*-*-* READ THIS BEFORE ATTEMPTING -*-*-*-*-*-*-

I have tried, and succeeded in flashing. There are a few things to "clean up" to make sure that this works right. First, the data lines (3 - 6) need to have some sort of resistance in order to "clean" the signal. I used 1/4 w 1k resistors and had success. Prior to this I didn't use resistors and it would detect ok some of the time. The trick I used was spipgm2 /i and then repeated 7 - 10 times rapidly. If you get the ID back fine each time then you are good. If it fails, or goes unknown chip, you need resistance. the resistors I mentioned can be picked up for a few dollars for a five pack at radio shack etc.

I used a couple of headers from an old AT case and they worked fine. You can get away with doing it without solder by stripping a good length of wire (stranded) and folding it over itself and twisting. This works for both the parrallel port and the 3v from the power supply.

Another note - ground MUST be connected to pin 18 on the parrallel port.

If you are putting the wires into the parrallel port directly the pins start on the RIGHT hand side so if you are looking right at it you would see pins 13 12 11 10 9 8 7 6 5 4 3 2 1 on the top row and 25 thru 14 on the bottom. Knowing this in the first place would have saved me some headache.

Also it should be mentioned that with this method you CAN erase the bios and flash with an older bios, allowing you to roll back. Asus doesn't recommend this, but then again they did recommend the garbage windows bios flash that got most of us here in the first place.

Steve B said...

Part 2

You do not need to have any power connected to the P5B. You do not need to have the battery in or out of the board (worked both ways). Adding resistance to the 3v line is a good way to ensure failure 100% of the time.

A valuable time saver is to use spipgm2 /d dump.rom after you have completed the process and compare the dump.rom to p5b.rom or whatever you used. I googled hex dump online and used the first page that came up to compare the first 100,000 bytes. If they matched, I would do the first 10,000,000 and it would spit back both in their full contents. Make sure they both match and you should be golden.

Unfortunately in my case I believe that the motherboard was damaged on the exit from the case and it is now likely dead, but it is dead with a P5B bios on it.....

I found it easy to connect the applicable wires by opening one of the card slots on the case and bringing the wires through it directly to the other PC. I don't recommend using a CMOS or two AAA batteries since the 3v line for the working PC is immediately accessable. I also recommend that you use the most recent BIOS from Asus since you may be using a CPU that was added in future BIOS revisions, and not in the older ones.

Mutant_Tractor said...

Hi dudes!
Well Im trying this out with my Asus Blitz Formula and im having a bit of bother,
When i do identify it identifies my chip perfectly and its serisl number etc but i cant seem to disable WE Bit,
This is the screen i get:
http://img338.imageshack.us/my.php?image=img6517c.jpg

Then after that when i do /i it has:

Status= 00h (BPL, AAI, BP3, BP2, BP1, BP0, WEL, BSY)<--BP3 BP2 and BP1 have 1 underneath the rest are 0, what gives?

Do they all need to be 1 when it is properly flashed?

Thanks so much for the help so far guys!
Myles

Mutant_Tractor said...

Woops messed up a bit there,
Its BP2 BP1 and BP0 are on 1 with Status=02h,

It seems when i do /u they all turn to 0 and when i do /e BP2 BP1 and BP0 turn to 0,
I am currently running /s without running /e to see if that will work but i am not sure, i have dumped the rom so once it is finished flashing i will compare the dump to the original file, what happens if they are not the same?

Thanks
Myles

Mutant_Tractor said...

One last update.

Seems my BIOS chip is TOTALLY blank, I dumped it and used an online analyzer and everything is code FF even after flashing using /s :(

Time to buy a new IC?

Steve B said...

@ mutant - Do you have resistors on all of the lines? I never actually confirmed that the BIOS was wiped nor did I pay any attention to the erasing process... It seems like you cleared it fine, but haven't been able to write to it..

I would also put the ROM in the same directory so that you can do spipgm2 /s whateverrom.rom

Mutant_Tractor said...

Hi Steve,
I dont have any resistance in the lines but i can read the ROM perfectly it tells me:

FlashROM JEDEC ID, type: BF2541h
SST ST25VF016 (2MB) ( have a feeling this chip is actually an 16Mbit chip?)
Status = 1Ch (BPL, AAI, BP3, BP2, BP1, BP0, WEL, BSY)
0 0 0 1 1 1 0 0

Then I did /u /e then i used /s to flash it after it was flashed i did /d dump.rom to dump it again and i analyzed it and the first 1000 characters were okay then ff for a few hundred then some more were encoded then ff again then that repeated?
Could that be a power source probelm?
Im using the 2xAA and i measured it wih my fluke and i got 3.3v and the chips range according to the datasheet is 2.7-3.6V so it should work?
Or would you wtill reccommend putting in resistors?

Myles

Steve B said...

@ Mutant Tracktor

This is entirely what happened when I didn't use resistors. It would tell me it was reading ok, but then it would drop out. try doing spipgm2 /i and hit enter and then F3 enter like 25 times rapidly and see if you notice it drop out. That was how I noticed it, and the resistors fixed it completely.

Make sure you are downloading the right BIOS for your chip, and also consider taking your 3 V from a working power supply. It's just a lot easier in the long run. You can unplug your existing computer's 24 pin and 4 pin connectors and plug in a bridge on the green and black wire on that PSU to force it to power on. Take your 3V line from that and you won't have to worry about dropping V during read/write

merk said...

I would agree with Steve on the voltage. If you are getting a solid 3v from the supply you don't have worry about that if you continue to have problems and need to troubleshoot.

I give up. I must have other problems or something because I just CANNOT get my chip to read or be identified. I have double checked the cable so many times it is seriously not funny. I have the resistors in the line but I left out the cap because I felt it wasn't necessary. I have 3.32v coming from the power supply. I have tried 3 different computers. I have tried ECP, EPP, and Bi-Directional on the lpt port settings. I constantly get Fh status and unknown manufacturer.

I officially throw in the towel. To anyone in the future that comes here looking for help with a DFI board, good luck is all I can say. The SPI programmer is 35 dollars + tax if you live in CA and shipping is additional. I'm not going to buy it though i'm just going to send my board to them because it has to have some other problem.

Mutant_Tractor said...

Well i just bought these for the future in case:
http://zeitech.de/Willem-Enhanced-Dual-Power-Universal-Programmer

http://zeitech.de/SOIC8-DIP-ZIF-Adapter

So ill flash any bios i may need :D

That said ill try out the resistors tomorrow,
I have a couple of caps if theyre worth a try?

Its really weird that it will read large chunks fine then some bits ff everywhere,
thats the exact same as what you got steve?

Cheers!
Myles

Mutant_Tractor said...

@Steve
Just tried it with 1KOhm Resistors on all 4 data rails and all i got was the ffffh thing for chip model and unknown manufacurer,
I also tried it with the 3v line but no luck again unknown manufacturer but that was with the resistors,
I connected it all back up the way i had it with two resistors and the batteries and i tried the F3 Enter thing a good 50 times really fast and not one drop out,
This has me really baffled, it seems the BIOS chip itself is perfectly okay but it just drops out when flashing then kicks back in again,
Woudl it help if i connect it to the 3V line without resistors then flash that way?
I think my resistors may have been the problem too high resistance maybe?
Im using these:
http://www.rapidonline.com/Electronic-Components/Resistors-Potentiometer/Carbon-Film-Resistors/CR25-Carbon-film-resistor-kits/28374/kw/13-0200
So its one of three things:
a) BIOS chip is fried
b) Batteries dropping out during flashing
c) "Dirty" data signals

a) Doesnt really make sense as i can still read and write and get all the data and information from the chip fine so it MUST be okay correct?

b) Very probable, Its strange that when i anayse the dumps i get chunks of data...nothing...data...nothing at semi-regular intervals

c) Maybe a cause too but as soon as i add the 1KOhm resistors (Although could be a bad connection) i get unknown manufacturer and model

So thing for me yet to try;

Hooking up to the 3V rail... again but with no resistors?

Assing a Cap on one of the lines?

Adding lower resistance resistors?

Argggh this is driving me crazy :(
Myles

Mutant_Tractor said...

Just hooked her up to the 3V rail, no resistors and dumped to my HDD before the new flash and again after the new flash,
Then use a file contents comparitor to compare the three files,
The dump that was created from the flash using batteries DID NOT match the original (blitz.rom) however,
The dump using the 3V line for flashing was an exact match for the original... now all i have to do is plug it in and pray :P

As the chips contents are identical to the original file, if it does not start up now is it safe to assume the board is borked?

Myles

Mutant_Tractor said...

HAHAHA!
IT LIVES!!!!!!
The 3V line did the trick :D
Thanks for your help so much all of you guys!
Cheers,
Myles :D

Anonymous said...

Do i really need the parrell cable? Can I just put wires into the parrallel port and connnect them to the correct pins on the motherboard?

Mutant_Tractor said...

Thats what i did due and it works fine with no parallel plug :)
Check it out:
http://www.benchtec.co.uk/forums/showthread.php?p=75774

Myles

Unknown said...

Ok so I got it hooked up, just wires also like you Mutant Tractor. I see the bios information when I do the /i. I unlock then erase the bios and write the latest bios from asus.

Is there a way to verify that the bios is ok with spipgm2? I do I just boot up the PC and see if it takes? Do I have the remove all my wiring? Id rather not if it didnt take because it's working at the moment.

Mutant_Tractor said...

Best way to check is to do a SPIPGM2 /d dump.rom
and save that dump to your harddrive then boot into windows and grab the file,
Upload it to here:
http://www.fileformat.info/tool/hexdump.htm
Then upload your original dump there too and compare one against the other,
I usually goto 10000 characters if it looks okay there you should have a good to go BIOS :)
You may need to remove the wires but you can try with it in if you like,
Myles

Unknown said...

Yea Im still having problems. My chip is getting read correctly i think shows

FlashROM JEDEC ID, type: EF3014h
Winbond W25X80 (1MB)

So I unlock, erase and do the /s parameter and Im still getting nothing.

Not sure what else to try. Anyone have any clues please let me know.

Unknown said...

Also when I do the /e to erase the bios it almost does it instantly is that how thats supposed to work? Doesnt seem right...

Unknown said...

Ok it worked!!!

I have no clue if it had been working all this time. I kept the wires connected all time when I turned on the PC and I never heard a beep so I kept thinking it never took.

I finally said screw it and was going to give up so I disconnected everything and started to clean up. I figured what the hell let me plug it in and see what happenes and BEEEP it turned on!

Very happy this worked out. I have to reload windows because of a bsod and research all of my overclocking settings but at least its working now.

Unknown said...

Wow. I just found this via google, spent a few hours setting everything up - and what can I say, it work right the first time. This is great info, I was about to throw the board away. I wish I had found this a week earlier, would have saved me the money for a new system. Ah well, whatever, now I can use P5B for something else.

Thank you sooooo much for this!

KeRNel_x86 said...

First of all I would like to thank you all, gyus, for painless and quick ressurection of my mobo!

And let me finally clarify things about resistors and wiring. As electronics engineer I cant just sit and look how you raping your hardware...NEVER CONNECT YOUR BIOS IC TO LPT PORT DIRECTLY! USE ~500 OHM RESISTORS ON SIGNAL LINES!

Look at the datasheet for your IC, "absolute maximum ratings" section. You will find something like "DC voltage on any pin to ground...........-0.5 to Vdd+0.5V". This means that max voltage on any pin should be less than 3.8V (having Vdd 3.3V).

Let me explain a little. LPT is using TTL levels for which "logic one" equals to ~5V, but flash IC works with CMOS-3.3 levels. Applying to its pins 5V will stress the IC or could ever PERMANENTLY DAMAGE it. Almost any modern IC has so called clamping diodes connected between each signal pin and power rails. Their only job is to protect the IC against overvoltages and partially from ESD. Only thanks to these diodes, weak source capabilities/current limiting features of LPT port and clocked nature of signals your ICs aren't burned out. Current rating of these diodes are also very limited and they are here to prevent IC damage in stress conditions only and wasn't designed to be relied to in normal operation.

Lets assume that your IC powered from 3.3V source. Now applying more than 4V (3.3V + diode forward voltage drop ~0.7V) to its pins will force current to flow from signal pin through clamping diode to Vdd rail. And this current is only limited by source capabilities of LPT's output driver! Fortunally, usually it is relatively weak and current through diodes wasn't reach really dangerous values.

If we have a resistor in current path, votage drop on it will raise proportionally to current, thus preventing it from further raising, and resulting current will be small enough. Resistors acts here as "quick and dirty" level shifters.

So, I really recommend you to place 300-500 Ohm resistors on signal lines (lines which connects to LPT pins 7,8,9,10). DO NOT place resistors on power path.

Most of other problems comes from omitting these resistors or placing they on power path too. Also try to keep you wires as short as possible, use strong supply for powering IC ("orange wire from PSU" is good choice) and always connect power source's ground with LPT's pin 18.

Sorry for my bad english and long explanation, I really tried to be as short as possible.

Anonymous said...

awrg

Anonymous said...

You Rock!!! This worked on my P5B-E. Thank you so much!!!

czr said...

Hello everyone, im trying this with my DFI MIP55-T36, an itx board. The board is using SST25VF032B chip, what total flash rome size should I enter? It's 32mb chip...
Sorry for my poor english

Anonymous said...

great

czr said...

It worked with my DFI P55 ITX board,
commands that I've used:

cwsdpmi
spipgm2 /u
cwsdpmi
spipgm2 /e
cwsdpmi
spipgm2 /s bios.bin

Peace~

Anonymous said...

Hello i am Mario.
I want to thank work i find this page first and apologize for my English.

P5BDELUXE
4 Resistor 220 ohm 0.5w and 1 capacitor 1000µF 10v
ATMEL AT26DF081A

I get to read the chip but in /u always get me the same error:
10H, unlock failed, set WP#PIN LEVEL HIGH
Not is which is the problem using a souce of external feeding this capacitor and resistance continues to give the same result, the probe with spipgm both spipgm2

Any suggestions on the resistaces? the source use without diodes thus use orange line 3.3 volts

Anonymous said...

Well I must say a very VERY big thank you to all involved. This is a very happy moment for me.
Just worked on my brand new DFI DKP58 T3eH6 board. Bios came up with perfect settings etc.

Excelnt result after being told there was a 6 - 12 week wait for repairs under warranty (outback Australia).

Used the power from cmos battery (as suggested above - thanks!) after trying my regulated lab supply.

I have programmed many micros before but none from a parallel port under DOS !! What a tremendous effort from you all.

Thank you!

Shan.

Tim said...

After 3 days and a lot of cursing. I have gotten close.

2 things that really helped me

1) installing dos onto the host machine the cwspmi needs to be able to write a temp file to the c:drive make sure DOS can see this drive

2) I was originally using 470 ohm resistors, once i switched to 220 ohm the chip was identified

thanks to everyone for posting replies it really helped and hopefully what i write will help someone else

good luck and be patient

cheers,

Tim

Marksman said...

Thank You very, very much for this helpful blog.

Like others I flashed in Win and the result was - you know it - bios completely wiped out.

I tried the version with the 470 Ohm resistors and a 470 uF cap between pin 1 and pin 2. As a power source I used an external power supply with 3.1V of voltage.

At first try the chip was recognized as Winboard and all went smooth till end.

Now everything works as it used to.

Thanks again to all who have contributed to the project.

Cheers,

Marksman

Guileverne said...

Hi,
I tried to flash my P5B Deluxe for the last 2 days. No luck.
I build the cable and tried to use different power sources (external AC, Bios battery, orange and black cable from ATX mainboard).
I can't unlock or erase the bios..I always get the message:
EE4000h,unknown manufacturer.Status 00h, WE bit is disabled.

Is there anybody from germany out there who can give me some practical help???

Guileverne said...

my email is bracht@gmx-topmail.de

Guileverne said...

YES!!! I did it. My P5b deluxe is back again.
I build the cable as described above WITHOUT any resistors or caps. I used an external AC with 3,47V and got the following output from spipgm2: "E4000h, unknown manufacturer". When I tried to unlock and erase I got no confirmation, just the message: Status 00h, WE bit is disabled.
Anyway, when I did the slow flash via spipgm2 /s myrom.rom everything went fine and finally I could hear my P5b beeping again.

When the Voltage was too high (>5V) or to low (<2V) I got the output "FFFFFFh, unknown manufacturer. status register is protected, you will need to set WP# high". Ironically it was possible to erase and "flash" at this stage - even when I unplugged the cable from the P5b I could "flash" the chip via spipgm2 /s myrom.rom or spipgm2 /p myrom.rom. That drove me crazy.

So finally it is to say, build the plain cable. Play a bit with the Voltage (around 3,4V) and when you got the switch from FFFFFFh to something different try
cwsdpmi
SPIPGM2 /u
SPIPGM2 /e
SPIPGM2 /s myrom.rom

Thanks for all the help in this blog!!

Anonymous said...

Hello!
my p5b deluxe dead last year, and i am trying to resucitate it. I made the cable and i tried with a 2x1,5 V batery AA, one 3v cmos, and finally suply 5 V and rectifide with 2 diodes 0.7 to take more ore less 3,6 V(i dont have a tester ;)).
When I write cwsdpmi
spipgm2 /i
give me this information: BPL AAI BP3 BP2 BP1 BP0 WEL AND BSY WITH THE SAME VALUE 0. TYPE FC8053H (its not ever the same) unknown manufacture status 00h.
I write cwsdpmi
spipgm2 /u
type FC8053h unknown manufacture status 04h, WE bit is disabled
I write cwsdpmi
spipgm2 /e
type FC8053h unknown manufacture status 04h, WE bit is disabled
Finally I write cwsdpmi
spipgm2 /s p5b1238.rom
and show me numbers like this
0
8000
10000
18000
20000
28000
...
C:\
At last my motherboard doesnt resucite :(.
PLEASE HELP.

Anonymous said...

Finally do it.
2 batteries 1.5 v and rebuilt the cable.
thx ;)

Tommy said...

Hello,
Thanks for excellent post.
My p5b.deluxe is dead still.
I made a cable according to the diagrams and used 2 aa batteries, no capacitors at all.

Everything is connected right, no mistakes.

when im typing "spipgm2/ i" i recive following info:

"SPI connected to LPT port at I/0 base adress:378h, sck pulse width: t+0usSST SST25VF080B (1MB)
Status = 1Ah (BPL, AAI, BP3, BP2, BP1, BP0, WEL, BSY)
0 0 0 1 1 0 1 0

after typing: "spipgm2 /u" i get Status 1Ah, WE bit enabled
unlocking...
Status = 00h, device is unlocked now.

Then im typing "spipgm2 /e"

and after 1 second i get:
Status = 1Eh, We bit is enabled

When flashing i can see progress and it takes about 8 minutes.
Tried flashing it with /s or /p (which is not working for p5bD) parameters. Seems my BIOS chip is TOTALLY blank, I dumped it and used an online analyzer and everything is code FF even after flashing using /s

Im booting from floppy but my rom file is on pendrive.
The cable is about 1,5 meters long.

Please help me guys.

p.s sorry for my english

Tommy said...

I tried to flash with and without cmos battery....

Tommy said...

I tried to flash with and without cmos battery....

Tommy said...

used ATX orange ang black wires instead of battery, sometimes when im comparing dump to original file - theres a lack of some letters in dump file.

what im doing wrong?

since 3 days im not doing anything else... :(

Tommy said...

HOOAH :) Finally I did it My P5B Deluxe Wi-Fi/AP is burping or beeping again:) Im so happy i cant stop crying, hehehe joke :)I have been trying without any results for 3 days.
At the end I used 1000 uf cap, no resistors, cable about 70cm lenght, 3,3V from ATX's orange and black, booted from floppy then changed directory do pendrive, unlocked, erased, dumped erased file to be sure its clear, programed with spipgm2 /s then dumped and finnaly comapred both files using Total commander - Results - both are matching :)

Thanks for this blog :)
Regards
Tommy

Unknown said...

Also adding my thanks.
Aspire One AOA 110 - winbond w25x80avsig - insyde bios ZG5IA32.FD (no 7 pin SPI on my board, so soldered wires directly onto the board. For anyone else trying this, tin the legs and wires first to help the finesse work)

Used windows binary of SPIPGM SPIPGMW.exe from Raer's website. I also had to add RESISTORS otherwise it identified the chip as "unknown", type: EE4000h and refused to unlock.
(also used external battery power, as opposed to the onboard system power). Did not have 150ohm resistors which Rayer used, so I subbed in 47ohm resistors which did the job.

Good luck everyone.

Filip Kroupa said...

SPIPGM2 worked for me on Asus P5B. I corrupted the CMOS with Windows flashing utility under Vista x64, absolutely dead. Making the cable as described and flashing throug spipgm2 worked great. I did not add any resistors/capacitors and I used two AA batteries as a power supply. Good luck to everyone.

Filip Kroupa said...

And some images:
The cable I used.
Flashing in progress.

ben said...

Thanks a lot for figuring this out! I almost threw away my motherboard after the bios update killed it...Luckily spipgm2 /s did the trick for me, the chip was identified although it said unknown manufacturer and we bit is disabled. I didn't use any resistors in my cable but i made it as short as possible. I used 3,3v from the atx power supply.

Anonymous said...

Does anyone know where I can get a copy of the DOS Extender cwsdpmi6 that the reflashing program needs? The .cz web sites seem to be down. Any help would be appreciated. I need to reflash my desktop.

torh said...

Thank you so much, all of you. I've also used the Asus Windows tool to update my bios, and.. well, we all know how that ended.

Anyway; I had to use 220 ohms resistors to be able to communicate correctly with the chip on pin 7, 8, 9 and 10 on the parallel port. Used 3.3V to feed the chip.

Again. Thank you all so much!

Filip Kroupa said...

Reply for Anonymous (November 18, 2010 1:26 PM):

Rayer's pages are OK, just the link is for old version.

CWSDPMIv7
http://rayer.ic.cz/programm

XiFF said...

Thanks for a great guide, I screwed up by flashing in windows enviroment and had to find a way to fix it and this guide was it.

At first I tried to flash with the bios battery and 2x AA batteries but no luck, everything seems to have worked but the rom which got flashed was different from the original (tested the room through hex dump).

I suspected it was the battery and hooked up the 3.3v from ATX cable and it worked. The only difference I noticed during the procedure was that erasing the rom took 1-3sec longer.

This is what I did;
cwsdpmi
spipgm2 /i
spipgm2 /u
spipgm2 /e
spipgm2 /s p5b.rom
changed to an empty floppy disk with spipgm2.exe
spipgm2 /d dump.rom
compared the hex code with the orignal and it matched.

And now its working with the latest bios :D

XiFF said...

I forgot to mention what equipment I used.

usb/firewire cable with no resistor/capasitors of anykind, I read somewhere that it wasnt needed and I've read through all the posts here that many has managed without so I guessing it all comes down to cable quality and the power source.

Since usb/firewire cable is of good quality I were not worried of data signal could've been bad.

Tommy said...

@XIFF

You are right! The quality of the cable is an important thing but not as much as the cable lenght. The cable should be as short as possible.
And the second thing is stable Voltage from ATX.
Thats why some people can do it without any caps and resistors and some can't.
If Your ATX power supply is the high quality one, You dont need nothing but the cable...
At the start I was using 1,5 meter long cable, thats why my ROM file was filled only with FF signs.(lot of signal noise).
70cm long cable helped me to understand that im close because my ROM file was almost the same as original (missed only some SIGNS in it).
As I wrote few post ago - the capacitor did the thing...cause capacitors stabilise voltage and removes noises.

GOOD LUCK GUYS

XiFF said...

The cable I used was a firewire bracketed cable which came with a MSI motherboard. I found it lying on my shelf and its pretty short, maybe even less than 10cm. I dont make long cables since I know the longer the cable, the weaker signal becomes and you might get some corrupt signal. This is what I learned from other stuff like TCP/IP cabling.

So yes, the cable has to be short as possible with a clean and good powersource, my PSU was a Mist 850w (tested by many with stable power output)

Anonymous said...

WOW!

Thanks sooo much!!!

Can't believe this worked. Great work everyone.

Thanks again..

- One happy guy

Unknown said...

Hello!

I have an Asus M3A that crapped out after the latest 1206 update.

Question 1:

Would this procedure work on other Asus motherboards than the P5 family?

Question 2:

Capacitors and resistors are necessary or not?

Question 3: I attempted the procedure, without capacitors and resistors on the cable. It could read the rom, but it could not unlock if for writing. It kept saying something about setting the WP# pin level high. Anybody know what that means?

Thanks!

torh said...

@Attila:

Q1: Yes
Q2: Depends on cables and power source.
Q3: If you have a stable power supply, you most likely need resistors on the four data cables.

Unknown said...

Small progress - altough the problem is still present.

I rebuilt the cable, neater soldering, quality wires, 100 ohm resistors on data lines.

I still can't get SPIPGM2 to report on the id of the flash, but IT DOES read something from it, because it reports WP bit enabled or disabled, depending on the position of the clr_cmos jumper.

Still, when doing a dump, I still get a big fat nothing.

Any other ideas?

torh said...

@Attila:

Don't think you're supposed to change the clr_cmos jumper around.

What chip (type) does it report when you run the "spipgm /i" command?

If you got everything right, it should report a good type. Otherwise I would suggest looking over your cable once more, and making sure it's connected in all the right places.
Remember, the ground cable from the powersupply (the one used for 3.3V), should be connected to pin 2 on the motherboard AND pin 18 on the parallel port. And make sure you read the pins the right way on the parallel port. It's easy to mix 'em up.

Joeckel said...

Thank you Mondo, this is a wonderful tutorial! And all of you posting your solutions as comment, you did great!
I was able to fix my "flashed to death" P5B Deluxe Wifi-Ap.
I used my ATX powersupply to get +3.3V.
To build the cable i took an IDE cable, 4 (200 ohm) resitors for data lines and an old printer cable to get the D-SUB25 connector plug.
I got an error "...cannot open swap file c:\cwsdpmi.swp" which i could fix by executing "cwspmi.exe -o" (parameter to start host process without building a swap file).
Greatings from germany!

cpbiceman said...

HELP!!..I just screwed up my mobo by flashing it in windows 7..darn..120 bucks to send into asus for them to put a new bios chip on the board...Stumbled upon this procedure and would like to take a shot at building the cable and flashing the board. Can anyone post some shots of their cables that they built? I am pretty visual and was hoping it might help to get me started. Thanks!

Anonymous said...

For anyone trying this on a Macronix MX25L8005 chip, if you're getting the message that you need to set "WP# high" even after you have done that, also set the HOLD pin to high as well. Took me about 4 hours until I ran across someone's schematic that showed HOLD tied to VCC. Added 1 wire and it worked!

default said...

Following instructions here I was also able to fix my P5B. At first hooking up all the wires and using the CMOS 3v battery, spipgm2 /i showed it as 844029h. It turned out it wasn't getting any power at all. Connecting the ATX 3v solved it and I was getting the correct C22014h. The ATX power needs to be on fully. I used a old motherboard that only required ATX 20 to boot it and used the +3 from the extra 4 pins for the spi cable.

Also I did a spipgm2 /d afterwards and the dump didn't match the p5b rom exactly. I think the flashing only starts from 0x10000. Either way it boots fine again.

kamagra online said...

Hi Everybody,
You really did a great job. I found your blog very interesting and very informative. I think your blog is great information source & I like your way of writing.....

Thanks!

Supe P force said...

Hello everyone.
Nice article post. Author don a good job, Its amazing to read this kind of posts.
Keep posting.

Thanks.

Bifidusse said...

People you're Gods for me now !
Like everybody here I bricked my Asus P5B with the Windows-based updating tool from Asus.

I was ready to buy a new one when I read all your comments. I'm not keen on electronics but with your explanations and some hours I made it. Thank you VERY MUCH !

[no capacitors, only "pure" 3,3V, audio-cd computer cables and eletric wires directly set into the female DB25 of rescue computer]

tux_topo said...

After flashing the bios from my notebook, it died.
It´s an Asus u30Jc. The bios chip is sst25vf032b.
It has the SPI holes.
I made the cable. Checked 10 times.
Every time i run the /i, get an 0000000h type message. Powering the chip with an atx psu, it´s impossible. The psu shut down every time. Lowering voltage from 5v line with diodes it´s impossible too. The soldering iron and the diodes melt. Maybe a broken bios chip?.
What can i do?
Thanks in adance

tux_topo said...

Forgot to tell that the /i gave me this: type: 000000h - parity error!
Why is there a parity error ?

JPackham said...

Success - thanks to a fantastic blog - awesome info and support. Thank you so much

Info:

I was using windows to flash my bios... (never again..) as upgraded to a Q9450s.

Comp was dead.
rigged up cable with old USB jumper cable - just stuck the wires into the holes on parallel port of other computer.
Didn't work at first - you have to get it recognise your chip before it will flash (I made this error)
A simple test is to unplug your cable and see what happens - if its the same - it hasnt recognised the chip.
In the end the following worked:
Plugged in power to the dead MB - not turned on though. Used 2 semi dead 1.5v batteries in series (end on end taped with gaffer tape) as 3.5V was too much.
Eventually worked!! even then I got a bad Bios message - boot floppy didnt work so inserted orignal MB CD - hey presto - the magic words - "press any key to reboot and recover your system"
That was 10 hours well spent - I'd never have managed it without the help of this forum/blog.
Thanks so much again

Jonny

apotek dk said...

Jeg har nogle spørgsmål selv. Er det neccesairy at bruge magt-molex på en anden computer? Jeg ønsker at bruge et af stikkene i nedstyrtede selve computeren. Eller er ikke det bundkort lov til at have nogen magt under operationen, og skal jeg tage den ud af power-kilde? Skal CMOS-batteriet også blive fjernet i dette tilfælde?

oreysparky said...

I connected a multimeter to one of the mole x of the power source. logo design

Anonymous said...

A couple nights ago I decided I would install the latest flash update on my P5B motherboard just in case I'd want to install a newer CPU on this older motherboard (currently running a Q6600). I ran the Windows Flash update and the verification FAILED! I had somewhat of an idea that I was in for a world of hurt when I restarted my computer... my fears came reality when my screen was blank and my computer would not POST or anything!!!

This blog helped a great deal with getting my computer back to life. I had tried the Asus BIOS recovery feature, but since the computer would not even POST, it didn't work.

What I wound up doing was using Anthony Quatroni's document:
http://www.yourbrainiacs.com/FILES/ReflashBIOS.doc

It has a very nice diagram of what pins need to go where and how to connect two batteries to the cable to make it work.

After connecting a second computer to the parallel end of the cable and the other end to the dead motherboard, I was able to unlock, erase, and then reflash the P5B motherboard with the latest version of the ROM.

cwsdpmi
spipgm2 /u
spipgm2 /e
spipgm2 /s P5B.ROM

I used NTFS DOS to gain access to the above files located on the C:\bios directory I had saved the files to.

Once the flash was completed, my computer booted up once again! THANK YOU!!!!


Paul W.

Alex said...

thanks worked for me, struggled in the beginning but accidently I flash it when cmos clear was activated and when it worked.

Anonymous said...

You guys rock! I also made the mistake to flash in Windows, this because I wanted to use a faster processor.
So I soldered the cable with 4 resistors (220) and a 3 volt battery-pack. All worked instantly, so I am really happy with this fantastic solution!

Regards Frans, from the Netherlands.

Smith Harry said...

I built a cable, omitting the power wire as I believed I would be able to just have the PSU plugged in, but the system off.If some one know about the solution of this problem so please tell me.
Smead office products

ninjaboyfriend said...

Another success story here. Thank you so much guys for all the comments. That was the first time ever soldering job for me so if I could do it, anyone can!

I used an old 25 to 9 pin serial cable and a USB jumper cable. I did everything as described, using the orange power cable. I ran the Freedos Livecd which saves the hassle of floppies etc. I didn't have to put any resistors on the data lines.

It didn't work in the first place and I realised I was forgetting to run cwsdpmi before each command. I figured it'll be easier to run cwsdpmi -p first so that it stays running until you explicitly switch it off.

I just have to say, buying a new mobo is probably an easier solution (and safer, and cheaper if you include time spent) but this sense of achievement... I am actually happy that Asus software broke my mobo, I was jumping around the house in a dopamine rush when I finally heard the blissful beep.

Anonymous said...

I just wanted to say, "THANK YOU VERY F&^#$%G MUCH!!" I did not deviate from said instructions and it worked like a charm. The only deviation I had to make was to google up cwsdpmi cuz the link you had up there was no longer working. http://homer.rice.edu/~sandmann/cwsdpmi/index.html It's a newer version but worked like a charm with your instructions. The command order provided was all i needed in order to fix my MB. TYVM

Anonymous said...

PS: I just wanted to add...for those of you looking for diods to do the trick I used 3 of the exact same ones used to do an XBOX 360 JTAG hack. (in series)

procc said...

Thank you for this information! :)

I was using windows to flash my bios, of course mainboard (P5B Deluxe WiFi-AP) died.
p.s. Couple years ago I flashed bios throught windows without problems.

To recover bios I did everything like it was shown in http://www.yourbrainiacs.com/FILES/ReflashBIOS.doc
, connected 2 AA batteries for +3Volts.

There was problems at first, because i connected cables not where it supose to be :D

Commands:

cwsdpmi.exe
spipgm2.exe /i
spipgm2.exe /u
spipgm2.exe /e
spipgm2.exe /s P5BD0507.ROM

It flashed, then I turned on mainboard and everything works!!:))

Later updated mainboard to latest bios via "Asus EZ Flash 2 Utility".

Now mainboard works fine with latest bios (P5B-ASUS-Deluxe-1238.ROM) and with new processor Q8400.

Greetings from Lithuania! :)

«Oldest ‹Older   1 – 200 of 237   Newer› Newest»