Re: WIP Droid 4 voice calls, GNSS & PM with a TS 27.010 serdev driver

From: Tony Lindgren
Date: Wed Jan 16 2019 - 09:59:12 EST


* Pavel Machek <pavel@xxxxxx> [190116 13:58]:
> Hi!
>
> > * Pavel Machek <pavel@xxxxxx> [181227 10:17]:
> > > Ok, I really need SMS messages, too.
> > >
> > > Fortunately, they are on /dev/motmdm9, in PDU format. Quite
> > > logical. And you probably need to acknowledge them, using PDU,
> > > too... (because otherwise you'll just get the same SMS over and over
> > > and over). Which is also logical, but hard to do from shell/python.
> >
> > Yeah so I found that Ruby pdu_tools module allows decoding PDUs
> > properly while I did not have much luck with other tools.
> >
> > So I wrote a hasty script to read SMS, copy it to a Maildir and
> > then ack it:
> >
> > https://github.com/tmlind/droid4-sms-tools
>
> I could not get that one to work.
>
> /var/lib/gems/2.3.0/gems/phone-1.2.3/lib/support.rb:47:in
> `class_eval': /var/lib/gems/2.3.0/gems/phone-1.2.3/lib/support.rb:47:
> `@@{' is not allowed as a class variable name (SyntaxError)
> /var/lib/gems/2.3.0/gems/phone-1.2.3/lib/support.rb:47: syntax error,
> unexpected end-of-input
> unless defined? @@{:default=>true}
> ^
> from /var/lib/gems/2.3.0/gems/phone-1.2.3/lib/support.rb:47:in `block in cattr_accessor'

Hmm yeah looking at my notes I also had some issues and did something like
this to install git version of phone gem:

$ git clone git://github.com/carr/phone
$ cd phone
$ sed -i 's/beta//' lib/phone/version.rb
$ cd phone
$ sed -i 's/1.3.0.beta1/1.2.9/' lib/phone/version.rb
$ gem build phone.gemspec
$ sudo gem uninstall phone
$ sudo gem uninstall bigdecimal -v 1.4.2 # 1.3.4 works
$ sudo gem install phone-1.2.9.gem

> And I wanted to ask -- did you figure out how to acknowledge the
> SMSs? +CGNNA does not seem to do the job:
>
> 07912470338016...
> AT+CGNMA=1
> +CGNMA:ERROR=9

Yeah the scripts in droid4-sms-tools git repo work for me for sending
and receiving. They do not work with cdma currently as the format is
different.

Maybe you've managed to change the mode of the modem to queue the
messages with the at commands to the usb port?

You are reading and writing to /dev/motmdm9 for incoming sms right?

> > My logs show that Android uses two different commands for ack.
> > Either AT+GCNMA=1 or AT+CNMA=0,0 gets used depending on something
> > that I have no idea of.. Maybe the network connected?

I think AT+GCNMA=1 works 3g and AT+CNMA=0,0 with cdma. Or it could be
that one of them is just a delayed ack, I don't know.

Regards,

Tony