Modem ID strings

Mychaela Falconia mychaela.falconia at gmail.com
Thu Nov 17 20:55:43 UTC 2016


Hello Om community,

I have a question about the slightly peculiar format in which Om's
official mokoN firmwares emit their ID strings, and whether or not the
modem-interfacing software in QtMoko/SHR/AoF (any others?) requires
this peculiar ID response format, or if the more standard form would
also be acceptable.

Background: the GSM 07.07 spec defines 4 commands for retrieving ID
strings from the modem:

AT+CGMI  -- get manufacturer name
AT+CGMM  -- get model name
AT+CGMR  -- get hw/fw revision
AT+CGSN  -- get serial number or IMEI

This is what the responses to these commands look like with a random
off-the-shelf USB 3G modem:

at+cgmi
huawei

OK
at+cgmm
E303

OK
at+cgmr
21.157.31.00.519

OK
at+cgsn
86087401XXXXXXX

OK

(The last 7 digits of the IMEI in the AT+CGSN response have been X'ed
 out for privacy.)

But the ID strings returned by moko11 (and all previous mokoN fw
versions) look a little different:

at+cgmi
+CGMI: FIC/OpenMoko

OK
at+cgmm
+CGMM: "Neo1973 GTA01/GTA02 Embedded GSM Modem"

OK
at+cgmr
+CGMR: "GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko11"

OK
at+cgsn
+CGSN: 35465101XXXXXXX

OK

My reading of the GSM 07.07 spec tells me that the form emitted by
Huawei's modem is the standard one, whereas the form emitted by mokoN
firmwares is non-standard.  FWIW, the ACI code in the TCS3/LoCosto fw
source which we (FreeCalypso) got from TI also implements the same
believed-to-be-standard form as Huawei, *not* the mokoN form.

The difference is that mokoN firmwares emit their ID strings wrapped
like this:

+CGxx: stringwithoutspaces

or like this:

+CGxx: "string with spaces"

whereas my reading of the GSM 07.07 spec tells me that the strings are
to be emitted "plain", without any wrapping, like Huawei and TI's code
do.

We may never know why the mokoN firmwares do it the way they do (a
historical oddity), but the relevant question is this: does the modem-
interfacing software in QtMoko/SHR/AoF/others actually require this
non-standard ID response format, or would it be equally satisfied with
the simpler response format called for in the GSM 07.07 spec and
implemented by others?

When I did leo2moko back in 2013, I reproduced the AT+CGxx response
output format of mokoN, but the current FreeCalypso Magnetite firmware
emits these responses in the standard GSM 07.07 format.  Because I
plan on continuing to provide support for Openmoko devices in the
future FC firmware versions, I would like to know if the difference in
the format of these AT+CGxx ID responses is going to cause any
problems or not.

If anyone would like to test this difference experimentally, you can
flash this modem firmware image into your Neo:

https://www.freecalypso.org/members/falcon/experimental-builds/gtamodem-magnetite-20161116.tar.bz2

It should function exactly the same as moko11 and moko12 (leo2moko-r1
from 2013), but the ID strings are of the newly adopted form:

at+cgmi
FIC/OpenMoko

OK
at+cgmm
Neo1973 GTA02

OK
at+cgmr
GTA02BV4/FreeCalypso

OK
at+cgsn
35465101XXXXXXX

OK

(The "FIC/OpenMoko", "Neo1973 GTA02" and "GTA02BV4" strings emitted by
 this firmware are read out of Om's factory-programmed flash file
 system; they are *not* in my code.)

If anyone cares about QtMoko/SHR/AoF/etc continuing to work with newer
Calypso modem firmware releases, I would appreciate it if someone
using those distros could give it a quick test.

M~



More information about the community mailing list