Providing Lesotho's Children with Keys to the World

This is the story of our efforts to end the vicious cycle of poverty, disease, inadequate education, and early death
in a remote rural community in Lesotho, Africa, by providing quality education and life skills
to the young children there. Join us on our journey ...

Thursday, October 18, 2012

Directions for Repairing Bricked XO-1 Laptops

Directions for Repairing Bricked XO-1 Laptops using an Automated Python Script and a Second XO Laptop
Janissa's Version
Before I start, here's the link to the official OLPC directions for using the automated python script to repair a bricked laptop: Using the automated repair script. You will run into some geek-speak in these directions ... What the heck is an "upstream git repository"? ... but you can ignore that part.

If you're like me and you'd prefer a little more detail than those directions provide, you can use my version below, which includes links to more detailed directions for most steps.
[Disclaimer: I don't know that this will work for everyone in all situations, but it's what worked for me.]

I used a working XO-1.5 laptop to connect to the bricked XO-1 laptop that won't boot. (If you don't have a second XO laptop, you may have to install Python on your computer and then you will need to be able to start Python to run the automated script. I do not cover how to do that in my directions,so see the OLPC directions.)

1. Make sure the working laptop is connected to the internet (Connecting an XO laptop to the Internet)

2. Start the Terminal Activity. (Terminal Activity, Using Terminal Activity)

If you don't see the Terminal icon on the Home View (Using the Home View), change from Circle View to List View, then scroll down until you find Terminal.

3. In Terminal, install "pyserial" by typing at the $ prompt:
sudo yum install -y pyserial
Press Enter
Wait for the installation process to complete.  I have moderately slow internet, and this took 7 minutes.  Several times it looked briefly like it was not doing anything, so be patient.   When it's done, a bunch of stuff will scroll down the screen, ending with "Complete!" and a new $ prompt.

4. Download and install the automated repair script "" by typing at the $ prompt:
wget --timestamping
Press Enter
This is quick.  Stuff scrolls down the screen, ending with " saved."

5. Disassemble the top of the XO laptop to expose the motherboard.  OLPC has very good directions for this step, so rather than duplicating what they've done here, just go to Disassemble XO laptop to reach motherboard and follow their instructions.

6. Connect the serial adapter to the bricked XO and the working computer.  Again, use the very good OLPC directions at  Hooking up and using the serial adapter.

7. On the working computer, type at the $ prompt:
Press Enter

8. When the screen on the working laptop prompts you, turn on the bricked XO.

9. When it's done, the bricked XO will boot and the script will prompt you to press ctrl-c on the original working XO to disengage the two laptops.

10. Disconnect the serial adapter from the previously bricked XO.

11. If you've got more than one bricked XO laptop, leave the serial adapter connected to the working laptop and start over at Step 5 with the next bricked XO.

- Janissa


Problems Repairing Non-booting XO-1 Laptops

I spent a couple days this month repairing the last of the XO-1 laptops that will go to Kokobe Primary School in January 2013.

Of the 50 XO laptops I had purchased on for Kokobe, eight were not working.  Most of those were ones that became bricked during storage or shipping from the seller.  The remainder were advertised and sold as "non-working."  I bought the non-working XOs for fairly low prices, with the hopes that they were just bricked,** a problem that is usually reparable.  I figured any that were beyond my capacity to repair could be used for parts. 

**bricked = problem booting due to a failure of the internal cell battery which triggers a software glitch that prevents the laptop from booting properly

I'm not a computer technician by any stretch of the imagination, but I like to tinker and love a good challenge.  I had fixed a couple bricked XO laptops last year without any problems, so I was feeling pretty confident.   As it turned out, working on the bricked XO laptops this year turned out to be much more frustrating than I had expected.  I'm still not sure why.

The fix involves using a serial adapter, known  in layman's terms as a doohickey - a thing with wires attached to a little electronic board and plug gizmo about the size of a flash drive.  This gets hooked up between the non-working XO laptop and a working computer.  Thanks to very detailed directions on the OLPC wiki, I was able to dismantle the non-working laptop and hook the doohickey up to the motherboard without any trouble.

Serial adapter for fixing bricked XO laptops
[links to the directions I used: 
Disassemble XO laptop to reach motherboard,
Hooking up and using the serial adapter]

Running the software that lets the two computers communicate through the serial adapter doohickey is where I ran into problems this time around.  The OLPC directions were a bit vague here. (Sometimes OLPC directions are great, but other times they assume the reader has a degree of computer technical skills that I don't possess, and then the directions start reading like Greek to me.)

[link to directions: Running the serial adapter software]

I tried both HyperTerminal and Screen for Linux, software recommended in the directions.  Neither automatically linked to the serial adapter as the directions implied.  After a lot of trial and error, I got Screen to work and got one non-working XO laptop to boot, even though I never got the Page Fault message that the directions say should appear at the start. 

I thought I had it all figured out after that first laptop was fixed.  But every time after that, when I tried to run Screen, I would get an error message, even though I was following the exact same steps as the first time. (I had made detailed step-by-step notes of everything as I went through it the first time so this wouldn't happen, obviously to no avail.) 

After what seemed like hours of trying this and that, nothing worked.  I was extremely frustrated and about to give up, when I decided to try one last suggestion in the directions.  It involved an Automated Python Script that Repair Center volunteers had written.  ("Automated Python Script" means it's programming code written in Python language that can be run to fix a problem without input from you.)    I had shied away from this because I didn't know anything about Python, and I was afraid it would require programming skills I don't have. 

As it turned out, the Python script was much easier to use than Screen.  And it worked every time.  In a matter of minutes, I had all but one of the non-working laptops up and running.  (The remaining laptop needed a new motherboard, so I stripped it for parts.) 

Now all I have to do is test each laptop's hardware, adjust the settings, and load our activities, then the last XOs will be ready to go.

See the next blog post for my more detailed version of directions to repair bricked XO laptops using a second XO laptop and the automated python script.

- Janissa