[PATCH] telit: implement the network time interface for Telit modems

Jason Simmons jsimmons at chromium.org
Thu Mar 12 10:39:55 PDT 2015


The Telit modem supports AT+CTZU=1 but doesn't seem to require it.  When I
start up the system, the modem has CTZU=0 by default, but queries to
AT+CCLK? yield the correct time and time zone.

I'll try moving the MMIfaceModemTime implementation from this patch up
to src/mm-broadband-modem.c

Also, I don't have an environment for testing with anything besides the
Telit modem, so I might need some help verifying that a generic
implementation does not cause problems for other modems.



On Thu, Mar 12, 2015 at 12:44 AM, Aleksander Morgado <
aleksander at aleksander.es> wrote:

> On Wed, Mar 11, 2015 at 9:17 PM, Bjørn Mork <bjorn at mork.no> wrote:
> > Aleksander Morgado <aleksander at aleksander.es> writes:
> >
> >> Hey,
> >>
> >> On Wed, Mar 11, 2015 at 6:49 PM, Jason Simmons <jsimmons at chromium.org>
> wrote:
> >>> Add support for querying the real-time clock to the Telit plugin.
> >>> Tested with a Telit HE910 modem.
> >>> ---
> >>>  plugins/telit/mm-broadband-modem-telit.c | 174
> >>> ++++++++++++++++++++++++++++++-
> >>>  1 file changed, 173 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/plugins/telit/mm-broadband-modem-telit.c
> >>> b/plugins/telit/mm-broadband-modem-telit.c
> >>> index 5e1dbff..429a735 100644
> >>> --- a/plugins/telit/mm-broadband-modem-telit.c
> >>> +++ b/plugins/telit/mm-broadband-modem-telit.c
> >>> @@ -29,12 +29,15 @@
> >>>  #include "mm-modem-helpers.h"
> >>>  #include "mm-base-modem-at.h"
> >>>  #include "mm-iface-modem.h"
> >>> +#include "mm-iface-modem-time.h"
> >>>  #include "mm-broadband-modem-telit.h"
> >>>
> >>>  static void iface_modem_init (MMIfaceModem *iface);
> >>> +static void iface_modem_time_init (MMIfaceModemTime *iface);
> >>>
> >>>  G_DEFINE_TYPE_EXTENDED (MMBroadbandModemTelit,
> mm_broadband_modem_telit,
> >>> MM_TYPE_BROADBAND_MODEM, 0,
> >>> -                        G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM,
> >>> iface_modem_init));
> >>> +                        G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM,
> >>> iface_modem_init)
> >>> +                        G_IMPLEMENT_INTERFACE
> (MM_TYPE_IFACE_MODEM_TIME,
> >>> iface_modem_time_init));
> >>>
> >>>
> >>>
> /*****************************************************************************/
> >>>  /* Load access technologies (Modem interface) */
> >>> @@ -175,6 +178,164 @@ load_access_technologies (MMIfaceModem *self,
> >>>  }
> >>>
> >>>
> >>>
> /*****************************************************************************/
> >>> +/* Load network time (Time interface) */
> >>> +
> >>> +static gboolean
> >>> +parse_cclk_reply (const char *response,
> >>> +                  gchar **iso8601p,
> >>> +                  MMNetworkTimezone **tzp,
> >>> +                  GError **error)
> >>
> >> Could you put this in a mm-modem-helpers-telit.c|h set of files in the
> >> telit plugin, and add unit tests? You can check e.g. how that is done
> >> in the Huawei plugin for the ^TIME response parsers.
> >
> > Why make this telit-specific?  It will likely work with other modules
> > supporting AT+CCLK.  Just tested on my Sierra Wireless EM7345 and it
> > works fine after first setting AT+CTZU=1 :
> >
> > bjorn at nemi:~$ mmcli -m 5 --command="AT+CTZU?"
> > response: '+CTZU: 1'
> > bjorn at nemi:~$ mmcli -m 5 --command="AT+CCLK?"
> > response: '+CCLK: "15/03/11,21:15:18+4"'
> >
>
> That is actually  a good idea...
>
> Jason, does the Telit modem require AT+CTZU=1? If it doesn't, does it
> anyway support it?
>
> I'm thinking that a generic check_support() method in the
> MMBroadbandModem object could do AT+CTZU=1 and then AT+CCLK? (i.e.
> moving all this to the generic modem as Bjørn suggested).
>
> >
> > bjorn at nemi:~$ mmcli -m 5
> >
> > /org/freedesktop/ModemManager1/Modem/5 (device id
> '387cb41c2728a4dae8488ffd480c36ad8081139b')
> >   -------------------------
> >   Hardware |   manufacturer: 'Generic'
> >            |          model: 'MBIM [1199:A001]'
> >            |       revision: 'FIH7160_V1.2_WW_01.1415.07'
> >            |      supported: 'gsm-umts, lte'
> >            |        current: 'gsm-umts, lte'
> >            |   equipment id: '013937000536191'
> >   -------------------------
> >   System   |         device:
> '/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-4'
> >            |        drivers: 'cdc_mbim, cdc_acm'
> >            |         plugin: 'Generic'
> >            |   primary port: 'cdc-wdm0'
> >            |          ports: 'ttyACM3 (at), cdc-wdm0 (mbim), wwan0 (net)'
> >   -------------------------
> >   Numbers  |           own : 'unknown'
> >   -------------------------
> >   Status   |           lock: 'none'
> >            | unlock retries: 'sim-pin2 (3)'
> >            |          state: 'registered'
> >            |    power state: 'on'
> >            |    access tech: 'lte'
> >            | signal quality: '16' (cached)
> >   -------------------------
> >   Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
> >            |        current: 'allowed: 2g, 3g, 4g; preferred: none'
> >   -------------------------
> >   Bands    |      supported: 'unknown'
> >            |        current: 'unknown'
> >   -------------------------
> >   IP       |      supported: 'ipv4, ipv6, ipv4v6'
> >   -------------------------
> >   3GPP     |           imei: '013937000536191'
> >            |  enabled locks: 'sim, fixed-dialing'
> >            |    operator id: '24201'
> >            |  operator name: 'N Telenor'
> >            |   subscription: 'unknown'
> >            |   registration: 'home'
> >   -------------------------
> >   SIM      |           path: '/org/freedesktop/ModemManager1/SIM/5'
> >
> >   -------------------------
> >   Bearers  |          paths: 'none'
> >
> >
> >
> > Bjørn
>
>
>
> --
> Aleksander
> https://aleksander.es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/modemmanager-devel/attachments/20150312/1bcf5146/attachment-0001.html>


More information about the ModemManager-devel mailing list