Modem ID strings
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:
(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:
+CGMM: "Neo1973 GTA01/GTA02 Embedded GSM Modem"
+CGMR: "GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko11"
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
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
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:
It should function exactly the same as moko11 and moko12 (leo2moko-r1
from 2013), but the ID strings are of the newly adopted form:
(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.
More information about the community