Writing my own Free Plain Phone sw distro for GTA02

Denis 'GNUtoo' Carikli GNUtoo at no-log.org
Sun Sep 18 12:03:08 CEST 2011

> In order words, the phone functionality I am after is what people would
> call a "dumb" phone, or I prefer to call it a Plain Phone to use a more
> neutral / non-derogatory term.
feature phone is also non-derogatory and means exacty the same thing
> Learning motivation: that's the biggest one for me.  I am a knowledge
> freak.  I want to know, know, know.
check out the wiki, there is explanation on how the hardware works
> I realize that I will unfortunately have to treat the Calypso GSM block
> as a black box.  If I had a spare million dollars laying around, I could
> probably find an ex-Openmoko-Inc employee whom I could bribe for an
> illegal copy of the 3 missing schematic sheets and of whatever mix of
> partial source and linkable binary/object modules I'm guessing they must
> have had for the Calypso firmware: still not stellar, but better than
> what the community currently possesses, which is a block diagram on
> schematic page 14 and a fully-built FW image.  But I don't have a spare
> $1M laying around, so that is probably not an option. :-(
learn about osmcombb, however it's not a drop-in replacement as it lacks:
*an AT command interpreter part(however they have an abandoned nuttx
*any kind of certification needed for connecting to carrier networks
> But even with the GSM modem being a black box sequestered behind a serial
> port,
still that's not so bad, the GSM modem doesn't control the CODEC(the
"sound card") nor the GPS.

> As a more concrete example, I don't want my UI to use either GTK or Qt,
> and in fact I don't want any pre-existing UI code period: I want to
> design and implement my own UI 100% myself.  My UI design will be rather
> monolithic, centering around Plain Phone functionality: making and
> receiving plain old voice calls on the GSM network, receiving, replying
> to and composing SMS, managing contacts, and that's about it.  (*No*
> "apps" or the like.)  I will implement my Plain Phone UI in plain C
> using just libX11, no GTK or Qt, because that's my programming comfort
> zone.
too bad because there was already a feature-phone distro called aurora,
but its GUI is in QT(using the framebuffer), but yet very basic.
> I also don't like dbus: too modern for my taste.  Hence I will need to
> implement my own version of gsmd that doesn't depend on dbus or any
> other infrastructural backbone of a "modern" Linux distro.
too bad that rules out freesmartphone, which is a great hardware
abstraction layer. if you would use freesmartphone you could have
written the GUI quickely enough to make it a reality.
> 1. Learn the process for loading new code images into the phone, build a
>    very basic rootfs image (using the techniques and principles from my
>    HEClinux-am3517 project) that does nothing other than allow an ssh
>    root login over the USB port, load it, get it to boot (debug board
>    with serial console bring-out for the win!) and get the USB login
>    to work.  Try doing it with the battery removed (USB power only) if
>    possible.
just read the wiki for that.
> 2. Write the first inklings of the battery charger daemon: minimal power
>    management code to enable battery charging and control the USB
>    current draw limiter.  Charge the battery and see it boot w/o USB
>    power.
battery charging is done in the kernel.
> 3. Write the first minimal gsmd.  Have it save incoming SMS in an
>    "airlog" file with no UI.  Try placing an outbound call or sending
>    an SMS from the command line (from the shell accessed via USB port
>    login session).
> 4. Write the bottom layer of my own UI, roughly taking the place of the
>    X11 window manager.  Have the userland display *something* on the LCD.
why not using framebuffer directly?


More information about the community mailing list