Openmoko Freerunner

These are some quick scribbles about things I’ve done to improve my Openmoko Neo Freerunner. There is no order to these notes, and I jot things here as they occur to me. Note: All the information here is relative to the 2008.8 release.

Install 2008.8 release

This release was also codenamed ASU (April/August Software Update). Although many people have been complaining about problems with it, this release, for me, has been worlds better than the stock 2007.2 release. With these fixes, and more to come, the device is nearly good enough to replace my other mobile phone. However, I should note that I don’t use my mobile phone very much. In fact, I don’t even normally carry the damn thing, so some roadwarrior-type who is on their phone all day, SMSing and surfing the Web might have some issues with the battery life and/or stability.

GPS

# opkg install gpsd
# vi /etc/default/gpsd <--change GPS_DEV to /dev/ttySAC1
# opkg install tangogps

Getting tangogps looking better: http://lists.openmoko.org/nabble.html#nabble-td681169

  • Use Michael Sheldon's revised gtkrc
  • Use Robert William Hutton's fix for toolitem {} to get autocenter button back.

Navit
An navigation GPS application with the benefit of being able to preload OSM for any area of the globe. Initial instructions: http://wiki.openmoko.org/wiki/Navit, but there was a problem related to the maps in the US mentioned by this comment in SVN, so the version at that page won't work with a preloaded maps of the entire US: http://navit.svn.sourceforge.net/viewvc/navit?view=rev&revision=1169. However, someone on the community mail list pointed me to this package, which works:
http://www.acoveo.org/navit_0.1.0+svnrev1255-r0_armv4t.ipk. You can select and then download binary map data using this tool: http://maps.navit-project.org/download/

Illume Config wrench icon and querty link in top left corner

# opkg install illume-config

Full QWERTY Keyboard

http://wiki.openmoko.org/wiki/Om2008.8_Keyboard#Using_the_Full_Qwerty_keyboard
Note: Be sure to follow those step sequentially because the opkg installs will blast the original Full-QUERTY.kbd, and that one is necessary. Because I don't follow directions well, I had to recover that file from here: http://downloads.openmoko.org/releases/Om2008.8/Om2008.8-gta02-20080808.rootfs.tar.gz

Screen Orientation and Gestures

# opkg install http://accelges.googlecode.com/files/accelges_0.1.0-svnr204-r2_armv4t.ipk
http://wiki.openmoko.org/wiki/Gestures
As a side note, I also discovered that I could change the screen orientation using xrandr:
# xrandr -display :0 -o left
# xrandr -display :0 -o normal
Careful with those commands. I followed the first command substituting "left" with "right" and the screen became unusable and I had to recover through an SSH terminal. These commands could perhaps be useful in some sort of script to reorient the display, perhaps triggered through a menu option.

Remove a couple unwanted icons from desktop

# cd /usr/share/applications
# mv pyefl-sudoku.desktop pyefl-sudoku.desktop.OFF
# mv om-locations.desktop om-locations.desktop.OFF

Install a few useful apps

# opkg install openmoko-terminal2
# opkg install openmoko-browser2

Wifi showing up as "unknown"

# rm /etc/volatiles.cache
# reboot

http://docs.openmoko.org/trac/ticket/1734

Change X startup image (give the boots the boot)


# opkg install libevas-saver-png edje-utils cpp cpp-symlinks libembryo-tests
# cd /usr/share/enlightenment/data/init
# edge_decc illume_init.edj
# vi illume_init/freerunner.edc
# sh ./build.sh
# cp ./illume_init.edj ..

Based on these instructions: http://wiki.openmoko.org/wiki/ASU_Keyboard_Toggle#Method_2

Play music

Interestingly, I don't see much talk, if any, about this on the community and support mail lists. None of the graphical media players seem to work. mplayer does, though it only has a command line interface.
#opkg install mplayer

Battery indicator always displays a charging symbol

# vi /etc/opkg/testing.conf
Add these lines:
src/gz testing-all http://people.openmoko.org/~zecke/om2008.8-testing/all
src/gz testing-arm4vt http://people.openmoko.org/~zecke/om2008.8-testing/armv4t
src/gz testing-neo1973 http://people.openmoko.org/~zecke/om2008.8-testing/neo1973
src/gz testing-om-gta02 http://people.openmoko.org/~zecke/om2008.8-testing/om-gta02
# opkg update && opkg upgrade
Fixing the battery indicator is somewhat incidental to this upgrade, as lots of packages get upgraded, but it's the main visual difference that I was able to note. Note: Doing this also removed the "qwerty" link at the top left corner that illume-config had installed. I had to follow the instructions for Method 2 at this URL to get it back: http://wiki.openmoko.org/wiki/ASU_Keyboard_Toggle#Method_2, basically decompile the illume them, fix it, then recompile it, install it and restart X.

Set clock with GPS time

This is pretty neat.

http://wiki.openmoko.org/wiki/Setting_Date_and_Time#Setting_the_date.2Ftime_automatically_with_gps

GSM/GPRS multiplexing (only partially working)

I had at first tried to get this working but failed via these instructions: http://freeyourphone.de/portal_v1/viewtopic.php?f=21&t=295. I then came across these instructions: http://wiki.openmoko.org/wiki/Manually_using_GPRS#Option_1:_With_GSM_multiplexing_and_with_a_GUI
In order to be able to install the version of gms0710muxd recommended by the article I had to install a couple new packages as dependencies, in this order:

# opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/libgcc1_4.2.4-r3_armv4t.ipk
# opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/libglib-2.0-0_2.16.3-r0_armv4t.ipk

Now install the recommended version of gms0710muxd:
# opkg install http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/gsm0710muxd_0.9.1+gitr6fecc78198dd821bbe29efd096bd8fecd855179d-r0_armv4t.ipk
Then continue with the instructions at freeyourphone.de, however, for me it was only necessary to install these packages from that article, as the others he specifies were already installed:
# opkg install python-pygtk python-pygobject python-subprocess