[Gta04-owner] [PATCH 1/2] sms: Option HSO modem can't really do CNMA

Neil Jerram neil at ossau.homelinux.net
Thu Nov 27 14:14:56 CET 2014


On 2014-11-26 11:00, Dr. H. Nikolaus Schaller wrote:
> Hi,

Hi Nikolaus,

> Am 26.11.2014 um 11:37 schrieb Neil Jerram <neil at ossau.homelinux.net>:
> 
>> I've been working on SMS function with oFono.  oFono prefers to get
>> +CMT indications for received SMSs - which it requests by issuing
>> AT+CNMI=2,2... - instead of +CMTI indications that would be requested
>> by AT+CNMI=2,1...  But my observation is that the GTA04 modem doesn't
>> in fact generate +CMT indications for received SMSs (even when
>> instructed to do so by AT+CNMI=2,2...).
>> 
>> I can submit an oFono patch to issue AT+CNMI=2,1... when talking to a
>> GTM601, and so get +CMTI indications (which it handles fine).
>> 
>> Before I do that, however, can anyone confirm or deny that the GTM601
>> really can't do +CMT indications?
>> 
>> QtMoko for GTA04 issues AT+CNMI=2,1 and handles +CMTI indications.
>> FSO has a config setting named "sim_buffers_sms", and sends
>> AT+CNMI=2,1 if that setting is true, or AT+CNMI=2,2 if false; and the
>> GTA04 config has sim_buffers_sms=true.  Is that because others have
>> tried using +CMT before and found it not to work?
> 
> I have tried to find some background information (AT+CLAC list).
> It might be that AT+CNMI is not implemented, but there should be a 
> Qualcom
> command AT+$QCCNMI (the modem appears to implement two sets of
> commands - some implemented by Qualcom and some by OPTION).
> Please give it a try.

Many thanks.  I changed my oFono code to use AT$QCCNMI everywhere 
instead
of AT+CNMI.  Unfortunately it didn't make any difference to my 
observations
above - i.e. with the AT$QCCNMI=2,2... setting, I still don't see any
indication from the modem for a received SMS.

I also just tried ModemManager, and checked its code to see what it 
sends.
ModemManager worked nicely for sending and receiving SMS, and for 
setting
up a 3G data connection, and generally feels quite solid.  It's a real
shame that it doesn't support voice calls, otherwise I'd seriously 
consider
switching to use it.

Also, ModemManager sends AT+CNMI=2,1... (for all modems).

So my conclusion for now is that the GTM601 (with firmware as in the 
GTA04)
really doesn't do +CMT indications.  I'll submit an oFono patch to 
handle
that.

>> PS. I haven't forgotten the possibility of using fsogsmd instead of
>> oFono.  I'm still working with oFono at the moment because I have some
>> application-level code that speaks to its dbus APIs.

I also tried fsogsmd again, but didn't get far enough to build much
confidence in it.

Firstly, it doesn't bind any of its dbus services, if fsousaged isn't
also installed - rather reinforcing my general concern about FSO being 
too
much of a "replace everything" solution, instead of being a collection 
of
interchangeable components (which I would prefer).  Secondly, the Debian
packages for fsousaged look worrying because there is an apparent config
package for -htc but not for -gta04 - however, maybe this doesn't matter
in practice.  Thirdly, it's non-obvious that the only way to enable the
modem is via fsousaged's RequestResource interface.  Fourthly - when I
reached the point of testing the SMS interfaces - it seemed that the
RetrieveTextMessages method caused the modem to switch back to CLOSED
state (and also did not return any text messages).

(Possibly the last point is because fsogsmd, or some subcomponent of it,
failed and restarted, in a way that affected the believed set of users 
of
the GSM resource - because I also observed, following this, that the
Usage interface said that the GSM resource was not enabled.

Please do let me know if I was doing something obviously wrong here.
My guess, though, is that in fact there are subtle dependencies on the 
FSO
system as a whole, and hence I probably won't try fsogsmd any more 
unless
I hear of others working with it on its own (i.e. without the rest of 
FSO).

Regards,
     Neil



More information about the Gta04-owner mailing list