OpenmokoFramework/Status Update 5

From Openmoko

Jump to: navigation, search
Openmoko Framework Team Status Report 2008.11.1

Hi guys! This is the fifth Openmoko Framework Team Status update, featuring our fourth milestone release and more.

For the general motivation, the goals, and the way we are doing our work, please see OpenmokoFramework.

Key pages on:

(Other distributions)


People & Organization

  • Charlie <> has left the Framework team to embrace new challenges in lower software levels. He'll be around for maintenance work on his code though. Thanks for all your work and good luck with the bare metal :)
  • John <> has shifted focus to lead the new long-awaited Openmoko software optimization team. We will surely interface with his team. Good speed, John!
  • As the Openmoko weekly engineering news already told, the team has been more "formally" established as an independent team funded by Openmoko Inc. to support defragementing the mobile system services world.
  • More details with regards to the new organization and forthcoming roadmap will come soon


All the public DBus API are documented on the official API reference site. DBus Introspection XML files are available in the git tree.

  • The GSM API (org.freesmartphone.GSM.*) has proven very solid and will be tagged 0.9 before the next milestone.
  • The Device API (org.freesmartphone.Device.*) has received some additions for power management and starts stabilizing.
  • org.freesmartphone.Objects.ListObjectsByInterface is using DBus-introspection now.
  • The Events subsystem has gained an experimental DBus interface to add and remove rules and to test triggers.

Implementations Framework Image -- 'Homework' (Milestone IV)

This is the fourth milestone release of the framework and the framework testing application 'Zhone'. With the forthcoming release of other FSO API consumers, Zhone is going to be faded out. Further framework milestone releases will ship in two forms:

  1. fso-console-image: An FSO-compliant image featuring no user interface manager.
  2. fso-illume-image: An FSO-compliant image featuring the X-Window system with the Enlightenment-based Illume window manager.


Thanks to all our contributors, especially the testers and the people who build stuff on top of the APIs -- notably the SHR team who found literally thousands of bugs in the framework that we had to fix for this milestone release. Thanks, guys!


A lightweight image that turns an Openmoko phone into a featurephone and that serves as the basis for further application development using the dbus APIs.

What's new since Milestone III

Note: These are only the highlights. See the gitweb commit logs for the gory details...

  • ogsmd
    • Lots of bug and stability fixes based on feedback (and debug logs) from people
    • SMS API now includes an a{sv} parameter with optional SMS properties
    • Phonebook API now supports multiple phonebooks (dialed, missed, answered)
    • PDU mode has been improved to handle the 7-bit reference GSM charset, UCS-2 and binary messages
    • Workaround for Change the behaviour with 'ti_calypso_deep_sleep' option in [ogsmd] section (valid options are always, never and adaptive)
    • Implemented the org.freesmartphone.GSM.SMS.interface to send and receive SMS without going through the SIM and org.freesmartphone.GSM.Device.SetSimBuffersSms() to switch between SIM buffered mode and not.
  • ogpsd
    • Improved GTA01 support even with suspend/resume (if gllin v1.1 is installed)
    • Various warmstart fixes
    • Enabled SBAS by default on ubx chips
  • odeviced
    • Use ioctl based screen blanking which saves a lot of power
  • oeventsd
    • The rules system has been improved
    • New triggers, filters
  • misc
    • Much cleaner and improved resource interface with working power management (enable, disable, suspend, resume)
    • A persistence module that stores persistent data for subsystems
  • zhone
    • New default theme contributed by o_toby
    • Show timestamps in incoming SMS
    • Support for Chinese and other characters (Unicode support)
    • Display more GPS information if available (ephemeris, almanac available, signal status)
  • illume
    • GSM module doesn't segfault any more


  1. Grab a uImage and a .jffs2 for your device from's download section.
  2. Flash it to your Neo 1973 (om-gta01) or Neo FreeRunner (om-gta02) with dfu-util.
  3. Boot and wait until the Zhone main window appears.
  4. If the Zhone main window does not appear on first boot or stays with "connecting to dbus..." longer than 1 minute, then please reboot. The base system still has some problems with dbus starting for the first time
  5. Read the FSO UI Tutorial and have fun. Note though that this has not been updated yet for milestone 4 (which looks a bit differently and has more features).

What you can expect from this release

  • Telephony
  • Phonebook
  • SMS
  • Messagebook
  • GPS
  • frameworkd implementing the following dbus APIs:
    • org.freesmartphone.GSM.*
    • org.freesmartphone.Device.*
    • org.freesmartphone.Usage
    • org.freesmartphone.Resource
    • org.freesmartphone.Events
    • org.freedesktop.Gypsy

What we expect from you

  • Feedback and comments for the dbus APIs. This is your chance to take an active role into shaping the application programming interface for all your forthcoming cool applications.
  • Focus on using the services. Zhone is just our testing-UI and bears little functionality. It's the services that matter.
  • The best way to interact with the framework is by exploring the dbus APIs. For that you can use these two tools, which are already installed:
    • mdbus -- a dbus introspection and interaction utility,
    • cli-framework -- a python dbus command line interface.
  • Before reporting bugs against the framework, please try with cli-framework to see whether it's really a problem of the framework or rather the UI (which gets much less attention from us).
  • If you want to interact with the GSM modem, while the frameworkd is running, you can use mickeyterm -- a MUXer-aware minimal terminal emulator.

Best way to hand us debug logs

  1. log in via ssh
  2. killall python
  3. edit /etc/frameworkd.conf and add to the frameworkd section:
    1. log_level = DEBUG
    2. log_to = file
    3. log_destination = /somewhere/where/you/have/space (preferably SD or NFS, etc.)
  4. Read our documented frameworkd.conf configuration file to learn about the other options.
  5. relaunch frameworkd (/etc/init.d/frameworkd stop; /etc/init.d/frameworkd start)
  6. log in via ssh (yes, again)
  7. export DISPLAY=:0.0
  8. run your favourite client (zhone, cli-framework, ...)

Attach the logs to the tickets, please.

What's next

  • PIM
  • Networking
  • Unit Tests
  • High Level Documentation
  • More Device Support (GTA03, HTC, EZX)

The Team

Mickey, Jan, Daniel, Guillaume, John, Stefan.

Personal tools