Jump to: navigation, search
Useful Bits
IRC Nick: mtd
Server: freenode
GMT This user's time zone is GMT.

About Me

I program for a living. I got an XO-1 to support the OLPC project and have a laptop for daily use.

I work with python and use Fedora a lot.

I run the OLPC UK/Lending Library and Repair Centre and am interested in helping others learn about Sugar.

I am helping with the work to get Sugar 0.84 on XO-1 hardware working acceptably. This also relates to backporting the latest OLPC build to the XO-1.

See also My SugarLabs page.

Martin Dengler XO-1.5 Contributors Program application

1. Project Title & Shipment Detail

Name of Project: XO-1.5 build testing

Shipping Address:

Martin Dengler 1 Prescot Street Flat 13 London E1-8RJ

Phone number: +44 778 612 6209

Number of Laptops (or other hardware) You Request to Borrow: 1 XO-1.5

Loan Length - How Many Months: Until build is shipped / testing is no longer required (6 months?)

2. Team Participants

Name(s) & Contact Info:

Martin Dengler - - +44 778 612 6209

Employer and/or School:

KBC Financial Products

Past Experience/Qualifications:

3. Objectives

Project Objectives:

Assist reporting and fixing XO-1.5 bugs, of which there are already at least 30 (see )

4. Plan of Action

Plan and Procedure for Achieving the Stated Objectives:

  • Get XO-1.5 and use it to develop its own build.
  • Use it daily to see what breaks.
  • Use it alongside XO-1s to verify software interoperability and behavior

File, watch, reply to, and track bugs.

5. Needs

Why is this project needed?

This project will help the quality of the XO-1.5 build worldwide.

6. Sharing Deliverables

Project URL where you'll report specific ongoing progress:

Please web-publish this entire completed proposal:

Published at

How will you convey tentative ideas & results back to the OLPC/Sugar community, prior to completion?

IRC (#olpc-devel) and mailing lists ( in which the XO-1.5 developers and I are active.

7. Quality/Mentoring

Would your Project benefit from Support, Documentation and/or Testing people?

Yes. I have spoken to dsd about this proposal and will keep in touch with the XO-1.5 team directly via IRC.

Teachers' input into Usability?

I will work with the OLPC UK London pilot programme and other OLPC UK / SugarLabs communities to gather any feedback I can.

How will you promote your work?

Mailing Lists and IRC

Can we help you with an experienced mentor from the OLPC/Sugar community?

Yes, though I already have good links to the community.

8. Timeline (Start to Finish)

  1. Month 1: Receive laptop/board and install.
  2. Month 2: File new bugs / triage existing bugs.
  3. Month 3 - onward: repeat Month 2.

Throughout: communicate progress and issues through bugtracker, IRC and mailing lists.

[ x ] I agree to pass on the laptop(s) to a local OLPC group or other interested contributors in case I do not have need for the laptop(s) anymore or in case my project progress stalls.

I wholeheartedly agree.

journal2 playing

m_stone's instructions as to how to get journal2 running:

18:21 < m_stone> mtd: yum install git, git clone git://
18:22 < m_stone> then yum install pinot, then wget then rpm -Uvh --force pinot.rpm
18:22 < m_stone> you need to tell pinot to start indexing useful things like your home-dir.
18:23 < m_stone> to do that, just follow the instructions at -- i.e. run 'pinot' and edit its preferences to start indexing.
18:23 < m_stone> mtd: then wait a while for indexing. :)
18:23 < m_stone> mtd: it gets a lot faster once that's done.
18:22 < m_stone> then cd journal2; python


18:19 < m_stone> mtd: you should play with scott's journal2 work. it's easy to get running on 767 and it could use some love.
18:19 < mtd> m_stone: what type of love?
18:20 < m_stone> mtd: well, it's currently a cute little desktop search gui, but it doesn't really know how to talk to launch anything.
18:20 < m_stone> so that would be good first step.
18:20 < m_stone> it could use a nice detail view for its search results
18:24 < m_stone> mtd: I think the other thing that would really help would be drawing in the results background with a 'no results' symbol or text when no results are available
18:25 < m_stone> mtd: and getting it to display results incrementally as they come it.
18:25 < m_stone> mtd: scott took care when designing his dbus api to let you pick out ranges of results on demand.
18:25 < m_stone> but the gui batches up the graphical updates all at once.

Add a clock (to the frame)

This should add a digital clock to the frame with the format MM/DD HH:MM.

Build 767 / 801 (current stable)

1. Launch Terminal and become root by typing 'su -' (without the quotes)

2. Type EXACTLY, ALL ON ONE LINE (mind your spaces and minuses and capitals!)

wget -O - | tar xvzf - -C /usr/share/sugar/shell

...and it may be useful to recall that "copy" in Browse is Ctrl-C, and "paste" in Terminal is Shift-Ctrl-V.

3. Restart Sugar by pressing Ctrl-Alt-Backspace (you will lose all your open programs and data, so be sure to save anything you want first)

SugarLabs release 0.84 and Sugar-on-a-stick v1

1. Launch Terminal and become root by typing 'su -' (without the quotes)

2. Type EXACTLY, ALL ON ONE LINE (mind your spaces and minuses and capitals!)

wget -O - | tar xvzf - -C /usr/lib/python2.6/site-packages

...and it may be useful to recall that "copy" in Browse is Ctrl-C, and "paste" in Terminal is Shift-Ctrl-V.

3. Restart Sugar by pressing Ctrl-Alt-Backspace (you will lose all your open programs and data, so be sure to save anything you want first)


Note that these instructions add the clock to the upper-right, as in [the screenshot]. I prefer it there, but that means I have to be a tiny bit more invasive than just creating the file.

If you prefer it in the bottom right like a well-behaved (but sub-optimally placed IMHO) device icon and you have 0.84, just grab the file out from the tarball and place it in /usr/share/sugar/extensions/deviceicon .

Bugs I'm interested in


my own

rebuilding the kernel with tuxonice support

I'm working on TuxOnIce support, so I'm editing the kernel rebuild instructions.

kernel module building for compcache

To build a kernel module on a joyride XO, ensure you have make and gcc (yum -y install make gcc should do it) and then try:

#get joyride kernel-devel rpm
wget{stable,testing}/kernel-devel-`uname -r`.i586.rpm
sudo rpm -ivh kernel-devel-`uname -r`.i586.rpm
sudo cp -af /boot/* /versions/boot/current/boot/

#get compcache
tar xzf compcache-.4.tar.gz
cd compcache-0.4

#use it
sudo ./

XO/OLPC mini-projects

I'm interested in helping with:

* Implementing ebook mode (Trac #2954) 
* Sugar grabs too many shortcut keys (Trac #4646) 
* and anything else that looks interesting

Ambient temperature tracking

bash-3.2$ cat /ofw/openprom/model ; echo
CL1   Q2D13  Q2D
bash-3.2$ cat /boot/olpc_build
update.1 691
bash-3.2$ for f in /sys/class/power_supply/olpc-battery/temp* ; do (echo -e $f\\t ; cat $f) | paste - - ; done
/sys/class/power_supply/olpc-battery/temp               2783
/sys/class/power_supply/olpc-battery/temp_ambient               3900

bemasc explained things on #olpc [I edited out background chatter]:

bemasc: "ambient" means "ambient in the case"
bemasc: battery means in the battery compartment
bemasc: the "ambient" thermometer is on the motherboard
bemasc: not sure which chip
bemasc: they were trying to place in the antenna
bemasc: so that it would be far from the heat sources
mtd: bemasc: so I guess if I want to know the temperature outside the case, the lower of the two numbers is closer to that (though still quite inaccurate)
bemasc: the battery temp is closest, yeah
bemasc: if you have another thermometer, you might consider trying to work out the offset and correct for it
bemasc: it'll be different depending on whether the battery is charging or discharging, and how fast
bemasc: and it'll take at least a few minutes to stabilize
bemasc: so it's not easy, but it's also not impossible

Misc snippets to remember

Backlight and blurring switched off, makes some pdfs more readable:

su -c "echo 1 > /sys/devices/platform/dcon/output"

How to explicitly forget/add a WPA wireless network

If you want to forget/add a WPA wireless network explicitly, stop NetworkManager (/etc/init.d/NetworkManader stop) and edit


Screen battery status hint

Date: Sat, 5 Jan 2008 18:09:19 +0000
From: Martin Dengler <>
Subject: Battery capacity in screen hardstatus line hint

[-- PGP output follows (current time: Sat 05 Jan 2008 06:23:51 PM GMT) --]
gpg: Signature made Sat 05 Jan 2008 06:09:19 PM GMT using DSA key ID 75C7D2F8
[GNUPG:] SIG_ID AwM6Me4nlHAq/mT0qRJbz79n4sk 2008-01-05 1199556559
gpg: Good signature from ""
[GNUPG:] VALIDSIG 565C8F33ABF72DAA33DEB9CB81B444DD75C7D2F8 2008-01-05 1199556559 0 3 0 17 2 01 565C8F33ABF72DAA33DEB9CB81B444DD75C7D2F8
[-- End of PGP output --]

[-- The following data is signed --]


In case this is of use to anyone, I've put the battery capacity in my
xo screen instance's hardstatus line with this tiny script & screenrc

---------- /home/olpc/bin/
# Author: Martin Dengler <>
# idea from
# based on battery info from olpc-logbat

while true
    CAP=`cat $B_INFO/capacity`
    echo b:$CAP%
    sleep 60

....screenrc change:

---------- /home/olpc/bin/.screenrc
# run command forever and assign most recent output to string escape %1`  
backtick 1 0 0 /home/olpc/bin/

# the ...%1`... part at the end is the important part
hardstatus alwayslastline "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a %1` "

I'd be interested to know how to get at the ambient temperature sensor mentioned in section 2.4.1 of the CL1 hardware design specification PDF. I've had a look around /sys/class but nothing's jumped out at me.

Other useful OLPC hints

Activity Installation fu

From: Gary C Martin <>
Subject: Re: Playing w/ Activity packs in build 702

> Can anyone tell me how to install TamTam from scratch?

Not sure if this is the official way â but hidden in the update- script from Bert Freudenberg is a very useful link to a
whole bunch of .xo builds, not all of which are available on the wiki
activities page (I'm not sure why). You can find .xo bundles for the
TamTam** activities here:

** I believe the original TamTam activity is now considered old,
unsupported code, and has been split out into individual activities
called TamTamEdit, TamTamJam, TamTamMini, and TamTamSynthLab.

Once activities are installed, the new script (which
includes Bert's code), is very useful for keeping
all installed activities upgraded to the latest versions available.
You can download the file from: