Unbricking with the help of Arduino

A

This bricked Eee PC came to [Janzo] for about $50. Everything was fine with it, except for the failed bios update that rendered it useless to the last owner. [Janzo] set to work with an Arduino on a quest to repair the bios. He looked up the datasheet for the EEPROM that stores the bios and did some delicate soldering to gain access to the power and data pins on the device. A bit of trial and error and he was able to read the registers. Some comparisons between the output file and the official Eee PC bios file in a HEX editor confirmed that the first 80 bytes were fine but after that something went wrong. After coding a quick Python script [Janzo] reflashed the chip and had the computer up and running again.

We’ve seen Eee PC bios recovery before. This is a very simple method because it makes use of the simplicity we find in the Arduino. Nice job.

Comments

  1. alecain says:

    That arduino is totally overkill. He really ought to have whipped up a board in eagle, sent it to china to be etched, placed smt parts, done a second board rev and then flashed the chip.

    Instead he did something clever. Nice hack!

  2. NatureTM says:

    I love buying peoples broken laptops from them for $50.

  3. strider_mt2k says:

    Wow. Nice.

    Well done!

  4. Osgeld says:

    yea nature last one I got (for 60) I ended up getting 180 out of it

  5. BigBubbaX says:

    Sweet.
    I wish fixing my EEE was on my skill level…

  6. GhettoDuk says:

    Hey all you bus pirateers, could this be done with a BusPirate?

  7. Pete says:

    Most modern BIOSes including the Eee PC can be recovered from a bad update with a bootable USB drive and the appropriate BIOS file. It’s usually something like Win + B at boot to start it but in the case of Eee PC just having it inserted with the appropriate files works.

    Is there some reason this procedure could not be done?

  8. chrelad says:

    Very cool, way to save some mondo big bucks!

  9. Mikey says:

    @Pete are you sure? Booting from a USB drive is usually something that you would NEED a bios to be able to do.

    @BigBubbaX if it’s not, you could always sell it for $50-$60 to someone here. :-P

  10. Skinner says:

    I guess the Eee PC doesn’t have fail safe bios? Most modern computers have backup bios for when you mess something up or at least a way of re-flashing a bad bios flash.

    It could also be that because of it’s size and it’s design to be an affordable way of computing, that the price and form factor didn’t allow such a luxury.

  11. Concino says:

    Brilliant! I admire Janzo’s patience and persistence. I even like the make-shift wire tensioner thing. :)

  12. blue carbuncle says:

    Great job on recovering someone else’s “junk”!
    I love it! Reminds me of the Xbox days in a remote way :)

    Pete: Interesting idea! I wish I had broken hardware to try it out. I am just wondering if the floopy or usb controllers are available to even write to the BIOS/ROM? That would be my guess why it may not work for his. Lemme know if anyone gets it to work as this would be great for future ebay purchases :)

  13. Eric says:

    Now this is how I like seeing arduinos being used, a multi-purpose programmable problem solver.

  14. Pete says:

    @Mikey Yes certain, it’s some sort of additional part of modern BIOSes that is not overwritten during a BIOS flash. I have used it on a bricked phoenix BIOS before but it’s also seems to be on most now in slightly different ways.

    For mine it was Win + B with USB drive plugged in it then beeps (and flashes if your drive has a light which is handy) leave it a while to be sure switch off, Fixed.

    You need to be sure your USB drive is setup to be bootable (with HP USB Disk Format Tool or similar) formatted FAT16 and the BIOS ROM is named correctly.

    Probably best to look for instructions on the internet for each BIOS. If you search for BIOS Recovery you should find details.

    I confirmed my USB stick by first making it an MS-DOS boot disk and using it on another computer then adding the required ROM.

    @blue carbuncle There is still the possibility that part of the BIOS could be corrupt hence this approach not working but I think it’s unlikely. From my previous experience working in a computer shop most people brick there machines BIOS when a flash fails.

  15. andar_b says:

    lol, I have an old IBM Thinkpad that needs a bios flash to run Ubuntu correctly. I haven’t been able to do it, due to the fact that the software requires a full battery charge and outlet power before it will flash, but my battery is beyond toast. :p

  16. T says:

    Guess the HAD-befriended buspirate would do the same job, maybe even much more easy.

  17. Thomas says:

    The CPU blades that we develop at work have a USB/serial recovery method that accepts a USB stick with a BIOS.ROM file on it, or if that fails, you have XMODEM serial BIOS recovery.

    This is assuming the recovery portion of your SPI device isn’t corrupt as well.

  18. matt says:

    I can attest that Pete is telling the truth. On my eee 1000h, it’s alt-F2.
    It finds any usb device that has a 1000h.rom in root and installs it.

    I’ve also seen motherboards that can boot from a bios file stored on media.

  19. deyjavont says:

    I have an old panasonic toughbook cf-27 that I updated the bios in and ever since it won’t charge up the batteries. But I would need to find the old rom first. Perfect for exercising the buspirate.

  20. flashrom says:

    all that work why not just use flashrom
    and one of the many compatable devices

  21. fartface says:

    Wow do it the hard way….

    “bricked” bios is easy as pie.

    Get a motherboard or PC that is identical just to use for a couple of minutes.

    Boot with bios update software.
    chip puller to yank good bios live… yes live.
    install bad bios
    flash
    swap back.

    All done.

    In fact I found that you dont even need the same board, just a compatable one that has the same bios chip. Works great.

  22. osgeld says:

    fartface, that is the most retarded thing I have read today

    1) yes cause everyone is going to have a dupe motherboard for some random ebay scrap

    2) when was the last time you have looked at a pc motherboard, I havent seen a socketed bios since DOS was still in wide use

  23. osgeld says:

    hell, if you even bothered to look at the picture its plainly a smt soldered direct to the board

  24. Michiel145 says:

    He could have done it with a PIC, but nice one! ;-)

  25. Th3_uN1Qu3 says:

    @ osgeld – i have loads of mobos just lying around. But true, not everybody has a hot air gun for those soldered BIOSes. However if you do it’s a whole lot easier than rigging a micro up.

    But props for some clever use of an Arduino. All those clocks were kinda getting on my nerves.

  26. Osgeld says:

    thats it, im making a arduino binary clock out if IR leds

  27. Boris Dyne says:

    When the bios is properly fried it won’t address the keyboard and or the usb ports. Either that or it is listening in the wrong place. I know, because I have a 900a that fried itself on a bootable USB with Lucid upgrade. So the bootable USB and Alt F2 doesn’t work. The device is not quite as dead as a parrot – three lights come on – but it is unreachable. I was dreading the unsolder option so I shall try this very soon.

  28. xf says:

    Wow overkill much? This can be done with a standard parallel port. Surely any hacker worth his or her salt still has access to one of those?

  29. Malikaii says:

    Amazing.

  30. hintss says:

    @xf: especially the fabbers…

  31. John Avitable says:

    This is pretty awesome. I would liked to have seen some perhaps custom BIOS work :P Such as possibly adding a different logo at the POST.

  32. janzo says:

    Wow thanks guys for all those reactions !
    I’m glad i could show a useful manner of setting the arduino up! (among million others)

    For some of you i gotta apologize as I’m not so rigorous, thus I didn’t design a “reusable” nor user-friendly tool to share… But still I kept my Python & Arduino scripts ^^

    BTW, the Eee still works, as new !

  33. tonberry says:

    I know this is an old post but would love to have a look at this, link is dead though? :(

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 96,679 other followers