Table of Contents
As you may already know[1], I got a free HP|Palm Pre2 developer device some time ago.
The first project I started with this really nice piece of hardware is Bootr[2] – a multiboot solution for all HP|Palm Pre devices, which let’s you select an OS (SHR, WebOS, Android, …) at startup.
Msmcomm
I pledged that I’ll work on the SMS part of msmcomm[3] next, which is a free and open source utility to communicate with the Palm’s Qualcomm/MSM modem.
Now I’m happy to announce that I’ve finished quite some work on msmcomm’s SMS part and I’ve upstreamed all bytes of it. This starts at the (almost) lowest level of reverse engineering the structures used in the protocol to communicate with the modem and building useful data structures out of it. Then gathering suitable data to stuff into those structures and send them to – and receive them from – the modem.
FSO
To make my work usable to distributions like SHR[4], QtMoko[5] and Aurora[6], I integrated my work with a higher level layer – the FreeSmartphone.org middleware[7]. You can now use the usual FSO DBus commands as stated in FSO’s docs[8] to send SMS’ and listen for new, incoming SMS’.
As FSO is an abstraction layer between the low msmcomm/modem level and the higher userspace/distribution level, all my work can now be used by the abovementioned distributions automagically without any change needed – isn’t this awesome?!
Status
What’s working
- sending/receiving SMS
- works for SMS containing special chars like “äöüß”
- works for multi part SMS (e.g. SMS > 160 chars)
- acknowledging (single) incoming SMS
- works using the FSO and the Msmcomm DBus APIs
What’s left
- acknowledging multi part SMS
- SMS status report
- squeezing out bugs
Note: This only represents the SMS part of msmcomm. There is whole lot more working in the context of calls, 3g internet, sim, phonebook, …
Links
[1] HP|Palm developer device – blog.slyon.de
[2] Bootr – github.com
[3] Msmcomm – git.freesmartphone.org
[4] SHR project – shr-project.org
[5] QtMoko project – qtmoko.org
[6] Aurora project – wiki.freesmartphone.org
[7] FreeSmartphone.org – freesmartphone.org
[8] FSO API documentation – docs.freesmartphone.org