Commit Graph
43 Commits
Author SHA1 Message Date
Aleksander Morgado b42b5795e3 iface-modem-messaging: automatically detect the best default storage
Instead of letting the plugins specify a default storage to use, just look at
the supported ones and use the best one.

"MT is preferred over "ME" or "SM", as "MT=ME+SM"
2012-09-14 07:05:23 +02:00
Aleksander Morgado bddcc2fb07 iface-modem-messaging: instead of mem1,mem2,mem3 use just a new default storage
There is no point in specifying a default 'mem1' memory storage, which is used
for reading/listing/deleting, as those are operations that need a specific
'mem1' set each time.

Also, there is no point in specifying separate default 'mem2' and 'mem3' memory
storages, specially because now we allow Sms.Store() to specify a storage.

So, we will now only have a 'default' memory storage, which is applicable for
both 'mem2' and 'mem3' (storing, sending from storage and deleting).
2012-09-14 07:05:23 +02:00
Ben Chan 36c7136510 novatel-lte: implement modem reset 2012-09-11 08:47:07 +02:00
Ben Chan 1252572607 novatel-lte: set default SMS storage to 'SM'
Novatel E362 LTE modem only supports 'SM' and 'SR', but not 'ME'.
2012-09-08 10:19:01 +02:00
Aleksander Morgado f53e53ba37 novatel: fix checking ERI for roaming/home decision
This is a port to git master of the following commit:

commit c21e29c50b5661308fb3b223c05f6942c06dc15d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 24 13:31:04 2012 -0500

    novatel: fix checking ERI for roaming/home decision

    More fallout from b22b2d99db
    which changed the return type of the qcdm_result_get_*() functions.
2012-08-31 10:04:37 +02:00
Ben Chan b060bcfc74 novatel-lte: use 'AT+CRSM=176,28423,0,0,9' instead of 'AT+CIMI' to read IMSI
Based on empirical results, 'AT+CRSM=176,28423,0,0,9' is found more reliable
than 'AT+CIMI' for reading IMSI.
2012-08-30 09:29:39 +02:00
Ben Chan a2aad7d293 novatel-lte: add a 2-second wait after SIM unlock 2012-08-30 09:18:00 +02:00
Aleksander Morgado a1d6667df9 novatel: don't claim the Novatel E362, should be handled by `novatel-lte' 2012-08-26 23:01:50 +02:00
Aleksander Morgado 0436b3e457 api,introspection: report list of drivers, not just one
Different ports of the same modem may get handled by different drivers. We
therefore need to provide a list of drivers (new `Modem.Drivers' property with
signature 'as') instead of just one (removed `Modem.Driver' property with
signature 's').

$ sudo mmcli -m 0 | grep drivers
           |        drivers: 'qcserial, qmi_wwan'
2012-08-24 13:34:51 +02:00
Aleksander Morgado a595912d2d novatel: fix creation of the `MMBroadbandModemNovatel' object 2012-08-24 13:09:17 +02:00
Aleksander Morgado 5764d39689 modem-helpers: ERI parser is generic enough, not just for !SPERI 2012-08-23 18:56:22 +02:00
Aleksander Morgado e38828c318 broadband-bearer: allow implementations to override the port used for connection 2012-08-23 18:56:22 +02:00
Aleksander Morgado 678972b63a novatel: add detailed CDMA registration state checks 2012-08-20 16:27:05 +02:00
Aleksander Morgado 773ff03f91 novatel: custom signal quality loading for non-3GPP modems 2012-08-20 16:27:05 +02:00
Aleksander Morgado 953f787bf3 novatel: allowed modes and access tech loading only in non-CDMA modems 2012-08-20 16:27:05 +02:00
Aleksander Morgado c9337cc8b9 novatel: configure SM storage as default always 2012-08-20 16:27:04 +02:00
Aleksander Morgado 348a80374a novatel: implement custom messaging unsolicited messages enabling 2012-08-20 16:27:04 +02:00
Aleksander Morgado 1931a69e50 novatel: implement current access technology loading 2012-08-20 16:27:04 +02:00
Aleksander Morgado e150c4cf92 novatel: implement allowed mode loading/setting
Settings are given with the 'AT$NWRAT' arguments as follows:
  1,1: 2G allowed
  2,1: 3G allowed
  0,2: 2G and 3G allowed, none preferred
  1,2: 2G and 3G allowed, 2G preferred
  2,2: 2G and 3G allowed, 3G preferred
2012-08-20 16:26:55 +02:00
Aleksander Morgado b8e5dbcaf4 novatel: flip secondary ports to AT mode during port setup 2012-08-20 16:26:55 +02:00
Aleksander Morgado 058fd0256d novatel: new `MMBroadbandModemNovatel' 2012-08-20 16:26:55 +02:00
Aleksander Morgado 56a7e40e37 novatel: start porting the Novatel plugin 2012-08-20 16:26:55 +02:00
Aleksander Morgado eb71b9464d novatel-lte: reorganize code
Just to make it more aligned with how other plugins are structured.
2012-08-20 16:26:55 +02:00
Aleksander Morgado b399a17163 novatel-lte: renamed the plugin to "Novatel LTE"
This plugin only handles the E362 right now.
2012-08-20 16:26:55 +02:00
Aleksander Morgado 1ca46cc0ec plugins: use default port grabbing on those plugins without special requirements 2012-08-06 20:06:46 +02:00
Aleksander Morgado e5e46f489e core: merge MMPluginBase' and MMPlugin'
There's no real point in maintaining a separate `MMPlugin' interface, as all the
plugins will inherit from `MMPluginBase', so just merge them and simplify
everything.
2012-08-06 20:06:45 +02:00
Aleksander Morgado 815693661c core: compile all ports before creating the modem object
Before this, we only exported the modem to DBus when all ports were organized,
in order to make sure that we select as primary port the one we really want and
not the first AT port grabbed. Given that to get all the ports organized we also
needed to wait to get all the ports grabbed, we can now also defer the creation
of the modem object until all the ports get grabbed. This allows us to create
different types of objects based on the ports available (e.g. we can now create
QMI-supported modem objects if we see a QMI port around).
2012-08-06 20:06:44 +02:00
Aleksander Morgado 431b6a0fc5 broadband-modem: remove `USE_WS46' property
3GPP modems will all try to use AT+WS46=? by default to gather supported modes.
2012-07-16 08:34:01 +02:00
Aleksander Morgado 97baa44b04 novatel: report error if not properly disconnected
When we request to disconnect, and the disconnection status check fails, return
a proper error.
2012-05-06 17:12:36 +02:00
Aleksander Morgado b2d376696c novatel: minor coding style fixes 2012-05-06 17:12:36 +02:00
Aleksander Morgado caeeae2721 bearer: simplify handling of the bearer configuration
The base MMBearer object will receive the MMBearerProperties configuration,
which contains every generic and plugin-specific set up. Not every configuration
parameter will be used by every implementation (e.g. not every bearer needs
user/password).

The Bearer object will expose every configuration parameter received in its
`Properties' property in the interface, even if it's not really used.
2012-05-06 17:12:36 +02:00
Nathan Williams 1c1a6a16ec novatel: Poll for whether the connection still exists.
Novatel E362 firmware doesn't notify us by unsolicited message if the
connection goes away, so set up a polling loop to check.

While here, inline a method that's only used in one place so that the
containing function is single-exit and single-cleanup.

Change-Id: If72f7c6ef06de3fb22530d42f62a8dddc6fecfda
2012-05-02 21:05:06 +02:00
Nathan Williams 83bc51edcb novatel: Add support for connecting to specific APNs and specifying username/password.
While here, pass through the other relevant bearer properties.

Change-Id: If925ac78d2edcc744e834e108029f5abdbb375a1
2012-05-02 21:05:06 +02:00
Nathan Williams 67698b43c4 novatel: Use the ALLOWED_SINGLE_AT property. Saves 5 seconds on probing.
Change-Id: I0b0c2cb07781eb32ba6eb4294868ed123f57fd9f
2012-05-02 21:05:05 +02:00
Nathan Williams 81665fe379 novatel: Remove band-setting implementation to improve connections
The $NWBAND command seems to disturb the internal state of the modem
such that it is unlikely to connect to the network, and produces
widely varying error codes. We don't actively use this functionality,
it's just that setting "use all bands" is part of the normal
ModemManager simple-connect sequence. Remove it so it doesn't get
triggered.

Change-Id: I9b5914291a88a59015fb51906af6fd1c78f3952b
2012-05-02 17:27:23 +02:00
Nathan Williams baa6425726 novatel: Implement load_access_technologies.
Change-Id: Ib503d900850d3754d79525dbc9a40b7b9c221dd7
2012-05-02 12:13:39 +02:00
Aleksander Morgado e89a8a42a9 novatel: no need for custom supported modes loading 2012-04-10 18:28:33 +02:00
Aleksander Morgado 93b4256fb6 broadband-bearer: pass down CID to the 3GPP-specific disconnection logic 2012-03-16 14:53:26 +01:00
Aleksander Morgado 327a69ed16 novatel: assume only IPv4 supported for now 2012-03-16 14:53:26 +01:00
Aleksander Morgado cdd339f802 base-modem: implement new modem-wide cancellable, and rework AT commands
Instead of the `_in_port()' variants, we'll provide more generic
`_full()' methods. These should be used either if we want to send commands
to a specific port, or if we want to use a specific user-provided GCancellable.

In addition to this user-provided GCancellable, we keep the internal modem-wide
one.
2012-03-16 14:53:23 +01:00
Aleksander Morgado d306bb082f libmm-common: `MMBearerProperties' won't be considered internal any more
Renamed `MMCommonBearerProperties' to `MMBearerProperties', and removed the
`MMBearerProperties' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado 323df60ed9 libmm-common: `MMBearerIpConfig' won't be considered internal any more
Renamed `MMCommonBearerIpConfig' to `MMBearerIpConfig', and removed the
`MMBearerIpConfig' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Nathan Williams 8e640d3adc novatel: new plugin for the Novatel E362 2012-03-16 14:53:14 +01:00