Recovering a corrupted EEE PC BIOS

recovering_eeepc_bios

[Jeremy] had an ASUS EEE PC 1000HE netbook on his hands which had succumbed to a corrupted BIOS. In most situations, people replace a motherboard when the BIOS is damaged beyond repair, but considering the price of motherboards, especially those built for portable devices, he simply refused to go that route.

Instead, he took it apart and did a little investigation to find out what SPI flash chip ASUS used in the netbook. With that information in hand, he put together an SPI flash programmer using a breadboard and a DLP-USB1232H USB to UART module. He couldn’t program the flash chip in-circuit, so he had to desolder it and deadbugged it onto his programmer. Using a few Linux-based flashing tools, he was able to reprogram the chip with a functioning BIOS in short order, saving him from a costly motherboard replacement.

While some motherboard manufacturers have built in secondary BIOS chips to prevent the need for this sort of recovery, it’s nice to know that the process is relatively straightforward, provided you have some basic soldering and Linux skills.

This also isn’t the first time we’ve seen someone recover an EEE PC from the brink – if you’re looking for an Arduino-based alternative, be sure to check this out.

Comments

  1. Dan Fruzzetti says:

    Time is just as valuable as money. I assume he doesn’t have kids :P Great work, but one should always weigh the monetary value of the time (or the timewise value of the money) in any case.

    • Jeremy says:

      Oh and I do have kids. One is 3 and the other is 3 months.

    • fred says:

      @Dan Do you think “flip burgers/mow lawns, then buy crap” is a better hack?

      Time is not money to everyone, and this is something many of us could do in a single evening.

      You could resell the repaired netbook and actually turn a profit.

    • N0LKK says:

      Respectfully I have wonder if those who repeat “time is money”, do so without ever thinking about what they are saying. A person’s free time is worth $0. Even if a person could spend every waking moment working to have the earnings to pay someone else to do what they could do themselves, they would be foolish to do so. Because they will never get ahead, but fall further behind with each passing year. While there are jobs where on can earn enough to pay others, there aren’t enough of them to make “time is money” a universal fact. My observation has been that those with kids are those who become the DIY persons.

    • N0LKK says:

      Tanks to Jeremy for sharing. Bookmarked, and saved to disk,just in case I may have a need for the info in the future.

    • Eirinn says:

      “Linux is free if your spare time has no value”

      • anyone says:

        oh eirinn, you again!? this time your comment is like saying “education is only worth it if you can see into the future exactly what you are learning can be applied to make money”

        the article though…eh it’s just an SPI eeprom? plus that blue thing looks like an Adrunio (joke electronics) thing! hiss/booos!

      • PI says:

        Eirinn-

        I had an EEEPC that came loaded with Windows 7. Relatively speaking, it took a long time to boot, and it seemed to hog the limited memory my computer had. I didn’t want Windows 7 and should have scrubbed it then and there, but I decided that there was no harm in backward compatibility.

        I installed Mint Linux in a dual-boot configuration. I spent 30 seconds to answer a couple of questions, and then the install proceeded on its own. The default install gave me, among other things, a full Microsoft-compatible office suite, network connectivity, and Mozilla pre-loaded with every plugin I’ve needed so far. Mint boots faster, runs leaner, and will play with the thousands of free programs in the Ubuntu repositories. Mint worked so well, that I stopped booting into Windows all together.

        Four months later, I was working on someone else’s (Windows) EEE PC, and wanted to check some of my settings in Skype under my Win. I booted into Windows, and it crashed–hard— and for no apparent reason. Screw it, I thought- I’ll just boot back into Linux….no-go. Windows had not only crashed, but it had arbitrarily *WIPED* the linux partition. Based on some Google searches, it appears that this malevolent Windows behavior has been observed by others.

        The fix was simple. I wiped the entire drive, and got rid of Windows for good, which is what I should have done to begin with. The Linux install was quick, and in less than an hour, I had everything back they way I had it before, including my desktop tweaks and user data. I have not had a single problem in the year that’s passed since.

        My point is that your insinuation that Linux is more labor intensive than windows (and therefore, not “free”) is utter BS. After decades of running both Windows and Linux boxes (including servers of various flavors,) I can tell you that Windows has cost me far, far more in lost time, lost data, and lost labor than any of my Linux installs.

        As a rule, I don’t engage in operating system arguments. I still run Windows boxes AND Linux boxes… But your comment needs to be identified for what it is, FUD.

      • Jeremy says:

        @PI – I completely agree with you. I would run Linux on everything I own if it wasn’t for some work related Siebel 7 websites and the simplicity of Adobe’s Web suite (I love my Dreamweaver and Photoshop CS5). My home fileserver is a Linux Mint 64bit install that has run wonderfully well for over a year now. Only once did I take it down and that was change my RAID 5 from XFS to BTRFS (Newer, faster and should be getting some excellent file system management tools soon). I’ve thought recently about updating it to CentOS though. Cent is said to be a better server type OS. Anyhow, for simplicity you can’t beat most of the Ubuntu variants (which in turn are actually Debian variants). Linux has in many ways advanced far beyond Windows in usability, but is still far limited by main stream support. If hardware manufacturers and software companies would recognize Linux as a valid and formidable OS to work with, we would be buying the latest Linux PC, not the latest Windows PC (and for far less money too).

  2. Jeremy says:

    Actually this didn’t take that long. I think I spent a couple hours one evening working on this one. Of course I had previously done an EEE PC 900 so I knew the basic course to take. The difference being the 900 had a SPI header on the motherboard I could use for incircuit programming. It took me a bit to figure out this one needed to be removed from the board before it could be programmed. All in all, with the tools in hand and the general idea I could probably do it again in roughly 1.5 hours or less.

  3. isama says:

    I’ve bookmarked this, I’ve got an 1005pe so maybe it will be usefull to me one day, thanks Jeremy and HAD :)

    and no, it’s bookmarked on a pc, not on the eee :D

  4. blue carbuncle says:

    Hey Jeremy nice work! The breadboard makes it look like something I am way more likely to do if my eee fries. You are a way braver soul than I these days. Great job on doing the research and the piggyback was a shot of genius. It would have stumped most of the folks on HaD ;) I think a lot on here would still be waiting for some obscure chipsource dev kit header magoo usb dongle from Hong Kong lol.

    Congrats on the kids and keep up the good work! I am also bookmarking your article for possible future need :) Never heard about the eee BIOS problem before this.

  5. Jeremy says:

    Thanks for the comments guys! The first time I flashed a BIOS this way it took me about 6 months to work up the confidence to dive into it. The biggest factor was that the netbook was sitting there doing nothing anyway, so why not. Can’t get anymore broken than it was. I was trying to keep everything as cheap as possible and use items I can reuse for other projects. I’ve used the USB to Serial converter for tapping into Lenovo security chips and extracting passwords to unlock the BIOS. The great thing about the breadboard is nothing is locked in and it’s easily customized to fit other projects.

  6. Wouter says:

    It’s a great idea to safe stuff from the trash. Too bad it isn’t a I2C chip, then you can possibly do it without desoldering the chip. Althoug I don’t know if it is easy to feed it a voltage without powering the rest of the board as well. But the datalines are just pull-down, so less stuff to break.

  7. Christian says:

    Just dropping by to say that the article picture looked like a miniature robotic arm on a breadboard at first.
    Then I was bummed.
    Then I was amazed, a very nice and straightforward approach, kudos for that ;)

  8. Jeremy says:

    I just wanted to make sure everyone knows the real credit here needs to go to the developers of flashrom (http://flashrom.org/Flashrom). Between the information on the site and the developers and community members on their IRC channel, they’re beyond helpful in the event you have any issues. The rest of this is just reading datasheets and putting wires to pins. It can look complicated to some, but it’s much simpler than it first appears.

  9. Mike says:

    I did something similar with an Arduino, a while ago, although I have not the slightest knowledge of electronics :D

    My article about it is in German though, sorry ;)

    http://skweez.net/bios-wiederherstellen-mit-arduino/

    In my case it wasn’t a corrupted BIOS, I just flashed a wrong version on it, which was entirely my fault.

  10. Alex says:

    I did this once with Bus Pirate. It took like, 8 hours to flash the chip with 2 mb bios.
    Also you really should save any data left on chip, ’cause when I powered up the netbook, there was no serial number, model identificator, or anything.

    • Jeremy says:

      There are specialized tools for changing this information. Dell has a program called asset.com that is put out with it’s BIOS update utilities that can be used to change or update the asset tag in the BIOS. Other manufacturers have their own versions of these tools.

  11. Thanks for posting this Jeremy.

    How did the bios get corrupted in the first place? Does it “just happen” or was the power pulled during a bios update?

    • Jeremy says:

      I’ve seen it happen several different ways with the EEE series netbooks. Most of the time though it seems like it just happens out of the blue during an update. I think most of the time it’s due to people not checking their downloads with any kind of MD5Sum. When doing a BIOS update it’s very important to check the downloads MD5sum to verify it downloaded properly.
      In this particular case though, the owner (it’s not my netbook, the first one I did was an EEE 900 that was mine) wanted to downgrade his BIOS. He had previously updated thinking of course newer is better. However the newer BIOS was built to address some issues with users of Windows 7, of which the owner was not using. This caused some minor annoyances that he wanted fixed so in attempting to downgrade the BIOS using some forum tutorials he bricked it. Because of my previous posts on the eeeuser.com forum about recovering a 900 he asked me to take a look at it and see if I could manually flash the BIOS revision he wanted to the chip.

  12. NaiL says:

    eee wrong url in my prev. post, sorry

    there is a lot post in net about recovering corrupted bios in eee, I personaly do it one time,

    just try search for 1000H.ROM

  13. CDev says:

    It realy bothers me how many people attack people who find resourceful ways to fix old hardware, or reuse it. In my town, they have drives in which they encourage people to throw out old computers that have been corruped by viruses. They imply that they are worthless. People buy the BS and give them to this company, which takes the computers, makes them functional, and resells them.

    I would have no problem with this if they were honest but they aren’t, the way they perform this con is by guilt tripping people who want to save money.

    God forbid that they would learn that Linux would make their old computers useful again.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,784 other followers