HP|Palm Pre – msmcomm

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

Creative Commons Lizenzvertrag

Goldelico/Openmoko GTA04 at last production stage

Table of Contents

The replacement board for the Openmoko Neo Freerunner and Neo 1973 – called Goldelico GTA04 alias “Phoenux” – just arrived at it’s final production stage after another slight delay.

Goldelico GTA04

The Goldelico GTA04[1] is a state of the art hardware upgrade for your Openmoko Neo Freerunners and Neo 1973s. It has an ARM Cortex A8 800MHz processor, 512MB of RAM, a HSDPA 3G modem, an OpenGL ES 3D graphics chip, Wi-Fi, Bluetooth, and much more…
For a detailed overview of it’s technical specification and the story behind it, see my other post[2].

Testing

The first three “GTA04 Early-Adopter Boards” arrived at the labs of Golden Delicious Computers in Munich[3] and successfully went through the semi-automated hardware validation test. The remaining GTA04 EA boards are expected to arrive later this week.


Future

After those remaining boards passed the test, they are ready to ship to their new owners, who are already very excited about their new free smartphones and ready to develop free software for it.

It is expected that the FreeSmartphone.org[4] middleware will quickly support the GTA04, which makes it possible to run phone distributions like SHR[5], QtMoko[6] and Aurora[7] on it. And of course Debian GNU/Linux will run on the Goldelico GTA04 as well, as it is the default OS on the EA boards[8].

Support

If you want to know how you can support this project, which now needs to shoulder the production of the next batch of GTA04 boards, which will then be available to the public, you have serveral opportunities:

  • Make a donation to the project [9], so Golden Delicious Computers can stock the chips needed for new GTA04 boards.
  • Buy a cool Letux 400 [10] MIPS Minibook, so Golden Delicious Computers can clear their warehouse, to stock GTA04 parts.
  • Preorder a GTA04 replacement board [9] for your Neo 1973/Freerunner, after it became available again.
  • Spread the word about this [1] awsome project.

Links

[1] GTA04 project – gta04.org
[2] specs and story of the GTA04 – blog.slyon.de
[3] Golden Delicious Computers – goldelico.com
[4] FreeSmartphone.org project – freesmartphone.org
[5] SHR project – shr-project.org
[6] QtMoko project – qtmoko.org
[7] Aurora project – wiki.freesmartphone.org
[8] GTA04 Debian rootfs – projects.goldelico.com
[9] Preorder a GTA04/donate – handheld-linux.com
[10] Buy a Letux 400 Minibook – handheld-linux.com

Creative Commons Lizenzvertrag

Update: Openmoko GTA04 »Phoenux« is getting reality

Table of Contents

The GTA04 is rising like a phoenix from the ashes…

The Story

All started off with the idea of a fully open source smartphone. After Openmoko Inc. [1] began to deliver the Openmoko Neo 1973 (GTA01) and Neo Freerunner (GTA02) in 2007 a dream became true for many of us.

Sadly, Openmoko Inc. canceled their efforts for an open smartphone in 2009. But due to their openness (semantics, hardware specifications) it was possible for enthusiasts from the Openmoko community, with great support from Golden Delicious Computers [2] (one of the german Openmoko distributors), to develop a new and modern open smartphone – the GTA04 [3].

Technical Specifications

  • 800 MHz ARM Cortex-A8 processor
  • PowerVR SGX integrated graphics
  • 2.84” (43mm x 58mm) VGA touchscreen
  • HSDPA 3G modem
  • 512MB RAM
  • 512MB internal memory + SDHC card slot
  • WLAN, Bluetooth, GPS, FM Transceiver
  • Accelerometer, Compass, Gyroscope, Barometric Altimeter
  • USB 2.0 port, 2.5mm headset port, GPS antenna port, video out

Info: The GTA04 project only provides a mainboard, which can be used to upgrade a Neo 1973/Freerunner, while still using their case, touchscreen, antennas, speakers and buttons/leds.

Prototypes & Early-Adopter Boards

Golden Delicious Computers and the enthusiasts from the Openmoko community started off with the idea of stuffing a BeagleBoard [4] into a Neo Freerunner case and connecting an USB UMTS dongle to it – this was the first prototype GTA04A1, announced in late 2010 and presented at OHSW 2010 [5] and FOSDEM 2011 [6].

Next, they started to integrate all this onto a single PCB of the same size as the Neo 1973/Freerunner boards, so it could fit into their cases, use their batterys, antennas, speakers, buttons and touchscreens. This board was then called GTA04A2 – the second prototype.
After a lot of trouble – mainly with the power controler – and an almost complete redesign of the PCB, the team finalized the 3rd revision – GTA04A3, which will most probably become the revision the early adopters will get.

With this revision the team started to solder the different chips one after another, tested them and fixed smaller problems on the go. As these GTA04 EA boards now fulfill all the demanded conditions (working CPU, Display, Touch, Memory, MMC/SD, RS232 and UMTS-USB (data)), the community was asked if they want their EA boards as soon as possible or wait another few weeks and have some more tests done with the prototypes, to squeeze out even more glitches. Most of the early adopters (me included) voted for waiting a few more weeks.
With this decision made, the first Goldelico GTA04 EA boards will probably be ready for delivery in about a month!

Update: The GTA04 EA boards are delivered and are working quite nice! Now you can order your GTA04 board through the GTA04 Group Tour.
Update 2: The “GTA04 Group Tour” was successful. About 250 boards are delivered. The next round of pre-ordering and production started.

Future

After the early adopters got their boards and replaced/ugpraded their Openmoko Neo 1973/Freerunner with it, they can start testing the hardware, writing kernel drivers and other software. The FSO based [7] distributions SHR [8], Aurora [9] and QtMoko [10] are already prepared to include the GTA04 as a supported platform.

While the early adopters are further testing the hardware and writing software, the GTA04 team will prepare to produce the next batch of GTA04 boards. After they are sure that they can produce and deliver the next boards, e.g. after they have stocked the chips needed, they will most probably reopen the preoder possibility at Goldelico’s Handheld-Linux Shop [11] for people willing to upgrade their Openmoko Neo 1973 and/or Neo Freerunner.

How you can help

If you now want to know if and how you can help us to keep dreaming our dream of an open source smartphone, you have multiple possibilities:

  • Make a donation to the project [11], so Golden Delicious Computers can stock the chips needed for new GTA04 boards.
  • Buy a cool Letux 400 [12] MIPS Minibook, so Golden Delicious Computers can clear their warehouse, to stock GTA04 parts.
  • Preorder a GTA04 replacement board [11] for you Neo 1973/Freerunner, after it became available again.
  • Spread the word about this [3] awsome project.

Thanks

At this point I want to say “Thank you, for making this happen!” to all volunteers involved with the GTA04 project!

Links

[1] Openmoko Inc. – http://www.openmoko.com
[2] Golden Delicious Computers – http://www.goldelico.com
[3] GTA04 – http://www.gta04.org
[4] BeagleBoard – http://www.beagleboard.org
[5] FOSEM – http://www.fosdem.org
[6] OHSW – http://www.ohsw.org
[7] Freesmartphone.org – http://www.freesmartphone.org
[8] SHR – http://www.shr-project.org
[9] Aurora – http://wiki.freesmartphone.org/index.php/Aurora
[10] QtMoko – http://qtmoko.sf.net
[11] Handheld Linux Shop – http://www.handheld-linux.com/wiki.php?page=GTA04
[12] Letux 400 – http://www.handheld-linux.com/wiki.php?page=Letux 400

Creative Commons Lizenzvertrag

HP/Palm Pre2 Developer Device

Recently my free HP/Palm Pre 2 developer device arrived from the US here in Germany.

In March I wrote an email to HP/Palm to apply for the “developer program”, in which they offered free Pre2 devices to qualified developers. As I’m involved in the SHR-Project and especially in the port of it to the Palm Pre product family, it is really great to get supported by HP/Palm itself!

Thank you very much HP/Palm for supporting the FOSS community in such a way!

The first project I started to bring FOSS to the Pre is Bootr, which is a multiboot solution capable of booting serveral Linux distributions like WebOS, SHR or Android on your HP/Palm Pre, Pre+ and Pre2.

The next bigger project I’ll be involved with is msmcomm, which is a utility to communicate with the Palms modem. Thanks to the awsome work of the guys from the FSO-Project this utlity is already capable of initializing the modem, communicating with the SIM card, reading SIM contacts, using a 3G data connection and even initiating and accepting a call. My work will hopefully lead to being able to send and recieve SMS.

To work on this I setup my enviroment like this:

  • Cross-compile the serial_forward utility (git.freesmartphone.org) for the Pre (using OpenEmbedded or another cross-toolchain) and copy it over
  • Enable usbnet on the Pre:
    usbnet enable
  • Connect to the Pre using novaterm:
    novaterm
  • Stop the TelephonyInterfaceLayer:
    stop TelephonyInterfaceLayer
  • Reset the modem:
    pmmodempower cycle
  • Run serial_forward, to forward the modem to you host computer:
    ./serial_forward -n /dev/modemuart -p 3001 -t hsuart
  • On your host computer configure the usbnet interface:
    ifconfig usb0 192.168.0.1
  • Install libmsmcomm, msmcomm-specs and msmcommd
  • Change the connection settings in msmcommds config (/etc/msmcommd.conf) to look like this:
  • [connection]
    # Which type of connection we should use to connect to the modem: network, serial
    # type = serial
    # path = /dev/modemuart
    # If you want to connect to the modem over a network link you should use the
    # configuration below
    type = network
    ip = 192.168.0.202
    port = 3001

  • Start msmcommd:
    msmcommd
  • Install mdbus2 or any other DBus debugging tool
  • Issue the following DBus commands, to setup the modem:
    org.msmcomm /org/msmcomm org.msmcomm.Management.Reset
    org.msmcomm /org/msmcomm org.msmcomm.Management.Initialize
    org.msmcomm /org/msmcomm org.msmcomm.Misc.TestAlive
    org.msmcomm /org/msmcomm org.msmcomm.SIM.VerifyPin "PIN1" "1234"
    org.msmcomm /org/msmcomm org.msmcomm.State.ChangeOperationMode "ONLINE"

Creative Commons Lizenzvertrag

Free platforms Go On, despite former giant’s NoGo

This is an official PR announcement from the FOSS community.
Different translations are available here: wiki.freesmartphone.org
/CZ /DE /ES /PL

Tuesday, February 15th, 2011 – Despite the recent departure of a former mobile handset manufacturer giant, several developing teams and their users are actually… happily hacking on. With the longterm goal of a fully Free Software platform for embedded systems, the teams of FSO, SHR, QtMoko, Replicant and AndroidOnFreerunner invite others to join and participate in projects which are not driven left and right by the  unpredictable follies of corporate management.

«We have been making a steady progress throughout the years. The major requirement has been a solid, Linux supported hardware, and for that we have been using Openmoko, Palm Pre, N900 and HTC phones – and ambitioned forthcoming projects like Goldelico’s GTA04. All these devices are providing a great development platform for those who seek truly open and independent system for their learning, coding and even professional or commercial use.» — says Dr. Michael Lauer from FSO.

There’s a temporary advantage when big players like FIC (Openmoko), Nokia+Intel (MeeGo) and Google (Android) invest in Free Software Projects. Though if the project contains parts of proprietary code, it depends on the investor. At some point the investor might abandon the project and the community. Then the project is doomed because the community can not fix any bugs in the proprietary code or adapt it to newer/other APIs.

«We believe in another model – proven to be both sustainable and satisfactory – where everybody can contribute their knowledge and learn at the same time, without proprietary code blobs and no closed doors boardroom meetings. This allows us to use existing hardware even when the maker decided to abandon it all together or is not willing to update it anymore. Anybody is able to commit, read, comment on or download the source code.»

The teams invite both users and developers to look at their project pages, the current results, motivations and needs, as well as to join the mailing lists, wikis, forums, IRC rooms or what  not, to chat, listen and eventually contribute in order to create the free and open embedded platform for their devices.

The communities of FSO, SHR, QtMoko, Replicant and Android on Freerunner

Read more