From mychaela.falconia at gmail.com Thu Nov 17 20:55:43 2016 From: mychaela.falconia at gmail.com (Mychaela Falconia) Date: Thu, 17 Nov 2016 12:55:43 -0800 Subject: Modem ID strings Message-ID: 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~