User:MartinDengler: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
 
(37 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{userboxtop|Useful Bits}}
{{Latest Releases | firmware = inline | devel = inline | extra = inline}}
{{User irc |mtd|#sugar|freenode }}
{{user time zone|GMT}}
{{userboxbottom}}
{{Latest Releases | firmware = inline | devel = inline | server = inline}}


== About Me ==
== About Me ==
I program for a living. I got an XO to support the OLPC project and have a laptop for daily use.


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 Fedora a lot.


I work with python and use Fedora a lot.
== Ambient temperature tracking ==


I run the [[OLPC UK/Lending Library and Repair Centre]] and am interested in [[OLPC_UK/Pilots/London2009/OLPC_UK/Pilots/Resources#Materials_Needed | helping others learn about Sugar]].
I found some trac bugs ( {{Trac|800|800}} and {{Trac|1285|1285}} ) that gave me a hint as to where the ambient temperature sensor's data are available:

I am helping with the work to get [http://git.sugarlabs.org/projects/soas/repos/devxo/trees/soas-devxo Sugar 0.84 on XO-1 hardware] working acceptably. This also relates to backporting the [http://dev.laptop.org/git/projects/fedora-xo/log/?h=xo-1 latest OLPC build] to the XO-1.

See also [http://wiki.sugarlabs.org/go/User:MartinDengler 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 - martin@martindengler.com - +44 778 612 6209

Employer and/or School:

: KBC Financial Products http://www.kbcfp.com

Past Experience/Qualifications:

* Helped with XO-1 build quality ( http://dev.laptop.org/ticket/5705#comment:16 )
* Helped/helping with F11 on XO-1 development ( https://www.redhat.com/archives/fedora-olpc-list/2009-April/msg00034.html )
* Helped/helping with F11 on XO-1 testing ( http://osdir.com/ml/fedora-olpc-list/2009-04/msg00031.html ).


===3. Objectives===

Project Objectives:

: Assist reporting and fixing XO-1.5 bugs, of which there are already at least 30 (see http://dev.laptop.org/query?status=assigned&status=new&status=reopened&group=component&order=priority&col=id&col=summary&col=status&col=type&col=priority&milestone=1.5-F11 )


===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:

: http://dev.laptop.org

Please web-publish this entire completed proposal:

: Published at http://wiki.laptop.org/go/User:MartinDengler#Martin_Dengler_XO-1.5_Contributors_Program_application

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

: IRC (#olpc-devel) and mailing lists (devel@laptop.org) 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)===

# Month 1: Receive laptop/board and install.
# Month 2: File new bugs / triage existing bugs.
# 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:


<pre>
<pre>
18:21 < m_stone> mtd: yum install git, git clone git://dev.laptop.org/users/mstone/journal2
cat /sys/class/power_supply/olpc-battery/temp_ambient
18:22 < m_stone> then yum install pinot, then wget http://teach.laptop.org/~mstone/pinot.rpm 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 pinot.berlios.de -- 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 gui.py
</pre>
</pre>


TODO:
I saw it earlier but was led to believe the ambient temperature sensor was on the motherboard, not the battery. I'm not sure if this is the case; either it is, and the data being available under power_supply/olpc_battery is (at best) just confusing, or this is a temperature sensor on the battery and not the motherboard ambient temperature sensor that I'm looking for.


<pre>
Update: well, it's clearly the "temp" file in olpc-battery, but temp and temp_ambient seem swapped:
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.
</pre>


== Add a clock (to the frame) ==

This should add a [http://www.xades.com/proj/clock_frame_767_screenshot.png 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 - http://www.xades.com/proj/clock_device_767.tar.gz | 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 - http://www.xades.com/proj/clock_device_0.84.tar.gz | 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)

=== Notes ===

Note that these instructions add the clock to the upper-right, as in
[[http://www.xades.com/proj/clock_frame_767_screenshot.png the screenshot]]. I prefer
it there, but that means I have to be a tiny bit more invasive than
just creating the clock.py 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 clock.py file out from the tarball and
place it in /usr/share/sugar/extensions/deviceicon .

== Bugs I'm interested in ==

[http://dev.laptop.org/query?status=assigned&status=new&status=reopened&cc=~mtd&order=priority&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component Cced]

[http://dev.laptop.org/query my own]

== rebuilding the kernel with tuxonice support ==

I'm working on [[ TuxOnIce]] support, so I'm editing the [[MTDKernelRebuild|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:
<pre>
#get joyride kernel-devel rpm
wget http://dev.laptop.org/~dilinger/{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
wget http://compcache.googlecode.com/files/compcache-0.4.tar.gz
tar xzf compcache-.4.tar.gz
cd compcache-0.4
make

#use it
sudo ./use_compcache.sh
</pre>

== XO/OLPC mini-projects ==

I'm interested in helping with:

* {{Trac|2954|Implementing ebook mode}}
* {{Trac|4646|Sugar grabs too many shortcut keys}}
* and anything else that looks interesting

== Ambient temperature tracking ==


<pre>
<pre>
Line 28: Line 249:
</pre>
</pre>


bemasc explained things on #olpc [I edited out background chatter]:
...but on #olpc papajuans reported sensible numbers (temp_ambient a bit lower than temp).
<pre>
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
</pre>



== Misc snippets to remember ==
== Misc snippets to remember ==
Line 102: Line 338:
PDF. I've had a look around /sys/class but nothing's jumped out at
PDF. I've had a look around /sys/class but nothing's jumped out at
me.
me.

== Other useful OLPC hints ==

http://www.catmoran.com/olpc

== Activity Installation fu ==

<pre>
From: Gary C Martin <gary@garycmartin.com>
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-
activities.py 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:

http://mock.laptop.org/repos/local.update1/XOS/index.html

** 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 xo_get.py script (which
includes Bert's update-activities.py code), is very useful for keeping
all installed activities upgraded to the latest versions available.
You can download the xo-get.py file from:

http://wiki.laptop.org/go/Xo-get
</pre>

Latest revision as of 09:16, 17 June 2010

Useful Bits
IRC Nick: mtd
#sugar
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 - martin@martindengler.com - +44 778 612 6209

Employer and/or School:

KBC Financial Products http://www.kbcfp.com

Past Experience/Qualifications:


3. Objectives

Project Objectives:

Assist reporting and fixing XO-1.5 bugs, of which there are already at least 30 (see http://dev.laptop.org/query?status=assigned&status=new&status=reopened&group=component&order=priority&col=id&col=summary&col=status&col=type&col=priority&milestone=1.5-F11 )


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:

http://dev.laptop.org

Please web-publish this entire completed proposal:

Published at http://wiki.laptop.org/go/User:MartinDengler#Martin_Dengler_XO-1.5_Contributors_Program_application

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

IRC (#olpc-devel) and mailing lists (devel@laptop.org) 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://dev.laptop.org/users/mstone/journal2
18:22 < m_stone> then yum install pinot, then wget http://teach.laptop.org/~mstone/pinot.rpm 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 pinot.berlios.de -- 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 gui.py

TODO:

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 - http://www.xades.com/proj/clock_device_767.tar.gz | 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 - http://www.xades.com/proj/clock_device_0.84.tar.gz | 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)

Notes

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 clock.py 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 clock.py file out from the tarball and place it in /usr/share/sugar/extensions/deviceicon .

Bugs I'm interested in

Cced

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 http://dev.laptop.org/~dilinger/{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
wget http://compcache.googlecode.com/files/compcache-0.4.tar.gz
tar xzf compcache-.4.tar.gz
cd compcache-0.4
make

#use it
sudo ./use_compcache.sh

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

/home/olpc/.sugar/default/nm/networks.cfg


Screen battery status hint

Date: Sat, 5 Jan 2008 18:09:19 +0000
From: Martin Dengler <martin@martindengler.com>
Subject: Battery capacity in screen hardstatus line hint
To: devel@lists.laptop.org

[-- 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
[GNUPG:] GOODSIG 81B444DD75C7D2F8 martin@martindengler.com
gpg: Good signature from "martin@martindengler.com"
[GNUPG:] VALIDSIG 565C8F33ABF72DAA33DEB9CB81B444DD75C7D2F8 2008-01-05 1199556559 0 3 0 17 2 01 565C8F33ABF72DAA33DEB9CB81B444DD75C7D2F8
[GNUPG:] TRUST_ULTIMATE
[-- End of PGP output --]

[-- The following data is signed --]

Hi,

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
change:

---------- /home/olpc/bin/olpc_screen_status.sh
#!/bin/bash
# Author: Martin Dengler <martin@martindengler.com>
# idea from http://www.mail-archive.com/screen-users@gnu.org/msg00322.html
# based on battery info from olpc-logbat
#
B_INFO=/sys/class/power_supply/olpc-battery

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

....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/olpc_screen_status.sh

# 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

http://www.catmoran.com/olpc

Activity Installation fu

From: Gary C Martin <gary@garycmartin.com>
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-
activities.py 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:

        http://mock.laptop.org/repos/local.update1/XOS/index.html

** 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 xo_get.py script (which
includes Bert's update-activities.py code), is very useful for keeping
all installed activities upgraded to the latest versions available.
You can download the xo-get.py file from:

        http://wiki.laptop.org/go/Xo-get