[FSO] add QCT msm7* modem support (On behave of lukas.gorris at googlemail.com)

Stefan Schmidt stefan at openmoko.org
Sat Nov 22 02:35:35 CET 2008


[cc'ed freesmartphone as some interested people hang out there as well]

Lukas, thanks for kicking this off. Let me add some more status infos from
other platform I could query over the last week.

On Fri, 2008-11-21 at 21:27, Adrian-Ken Rueegsegger wrote:
> [This mail was sent on behave of Lukas Gorris
> (lukas.gorris at googlemail.com) since his mails are bounced by the ML
> ("not registered" eventhough his address is registered]

Hmm, strange. Please fill abug about this in our admin-trac:

> I would like to begin adding support for the radios of the qualcomm
> msm7* chipsets in openmoko FSO. One aspect of the motiviation is the
> vast availability of handsets with this chipset. All of the newer HTC
> devices sport them. They are very powerful and common devices. I would
> like to name a few examples and give you a quick insight of the htc
> msm families.

Great. FSO is really looking forward to support many different hardware
platforms. By now we have mickey and me working on EZX devices and Philipp
Zabel working on the magician. I'm also starting to integrate some E-Ten
glofiish M800 support.

Besides the openmoko devices we are still in an early stage though. Need to
improve this. I just started a small wiki page about the status of this. At the
moment it is more a stub. Everyone feel free to add infos here. I will do as
well over the next days:

> msm7200 devices (for gsm networks): (htc-msm branch)
> kaiser (aka HTC TyTn II; buildable machine type in OE), polaris (aka
> HTC Touch Cruise; also in OE), nike, neon, sedna, wings, ...

Are there plans to have machine support for more devices in OE?

> msm7500 devices (for cdma networks): (htc-vogue branch)
> vogue (aka HTC Touch), titan (Sprint Mogul), ...

So far we don't have any devices with cdma on our agenda. This is not very
likely driven by us  as we live in GSM countries. Not sure what mickeys opinion
is on this, but if anybody would came up with clean support for CDMA in FSO we
could discuss this.

[removed some really good info. just to much to quote :)]

> The way the two communicate, which is really the important part now,
> is a shared memory area where the data is carried in circular buffers
> from arm11 to arm9 and vice versa. In the linux userspace, these are
> interfaced using simple serial device nodes. (just like ttyS0 etc on
> the mokos). All of the AT commands go through /dev/smd0 . Then there
> is /dev/smd1 for gprs data and /dev/smd7 for the GPS NMEA data, etc
> ...

So that would be the interfaces FSO would mostly be interested in.

As long as the GPS device provides NMEA over a char device that is easy. Modem
is, as always, a bit more difficult. Does the modem support standard TS 07.10
muxer support on these devices? What kind of propriatary AT commands do they
support e.g. for call in progress indication? GPRS goes over another devoice
node, that also needs to gte taken care about.

I don't expect answers on all of this of course. What we need to do can be
separated in two main tasks.

1) FSO giving you the information how to write a new modem plugin. Give you
examples and work out problems with you. Perhaps change architecture to make it
fit better.

2) You, or any other volunteer adding support for a new modem, figuring out out
the evil details. Muxer protocols, special AT commands, quirks, etc

I'll poke mickey and try to work with him over the next weeks on 1). Some
highlevel docs about adding a new modem in combination with code examples.

Afterwards working together with you guys to help you and integrate your stuff.

> This is really consistent, also across the non-A/A and 2/5 chipsets.
> Of course the AT commands change between 75xxx and 72xxx because cdma
> uses extra commands for texting, initializing data sessions and the
> like. Then there's HTC/msm specific AT commands like signal quality
> and stuff. but not many. most things are standard. I have (made) no
> list of them. Only got the AT debug logs from winows mobile which can
> be used to obtain all of the needed AT communication. Also there is
> the source code to the android phone library reversed and rewritten
> for the vogue. I will go document this a bit but if somebody knows
> command tables for the htc/msm specific radios, that would be nice. I
> think to dial only, the calypso fso code could probably work OOTB on
> the msm72xxx devices.

OK, that sounds not to bad. I would suggest something like the following to slay
the monster:

* Good development setup
** framework-console-image with cli-framework mdbus, mickeyterm, etc

* Seek as much information about the modem as possible.
** Datasheets would be great
** AT command references
** Used muxer protocols
** Special handling for powermanagement, etc

* Follow the, yet to be written, docs about writting a modem plugin
** Most pleasure and pain is here. :)

Looking forward to all people who like to work on FSO on other devices. You are
welcome, let us know your plans, give us some time to prepare informations for

Stefan Schmidt

More information about the devel mailing list