Category Archives: OLPC

Upgraded the keyboard and touchpad on my OLPC XO-1

Yes, I still use my faithful OLPC XO-1! It’s amazing that, even after all this time, the readability of the XO-1’s screen still bests that of mainstream notebooks.

Today I picked up my XO keyboard+Touchpad replacement part CL1B from the always-great ilovemyxo.com. This part actually comes from the next generation OLPC (the XO-1.5), but perfectly fits the OLPC XO-1. I was mostly interested in getting the upgraded touchpad, which was always flakey on the original generation computers.

From start to finish, it took me about 20 minutes to do the disassembly and replacement, following the instructions at http://wiki.laptop.org/go/Disassembly and with a single Phillips screwdriver in hand. My 3-year old daughter watched excitedly beside me and “helped me” as I upgraded her computer.

I plugged in the computer, held my breath, booted it up, and everything worked flawlessly. And yes, the new touchpad is much better than the old one!

Here’s a picture of the new keyboard and touchpad. Fingers are my daughter’s, not mine!

IMGP2882

And for comparison, here’s the old keyboard.

IMGP2883

Thanks, OLPC and ilovemyxo.com!

Turning off the XO-1’s wire mesh network

Thanks to Reuben Caron for pointing out on the OLPC developer’s mailing list that you can turn off the mesh networking using the following standard command:

echo 0 > /sys/class/net/eth1/lbs_mesh

This is nice because you probably just use regular wireless and don’t use or require mesh networking at all, so you might as well turn it off and save some power and complexity.

More details on the other ways you can control the mesh network via the firmware are in Trac.

New versions of OLPC software for XO-1 coming soon!

Despite the OLPC XO-1 now being several years old, I still find it a remarkably useful and enjoyable device to use. The Pixel Qi screen, unless you are one of the lucky few that was able to purchase the DIY screen kit which sold out in 24 hours, remains unique and among the best available. (The always engaging curiouslee was one of the lucky ones and has a great photo set of the Pixel Qi display installed in an Acer Aspire one netbook for you to drool over.)

OLPC XO-1

That’s why I was happy to read a post from Chris Ball to the OLPC Developer’s mailing list describing OLPC’s software strategy. You can (and should!) read the post in whole, but one section was great to see for us OLPC XO-1 owners:

OLPC wasn’t planning to make a Fedora 11 release of the XO-1 OS, but a group of volunteers including Steven Parrish, Bernie Innocenti, Paraguay Educa and Daniel Drake stepped up and produced Fedora 11 XO-1 builds that follow the OLPC 10.1.1 work. I’m happy to announce that we’re planning on releasing an OLPC-signed version of that work, and that this release will happen alongside the next XO-1.5 point release in the coming weeks. So, OLPC release 10.1.2 will be available for both XO-1 and XO-1.5 at the same time, and will contain Sugar 0.84, GNOME 2.26 and Fedora 11. We think that offering this fully interoperable software stack between XO-1 and XO-1.5 laptops will greatly aid deployments, and we’re very thankful to everyone who has enabled us to be able to turn this XO-1 work into a supported release!

To prepare for this XO-1 release, we’ve started working on fixing some of the remaining bugs in the community F11/XO-1 builds. Paul Fox recently solved a problem with suspend/resume and wifi in the F11/XO-1 kernel, which was the largest blocker for a supported release. We’ll continue to work on the remaining bugs, particularly the ones that OLPC is uniquely positioned to help with.

The first development builds for this release will be published later this week.

I have been following the XO-1 Paraguay builds (unsigned images located here for you to try out) for a while, and they’ve been described by some as the best OLPC XO-1 images ever.  So it’s great to see not only recognition of the great work these volunteers have done, but also to see the OLPC organization pick up and incorporate this work into their stream!

Conserving Memory on the OLPC XO-1

One of the things I noticed right away when I started installing alternative operating systems on my OLPC XO-1 is that not all combinations of OS and software ran equally well. In fact, some configurations ran so slowly that it was almost unbearable to use as a normal environment.  To be fair, this is par for the course on all netbook systems – not just the XO-1 – with their slower CPU speeds and reduced memory.

On the XO-1, fortunately there are tweaks you can do to improve both things. You can overclock your machine to improve the CPU speed a bit, something I might cover later.  I also found that there was an almost direct correlation between how speedy my machine felt and the amount of available memory.

So with that in mind, about a year ago I did a series of experiments to see the impact of different OS’es, window managers, and swap file configuration had on available memory.

Here’s a table summary of the amount of available memory after booting up and entering “free” in an X-based terminal program.  In all scenarios, X was up and running, as was the Windows Manager and the wireless networking stack (connected to my wireless router).

Scenario Free Memory
A. Fedora 8.2 + Sugar 58,880
B. Fedora 8.2 + Fluxbox 115,936
C. Ubuntu 8.1 + XFCE 57,884
D. DebXO 0.4 + Gnome 80,080
E. DebXO 0.4 + Gnome + simpler wallpaper 84,616
F. DebXO 0.5 + Gnome + simpler wallpaper + SD swap 77,396
G. DebXO 0.5 + Gnome + no wallpaper + SD swap 82,152

Operating systems: “Fedora 8.2” refers to the operating system that came with the OLPC; updated versions are available for download.  “Ubuntu 8.1” refers to an amazing effort from Teapot that lets you install Ubuntu on your XO-1.  “DebXO” refers to a version of Debian that, thanks to Andres Saloman, you can also install on your XO-1.  (For completeness, I should mention that there are now at least two other interesting and promising Linux distributions that you can try out – Fedora 11 and TinyCore Linux.  However, these weren’t available when I did these experiments.)

Windows managers:  Sugar of course refers to the default, kid-friendly operating system that comes with the OLPC software.  Fluxbox and XFCE are two very popular lightweight desktop managers.  Finally, Gnome is one of two full fledged desktop environments normally associated with grown-up Linux desktops; KDE would be the other one, but I didn’t try that.

Wallpaper:  Yup, believe it or not, I wanted to see the impact of changing the desktop wallpaper between large bitmap pictures, simpler SVG-based pictures, and no wallpaper at all.

SD swap: Because I wanted multitasking, it was important for me to also see the effects of having a swap partition created on the SD card.  This would give me greater virtual memory, so that once physical memory runs low, the OLPC could swap background memory to the SD card so I could still run additional applications.

Okay, so perhaps not the most scientific or comprehensive set of results (if I had more time, I would have tried some other combinations), but I think it is fair to draw some interesting observations:

  • The memory overhead of Sugar is significant.  Looking at the difference between scenarios A and B above, I had to retest a couple of times to verify the numbers were still in the range.  Sure enough, if I do nothing but boot up into Fluxbox instead of Sugar, I get a significant boost in memory!
  • Gnome is more expensive than Fluxbox or XFCE, but not too much.  I admit to liking the full functionality and ease-of-use afforded by Gnome, so I was happy to see that while it definitely takes up more memory than Fluxbox or XFCE, that it wasn’t too bad.  If you want the absolute leanest system, though, changing the windows manager definitely had the biggest impact!  I would go with Fluxbox or even some of the lighter managers if I wanted the absolute most free memory.
  • The wallpaper makes a difference!  Okay, maybe it’s worth it to have a picture of leaves in your background, but for me, it was a no brainer to just turn that off to get the extra boost.
  • Setting up the swap partition also takes up memory.  Here’s where you have to make a call – if you are happy running single programs at a time, and/or don’t need to run any large programs (like Open Office), then you can skip the swap partition and be in good shape.  For me, I wanted to be able to have multiple browser pages open and be writing at the same time, so it was worth the cost.  I’ll just turn off my wallpaper.  🙂

As I said, not the most scientific way to do this, but what I learned above definitely helped me pick and tweak the software that ended up on my XO-1, and worked for what I needed it to do.

Jailbreak/Unlock Your OLPC

As I write this, the holiday shopping season has started but the rumored tablets, netbooks and eReaders with the Pixel Qi screens have not materialized.  So for now, the OLPC XO-1 computer is my favorite netbook and eReader device.

I did not get there without changing the standard operating system and software that came with the unit. Sugar OS, while impressive and undoubtedly well suited for children and learning, simply got in my way more often than not.

The first step to getting grown up value out of your child-focused OLPC is to install a new operating system on it!  I’ll document the steps in a series of posts.  When we’re done, we’ll have transformed our child-focused machine to a fully-functional Debian Linux based system with full support for wifi, screen rotation, ebook mode, and look like the screenshot below.

Screenshot of my OLPC XO-1 Desktop

The first step is to unlock or “jailbreak” your OLPC, so that we can make changes to the firmware and the OS.

There is little risk to what we’re about to do. Everything we’re doing can be reverted back (with some work) to Sugar.

Here’s what you’ll need:

  • your OLPC XO-1
  • a USB key of at least 512MB
  • some patience

Let’s go!

Your OLPC XO-1 as delivered from the factory has security enabled on it that protects it from unofficial software. However, unlike some other companies, this protection is not meant to lock out users from customizing and hacking their hardware as they wish.  The first step is to follow the official instructions from the OLPC organization themselves on how to unlock your XO-1.

Read through the instructions on the OLPC wiki.

In summary, you’ll want to do the following things:

  1. Follow the instructions on the wiki to obtain a developer key for your XO-1. This should get you a magic file named “developer.sig”.  This file is unique to your machine and will let you unlock it, so it’s probably a good idea to make a backup of this key on your PC.
  2. Create a directory called “security” on your USB key, and copy developer.sig into this directory (e.g. so it shows up as X:\security\developer.sig under Windows).  At this point, booting your XO-1 with this USB key inserted will unlock it!
  3. Permamently unlock your OLPC. Boot your machine with the USB key inserted, and press the ESC key (looks like an X in the top left) until you see the ok prompt.  Enter “disable-security” and press Enter.  (Entering “enable-security” would reverse the unlock.)

That’s it!  Congratulations.  You’re unlocked!  You can now modify your firmware and OS even if the USB key with the developer key is not inserted.

Top 8 Reasons the OLPC XO-1 Computer is Still My Favorite Netbook/e-Book Reader

Introduction

OLPC Logo

It’s been almost two years since I purchased my OLPC XO-1 computer as part of the Give 1 Get 1 program. For $400 US, I was able to donate one computer and keep one for myself.  Since then a number of significant events have happened:

  • the netbook category, lead by the Asus EEE PC, mushroomed out of nowhere
  • the Kindle 1 was released, followed by the Kindle 2, and become the market leading e-book reader, at least in the States. This was recently followed by another eInk based reader, the Nook from Barnes and Noble
  • the OLPC XO-1 computers were mostly panned by the public, primarily for the difficulty of the initial versions of the Sugar OS software that shipped with the computers

Despite the third point, I still not only enjoy my OLPC, but I would argue that it remains the best netbook and e-book reader for me!  Now admittedly my needs and requirements may be specific, and certainly the software customizations I have done may be out of reach for the standard G1G1 recipient.

OLPC XO-1

I definitely feel that the OLPC XO-1 machine is underrated, with many people criticizing it or trying to offload them on eBay.  I am somewhat surprised that more has not been said about the positives of the OLPC, so to bring balance back to the Internet, I have been meaning to both describe why I like the machine so much. I also intend to describe through series of posts document the customizations I have done to bring it to the much more usable state, for my specific and decidedly non-child needs.

Let’s start today with the Top 8 Reasons I think the OLPC is a great general purpose netbook and e-book reader.

1. The OLPC has a beautiful, high resolution, sunlight-readable screen

I love the screen on the OLPC, and eagerly await the day that Mary Lou Jepson’s screen technology, invented for the OLPC, eventually reaches other netbooks and notebooks through her Pixel Qi commercial enterprise. Until that day, I am amazed that more has not been said about the OLPC’s fantastic screen.  At 1200×900, the screen is higher resolution than many netbooks out there even over a year later.  Plus, unlike the current trend in even high-end notebooks, the focus is on readability over accurate color reproduction.  This means the screen has almost no glare, and is completely readable even in complete sunlight.  In fact, I can drop the OLPC’s screen to a low-power black/white only mode that produces a display comparable in resolution to e-ink based displays like on the Kindle.  However, unlike the Kindle, I still have color support so my movie videos or comics still show off in full color.

Pixel Qi has announced that it is manufacturing screens for other netbooks, eReaders and tablets.  I for one can’t wait, but for now, the best screen for me is my onmy XO-1!

2. The OLPC is completely solid state and silent

I’m a big fan of silent computing, and this becomes even more important when reading in bed and not wanting to disturb the sleeping wife.  There are no moving parts in the OLPC, as everything is solid state, like the Dell Mini 9 that remains popular among its other siblings in the Dell Mini line for precisely that reason (among others).  There’s no spinning hard drive, but with a 16GB SD card in the slot I am completely able to cope with the extra space a hard drive would have provided, in favor of being able to avoid noisy fans spinning up and down.

3. I can surf the web with first class browsers

With a Linux variant running on the OLPC, it is actually fairly straightforward to install any number of browsers, including Chrome, Firefox, Midori, Opera or (my current favorite) Epiphany. With the exception of Flash-based videos, which are not important to me, everything renders quickly and beautifully, and looks just like on my PC.  The very wide 1200 pixel screen also means less horizontal scrolling than I would need on even most “real” netbooks today.

4. I can view nearly any file format, including PDFs, eReader books, comics and movies

Whether you stick with the Fedora-based installation that comes with your OLPC, or another Linux variant, there are readily available programs for reading PDFs, eBooks of various formats (my favorite being .pdb files from Fictionwise), and even comic books and full screen movie files. My friends are usually surprised when I show them movies that I had ripped from DVDs playing back smoothly and without stutter using mplayer!

5. The unit and replacement parts are cheap

At $400, the XO-1 was pretty expensive in netbook terms, but nowadays you can get used OLPC units fairly readily on eBay for much less.  Even better, replacement parts and extra batteries are available from online vendors like www.ilovemyxo.com and www.xoplosion.com.

6. The screen rotates into a tablet-like mode for eBook reader

How many netbooks can do this?  The OLPC XO-1 allows you to swivel the screen around as you would on tablet PC systems.  With your PDF reader in full screen mode, you can then hold the unit like a book and page through with the d-pad beside the screen.  Or you can hold it like a slate on the airplane and watch a video!

7.  The entire unit is rugged and baby-proof

The OLPC XO-1 was built to survive harsh environmental conditions AND be child-proof.  It’s far more rugged than some other sub-$400 netbooks.  My toddler has drooled on keyboard and screen multiple times, with no ill effect.

8. The keyboard is usable and silent

Here’s the surprising one — I like the OLPC keyboard.  Maybe I have small hands or something, but I am a touch typist, and I have no problems flying along on the OLPC membrane keyboard.  In fact, I wrote this entire (long) article on the OLPC keyboard.  I have no problems touch typing on it for long periods of time, and I like how quiet the rubbery keys are.  However, I recognize that most people will disagree with me here.

Conclusion

There are other features of the OLPC even beyond those above that I could have mentioned, but didn’t make the cut.  I love the way the three USB ports are there, but can be protected by the “ears” to keep dirt out.  I love having the dedicated screen rotation button on the front. I appreciate having the headphone jacks, video camera, and microphone, although I don’t take advantage of those features in the way I use the OLPC.

But I’m getting side-tracked, and I think my point is made.  I wanted to spread some OLPC love to counterbalance some of the skepticism.  Even today, this nearly two year old piece of technology continues to amaze me with the design and thought that went into it, and the sheer utility that has far exceeded my expectations.

With the right customizations, the OLPC can be a fine computing device for adults.  Don’t ignore it as a possibility for your needs!  Maybe it’ll work for you, too?