Jul 2017: I found the code again, get it here.
August 2011 update: code no longer available online, mail and I’ll send it
August 2011 update: code no longer available online, mail and I’ll send it
Whew.
For some reason, flashing the MSI 890FXA-GD70 with the AFUWIN utility will brick your motherboard. I do know, however, that the “flashrom” utility does support this board just fine. I had no trouble flashing under Linux using “flashrom“.
This motherboard uses a Winbond W25Q16 SPI FLASH memory chip. Fortunately enough it is fairly easy to unsolder and reprogram this chip with the help of an Arduino.
First of all, carefully remove the memory chip.
Wire it up to an Arduino:
- GND (pin 4) to Arduino’s ground
- VCC (pin 8 ) to Arduino’s 3.3V output (5V would likely kill the chip)
- /HOLD (pin 7) to Arduino’s 3.3V output (5V would likely kill the chip)
- /CS (pin 1) to Arduino pin 10
- DO (pin 2) to Arduino pin 12
- /WP (pin 3) to Arduino’s 3.3V output (5V would likely kill the chip)
- DI (pin 5) to Arduino pin 11
- Clock (pin 6) to Arduino pin 13
Grab the source code. Open up .pde inside the Arduino IDE and change the first line to “#define WriteROM” if you want to write or comment it out (“//#define WriteROM”) if you want to read the ROM contents. Then on the PC side run the script like this (requires python, pyserial and progressbar modules) : “python biosrecovery.py readfile infile r” or if you want to write the chip “python biosrecovery.py readfile infile w” where readfile is the output file and infile the file the ROM will be written from. Also, you will need to change the path to your serial port in the biosrecovery.py script, the line in question is,
ser = serial.Serial('/dev/tty.usbserial-11BP0464', 115200)
It should be possible to run this script on Windows, hit up the pySerial documentation if needed.
Good luck!
Hello sinetek,
Forgive me as I am new to wordpress. What is the best way to “mail” you?
I was hoping to stand on your shoulders by utilizing your arduino and .py code to unbrick an intel board.
-pammomo
more:
I have a matching pair of intel brand 945 boards with SPI chips that are similar to that on your MSI …
one of which I bricked by not upgrading to an intermediate bios as instructed by the current bios release notes and the other updated fine since it already had a bios that could be directly updated.
I was hoping to read the contents from the working SPI and dump it into the other.
Hello sinetek, send me plz source code
Hi, I realise this is over a year old but I was wondering if you still have the arduino code/python script. I could not find an email link to contact you
Hello, I have the same motherboard,this method can solves the short 4bips? thanks.
Hey there! What is meant with “4 bips”?
i need the source code but its been deleted! i have a compaq/asus m2n68-la with a corrupt bios which i connected to the arduino according to the pinout on HP’s page.
Hey, could you send me the source code?
Thanks!
Hello, my ASUS BIOS chip got bricked by an update failure. Can this metod brick the entire motherboard? Can you send the code? Thank you
Hi, can this method work with this chip MX25U6435FM2I-10G? http://www.datasheet-pdf.com/datasheet/Macronix/829809/25U6435F.pdf.html The source code isn’t available anymore, can you please add a new link to it? Thanks
Hi Phil! The mediafire link in the article to the source code is dead! Do you have Github? Source code hosting is free there. Thanks for the article!
I found some Arduino instructions here (http://www.flashrom.org/Serprog/Arduino_flasher). They seem to be different from yours but I’ll give them a shot.
Thanks for your input!
I wasn’t aware of github back when I posted this, but if you have any trouble with Serprog I would be happy to assist. I still have the source code *somewhere*. I didn’t have to do much special to write to the chip, was just a matter of writing a page at a time.
Thanks! I’ll post back if the instructions work out … though it might be a while since I have to first by soldering equipment.
Hello sinetek, send me plz source code
Hello. The source code isn’t available anymore, can you please add a new link to it? Thanks
😉 well cheapest spi programmer on ebay from Bejing is enough lol 😉 big thx for article its education in one pill 😉 the blue one 😀
Hello sinetek please send me the source code…
Hi, could you please send me the code for arduino?. I have a winbond W25x80 and I would like to reflash it, so I can make the motherboard I got running again.
Thanks sinetek!
can you please reupload the souce code. Bundle of thanks
can you please reupload the source code. Thanks
Hello,
Can you send me a source code? 🙂
I’m afraid the code is long lost now
Pingback: Gravando BIOS com Arduino – Lucas Dias