2008.12 on my OpenMoko

I decided to upgrade to 2008.12, as a new stable release had just been made. This is a followup to my earlier writeup.

Version $Id: openmoko-3.html,v 1.23 2009/05/08 09:21:08 madhatta Exp $

The old 2008.08 interface The new 2008.12 interface
(after some configuration)

Fast links to the sections:

Backing up the phone

It is written in the doco that dfu-util can be used to back up the 'phone. However, it doesn't work for me (or for some other people; see
this bug for examples, and this bug for an unverified fix).

That said, the mailing list has another way, which requires that you install the mkfs-jffs2 package on your phone:

The rootfs and kernel images thus created can be restored with dfu-util just as shown at the top of this page. I have just now (2008-12-22) tested this as part of installing, then backing-out, Om2008.12, and it works fine.

Upgrading the OS to 2008.12

The main instructions are at http://wiki.openmoko.org/wiki/Dfu-util.

Got 2008.12 stable images from http://downloads.openmoko.org/distro/releases/Om2008.12/ (jffs and uImage).

As root:

[root@risby images]# ../dfu-util --list
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Found Runtime: [0x1d50:0x5119] devnum=27, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"

Upload the root fs image:

[root@risby images]# ../dfu-util -a rootfs -R -D Om2008.12-om-gta02.rootfs.jffs2 
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Claiming USB DFU Runtime Interface...
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB...
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=28, cfg=0, intf=0, alt=6, name="rootfs"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
bytes_per_hash=1386741
Starting download: [##################################################]
finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode
Upload the new kernel image:
[root@risby images]# ../dfu-util -a kernel -R -D Om2008.12-om-gta02.uImage.bin 
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Claiming USB DFU Runtime Interface...
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB...
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=30, cfg=0, intf=0, alt=3,
name="kernel"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
bytes_per_hash=35601
Starting download: [##################################################]
finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode
[root@risby images]# 

Wrinkles

USB not-work

usb0 didn't come up on first boot, see eg
http://lists.openmoko.org/pipermail/community/2008-December/038360.html

As the note advised, I rebooted and it's fine. resolv.conf now comes populated with a couple of sensible nameservers. opkg update worked OK (given a functional internet conection via usb0).

Illume profile

I changed E_PROFILE="-profile asu" to E_PROFILE="-profile illume" in /etc/enlightenment/default_profile as advised by http://wiki.openmoko.org/wiki/Community_Updates/December_29th%2C_2008 (tips and tricks section). Also changed the engine as they advise, using the "engine" section under the "spanner" icon.

Root password

Was set.

gsmmuxd

MUXd came from the repository (opkg install gsm0710muxd)
root@om-gta02:/# cd /etc/rc5.d
root@om-gta02:/etc/rc5.d# ln -s /etc/init.d/gsm0710muxd S03gsm0710muxd
edited /etc/X11/Xsession.d/89qtopia, inserted shortly before the end:
identvar=$(date +%s)
ptsvar=$(dbus-send --system --print-reply --type=method_call --dest=org.pyneo.muxer /org/pyneo/Muxer org.freesmartphone.GSM.MUX.AllocChannel string:$identvar | grep string | awk -F '"' '{ print $2 }')
export QTOPIA_PHONE_DEVICE=$ptsvar
rebooted, all worked (thanks to Saul Lozano for spotting my typo above, which is now fixed).

Wallpaper

To be able to import an image as wallpaper, using the wrench -> wallpaper, I copied an 480x640 image onto the phone, installed some enlightenment tools with opkg install edje-utils, then the wrench was happy to import it.

Contacts

I shut down X and restored my old ~/Applications/Qtopia/qtopia_db.sqlite , and all my contacts just flashed back into life. I also reapplied the EnableFindBar=1 hack.

GPRS

Works just like it did in Om2008.09, except that I didn't have to install gsm0710muxd manually as it's in the repository (see above).

Keyboard

Somewhere in this mess, the nice virtual keyboard I was using got replaced by the stupid awful qtopia predictive mess, so I repeated the line
export QTOPIA_NO_VIRTUAL_KEYBOARD=1
in the file /etc/X11/Xsession.d/89qtopia and got rid of the stupid stupid qtopia one.

Custom ringtone

Just as documented in the earlier ringtone writeup.

Headset

Again, this trick still works. I also changed value.[01] from 96 to 105 in control.3, as the earphones were a little quieter than I wanted them to be.

Other packages installed

These are from the standard repositories except where I have said so, or I give a link to a package:

I also used the illume wrench to turn off all animation options under the animation tab, again at Tom White's suggestion, which has made my phone that much more responsive in normal use.

Installing the Qi bootloader

After a highly convincing bake-off at the second Cambridge OM meet, Tom White demonstrated that the Qi booloader has some very reproducible speed advantages over uboot.

So I installed the Qi bootloader on my 'moko. The first time it rebooted, the GSM didn't work; the second time, the first press of the power button caused it to try to shut down, so it woke up from suspend half-way through shutting down. Since then, though, it's been pretty good, and it is much, much faster at waking from boot than the old uboot.

Details on installing it can be found here on the wiki, with specific details on how to enter and recognise NOR boot at this wiki page.

The install went fine for me save that, after the dfu-util finished and I got my shell prompt back:

Done!
Resetting USB to switch back to runtime mode
[root@risby openmoko]# 
the moko sat there in NOR boot and did nothing. I waited until it powered itself off (30 secs.) then decided it must have finished, disconnected the USB, and booted it as normal.

Upgrading the GSM firmware

The new (v11) firmware having just come out, I decided to take advantage of this. But the wiki page makes it pretty clear that it's a scary operation and you can brick your GSM modem (though not the phone) by stuffing it up.

Thankfully Joerg has made a potted micro-SD card distribution whose sole job is to safely apply the v11 upgrade to a GTA02 freerunner. I found out the details at http://wiki.openmoko.org/wiki/GSM/Flashing#uSD-card_Image and applied it to two FreeRunners without incident.

What next?

This is where I pencil notes about what's happening right now before they're marked up into proper sections.
There are problems with either sending or receiving SMS, see
https://docs.openmoko.org/trac/ticket/2157 for poss bug entry.  But I find
that SMS sent from eg kapow get delivered OK, and wake my phone up, whereas
texts sent from either of my openmokos to the other don't, which begs the
question whether there's a problem sending or receiving.

Update 20090104: I'm not sure this is an issue.  More testing needed.

Update 20090107: seems to be a non-issue, I haven't been able to
reproduce for some time.

Update 20090131: no recurrence.

Not currently working

Back to Technotes index
Back to main page