Commit Graph
100 Commits
Author SHA1 Message Date
Aleksander Morgado 3ed1cb2e1d docs: don't require 'dia' to build the docs
These diagrams are not expected to change much, so just include the generated
PNGs in the repository, and remove 'dia' from the prerequisites to build the
documentation.
2013-05-26 19:16:39 +02:00
Aleksander Morgado 5c8f1fe0f2 mmcli: fix newline prefixing
The last line in a multi-line string was getting lost if it wasn't '\n'
terminated.
2013-05-23 18:00:03 +02:00
Aleksander Morgado a12be165d1 libmm-glib,modem: avoid accessing an already freed GArray
We cannot g_array_unref() the GArray when get()-ing bands as that will clear
the contents of the GArray, even if there are references around. Instead, just
dup the array contents when returning.
2013-05-23 18:00:03 +02:00
Aleksander Morgado d0a8911cf6 modem-helpers-mbim: handle MBIM_PIN_TYPE_UNKNOWN in switch 2013-05-22 17:47:35 +02:00
Aleksander Morgado 7ceca95323 build: require mbim-glib >= 1.0.0 when building MBIM support 2013-05-22 17:47:07 +02:00
Aleksander Morgado 619b327012 broadband-modem-qmi: when listing all SMS fails, list per tag
Some QMI modems seem to fail when requesting to list all SMS messages in a given
storage. When this happens, we'll loop through all storages but performing per
tag list requests.
2013-05-20 10:15:28 +02:00
Aleksander Morgado 09d70454b4 sms-qmi: always specify message mode when deleting SMS messages 2013-05-20 10:14:10 +02:00
Aleksander Morgado 5caa0c96fb broadband-modem-qmi: always specify message mode when reading SMS 2013-05-20 10:14:10 +02:00
Aleksander Morgado 2a93ca9281 bearer: defer forced disconnection when modem unregistered while connected
If the bearer is connected and we get a notification of being unregistered, wait
up to 15s to force the disconnection, in case we can recover the registration
in the meantime.

https://bugzilla.gnome.org/show_bug.cgi?id=699803
2013-05-20 09:12:48 +02:00
Aleksander Morgado e18e168682 bearer: allow registration changes from/to SEARCHING without disconnecting
We allow the modem to be connected while the registration state is 'SEARCHING',
which may happen when the coverage is poor.
2013-05-20 09:08:35 +02:00
Aleksander Morgado 2bb0a23b1f iface-modem-3gpp: remove the deferred registration updates
We should really notify registration updates right away in the DBus interface.
2013-05-20 09:08:35 +02:00
Aleksander Morgado e63e062a76 build: use -Wformat-security 2013-05-17 23:16:01 +02:00
Aleksander Morgado 48f47cd53f sms: fix validity variant parsing 2013-05-17 08:49:19 +02:00
Aleksander Morgado 027d95506c huawei: use ^SYSINFOEX if available instead of ^SYSINFO
Newer Huawei modems, like the E3276 or the ME906 won't support ^SYSINFO, and we
should instead use the newer ^SYSINFOEX. By default, use ^SYSINFOEX when
available, as it provides more information than the plain ^SYSINFO.

E.g.:
    ^SYSINFOEX:2,3,0,1,,3,"WCDMA",41,"HSPA+"
    ^SYSINFOEX:2,3,1,1,1,3,”WCDMA”,46,”DC-HSPA+”
2013-05-09 17:56:38 +02:00
Aleksander Morgado f96bb04c00 huawei: ignore ^NDISSTAT unsolicited messages
These messages give us information about the current connection status in the
NDIS interface. We already have other means to know this status, so we just
ignore the unsolicited message for now.

E.g.:
    ^NDISSTAT: 1,,,"IPV4"
2013-05-09 14:45:13 +02:00
Aleksander Morgado cba3f7db65 huawei: ignore ^HCSQ unsolicited messages
Newer Huawei modems use ^HCSQ to report per-interface signal quality values,
but we don't know yet what each field means for each technology, so just ignore
them for now.

E.g.:
    ^HCSQ: "GSM", 53
    ^HCSQ: "WCDMA", 26, 24, 43
    ^HCSQ: "LTE", 40, 28, 216, 14

We also don't use this message to update current access technology information,
as it is not detailed enough (e.g. WCDMA doesn't specify whether it's plain UMTS
or HSDPA or HSPA+...)
2013-05-09 14:45:12 +02:00
Aleksander Morgado d169c99dc9 novatel: skip $NWDMAT if the modem has QMI ports 2013-05-07 18:49:57 +02:00
Aleksander Morgado 2c83334c25 novatel: allow QMI-powered modems 2013-05-07 09:11:28 +02:00
Aleksander Morgado 031657cea5 novatel: don't filter out the USB551L
We filter the E362 because it's managed by the Novatel LTE plugin. If we also
filter out the USB551L, but it's not explicitly grabbed by any other plugin, it
will default to the Generic one.
2013-05-07 09:08:17 +02:00
Aleksander Morgado 76d97c6334 novatel: don't explicitly filter by drivers
No real need to do it; the VID filter is already enough.
2013-05-07 09:05:49 +02:00
Aleksander Morgado 135bec690d sms: initialize the validity property when creating SMS 2013-04-25 19:05:04 +02:00
Aleksander Morgado 456a4289b7 libmm-glib: handle relative validity in the MMSmsProperties 2013-04-25 19:04:35 +02:00
Aleksander Morgado cebe828f7f huawei: only expect custom inits to be run on tty ports 2013-04-25 10:34:19 +02:00
Aleksander Morgado 99a8dcce2c zte: ensure error is set when +ZSNT response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado a32eef3434 x22x: ensure error is set when +SYSSEL response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado 77d096bdac sierra: ensure error is set when !SELRAT response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado 52fd67e365 novatel: ensure error is set when $NWRAT response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado 2e6ba7cd09 huawei: ensure error is set when ^CPIN response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado 40dc35a657 modem-helpers: ensure error is set when +CRM response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado b017064a58 altair-lte: minor coding style fixes 2013-04-24 23:06:41 +02:00
Aleksander Morgado 126d89b2f3 x22x: fix regex when parsing +SYSSEL response
The numbers reported by +SYSSEL may have more than one digit, e.g.:
  +SYSSEL: 14,2,0,0

https://bugzilla.gnome.org/show_bug.cgi?id=698774
2013-04-24 22:48:18 +02:00
Aleksander Morgado aa4fd7c421 broadband-modem-mbim: don't make no-SIM errors directly fatal, retry instead
The MC7710 will report a MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED status
when initializing and the SIM is not ready yet. So retry a couple of times as we
do for MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED. If all retries are consumed,
get the last reported status to build the error.

This change makes all modems without SIM require up to 10s to get fully
initialized and exposed in DBus; but it shouldn't be a big deal as the modems
are unusable anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=698264
2013-04-19 09:37:20 +02:00
Aleksander Morgado 7d668eb407 iface-modem: for multimode 3GPP+3GPP2 devices, check if SIM is available
If SIM is not available, no 3GPP caps in current caps.
2013-04-18 18:47:25 +02:00
Aleksander Morgado 4f3932cb2b iface-modem: ignore SIM errors in 3GPP2-capable devices
We already fully skipped SIM unlock check in 3GPP2-only devices; now we also
ignore SIM errors if the device is a 3GPP+3GPP2 device.
2013-04-18 18:47:25 +02:00
Aleksander Morgado 3cb639a6bb plugin-manager: handle race condition during probing
The specific case:
 * Modem exposes cdc-wdm port, Generic plugin probes it successfully as QMI.
 * Modem exposes new ports, including the wwan one. All ttys fail probing
   because they're neither AT nor QCDM (CnS in this case).
 * The wwan port ends up without a port being suggested and is not grabbed.

The root cause of this is that we do not propagate the suggested plugin to newly
added ports when it's the Generic one. If it wasn't the Generic one, the newly
added ports would start with the suggested one for probing.

Now, handle this by looking for the device-specified plugin when the port
probing ends without a specific port given. If there is such a device-specified
plugin accept the port, and otherwise, reject it.
2013-04-18 16:46:47 +02:00
Aleksander Morgado 95274bfa23 sms-part: check UDH length vs available size before trying to read it
https://bugzilla.gnome.org/show_bug.cgi?id=698246
2013-04-18 14:43:37 +02:00
Aleksander Morgado b95dc3f2f5 mbm: allow MBIM devices 2013-04-17 19:15:24 +02:00
Aleksander Morgado 0e60d964b3 build: MBIM support is auto
Use it if found, don't use it if not found.

Can be explicitly requested with --with-mbim.
2013-04-17 15:34:23 +02:00
Aleksander Morgado f8e7f2ebe1 device: look for vendor/product ID on the grandparent for MBIM devices 2013-04-17 15:23:24 +02:00
Aleksander Morgado 56387bb79c sierra: allow MBIM modems handled by the plugin 2013-04-17 15:19:50 +02:00
Aleksander Morgado 99694dec93 bearer-mbim: handle static IP configuration 2013-04-17 15:19:50 +02:00
Aleksander Morgado 91e4c9832a bearer-mbim: update connection timeout values 2013-04-17 15:19:50 +02:00
Aleksander Morgado 07d4aa9938 bearer-mbim: activate packet service during connection request 2013-04-17 15:19:50 +02:00
Aleksander Morgado 6cbb3e9fc9 bearer-mbim: no auth protocol if neither user nor password given 2013-04-17 15:19:50 +02:00
Aleksander Morgado a9f20e90be bearer-mbim: implement bearer disconnection 2013-04-17 15:19:50 +02:00
Aleksander Morgado 032911ec20 bearer-mbim: gather a unique session id in the [0,255] range 2013-04-17 15:19:41 +02:00
Aleksander Morgado 4609f708b8 bearer-mbim: implement bearer connection 2013-04-17 15:19:41 +02:00
Aleksander Morgado 3c4a26cb91 bearer-mbim: log available provisioned contexts during connection 2013-04-17 15:19:41 +02:00
Aleksander Morgado 0e9a0eb4c7 broadband-modem-mbim: implement access technologies updates 2013-04-17 15:19:41 +02:00
Aleksander Morgado 6b5dd6af51 broadband-modem-mbim: add TODO about the network scan 2013-04-17 15:19:41 +02:00
Aleksander Morgado 854c371c8a broadband-modem-mbim: implement 3GPP registration request 2013-04-17 15:19:41 +02:00
Aleksander Morgado c7f3d33b3e api,errors: define new GPRS related errors 2013-04-17 15:19:41 +02:00
Aleksander Morgado 9cdd8c901d broadband-modem-mbim: implement 3GPP registration logic 2013-04-17 15:19:41 +02:00
Aleksander Morgado 6333b239ff sim-mbim: add TODO about the home provider info 2013-04-17 15:19:41 +02:00
Aleksander Morgado 916dc3466f broadband-modem-mbim: implement signal quality updates 2013-04-17 15:19:40 +02:00
Aleksander Morgado 10f2cdebcb broadband-modem-mbim: process signal state indications 2013-04-17 15:19:40 +02:00
Aleksander Morgado 6b827cc7a3 broadband-modem-mbim: implement 3GPP unsolicited messages setup/cleanup 2013-04-17 15:19:40 +02:00
Aleksander Morgado 3e758d5394 broadband-modem-mbim: implement enabled facility locks loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado 115bf6c077 broadband-modem-mbim: implement IMEI loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado e878a8ef06 broadband-modem-mbim: implement the 3GPP interface 2013-04-17 15:19:40 +02:00
Aleksander Morgado bb9031ed38 broadband-modem-mbim: build fake manufacturer and model strings 2013-04-17 15:19:40 +02:00
Aleksander Morgado 45ae6dd672 broadband-modem-mbim: implement power up/down 2013-04-17 15:19:40 +02:00
Aleksander Morgado 9504cb9339 broadband-modem-mbim: simplify power state loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado f6958bb362 broadband-modem-mbim,sim-mbim: update message creator/parser names
Sync with libmbim commit:
    commit b73673bf30a82e95819deb17296c9234399f0795
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Thu Apr 11 20:07:12 2013 +0200

        mbim-codegen: properly define the 4 types of messages that we may have
2013-04-17 15:19:40 +02:00
Aleksander Morgado 67c322361e broadband-modem-mbim: implement own numbers loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado 04d515497d sim-mbim: implement SIM identifier and IMSI loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado 6024142fac sim-mbim: these modems don't allow to enable/disable/change PIN if locked 2013-04-17 15:19:40 +02:00
Aleksander Morgado cd610fb620 sim-mbim: implement PIN changing 2013-04-17 15:19:39 +02:00
Aleksander Morgado ef7e6a14f0 broadband-modem-mbim: check SIM status with 'Subscriber Ready Status' 2013-04-17 15:19:39 +02:00
Aleksander Morgado 659d942c33 mbim-port: make port closing async always
Don't just close the port and forget, really wait to get the CLOSE response
before going on.
2013-04-17 15:19:39 +02:00
Aleksander Morgado d1d5616ca5 sim-mbim: implement PIN enabling/disabling 2013-04-17 15:19:39 +02:00
Aleksander Morgado c67fa3459b broadband-modem-mbim,sim-mbim: consider MBIM result errors 2013-04-17 15:19:39 +02:00
Aleksander Morgado 8a8dc23f50 sim-mbim: implement PUK unlocking 2013-04-17 15:19:39 +02:00
Aleksander Morgado abd22dacfb broadband-modem-mbim: don't cache remaining attempts, just requery
There are many more places where we reload remaining attempts, not just after
querying initial lock status. So re-query to get the most up to date info.
2013-04-17 15:19:39 +02:00
Aleksander Morgado b8904b3b52 mbim-port: no longer needed to request next transaction ID
Already handled by the MbimDevice if none given.
2013-04-17 15:19:39 +02:00
Aleksander Morgado 8232d023c1 port-probe: delay 3s MBIM probing 2013-04-17 15:19:39 +02:00
Aleksander Morgado 968c2e360a sim-mbim: implement PIN unlocking 2013-04-17 15:19:39 +02:00
Aleksander Morgado cc76e7a41c broadband-modem-mbim: sync with libmbim 'input-parameters' branch 2013-04-17 15:19:39 +02:00
Aleksander Morgado df4cd12fef broadband-modem-mbim: implement initial power state loading 2013-04-17 15:19:39 +02:00
Aleksander Morgado deb9f21a66 broadband-modem-mbim: implement unlock required & retries loading 2013-04-17 15:19:39 +02:00
Aleksander Morgado affe2fdeeb broadband-modem-mbim: disable unneeded steps 2013-04-17 15:19:38 +02:00
Aleksander Morgado 14a03848ce broadband-modem-mbim: implement supported modes loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado 6ebda738f4 broadband-modem-mbim: implement device identifier loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado 6b379e525d plugin: limit cdc-wdm port probing types depending on the available drivers
We'll use the given device drivers as a hint of what we can or should probe.
2013-04-17 15:19:38 +02:00
Aleksander Morgado 00ec505e74 broadband-modem-mbim: implement equipment id loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado 3b8c9a0e2d broadband-modem-mbim: implement revision string loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado 211803f886 broadband-modem-mbim: implement current capabilities loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado 07f39cc29f mbim-port: provide access to the internal MbimDevice 2013-04-17 15:19:38 +02:00
Aleksander Morgado 12d6e59c86 log: enable MBIM traces if running in debug mode 2013-04-17 15:19:38 +02:00
Aleksander Morgado cbee87f2f5 iface-modem: let the MBIM port be the primary one 2013-04-17 15:19:38 +02:00
Aleksander Morgado 76ed80e1c9 generic: allow MBIM devices 2013-04-17 15:19:38 +02:00
Aleksander Morgado 2e4a83628a huawei: allow MBIM devices 2013-04-17 15:19:38 +02:00
Aleksander Morgado e476c1c67b mbim: add initial MBIM support skeleton 2013-04-17 15:19:37 +02:00
Aleksander Morgado a0ced36f14 base-modem: allow grabbing MBIM ports 2013-04-17 15:19:37 +02:00
Aleksander Morgado cb45de048f plugin: allow plugins to require MBIM probing of cdc-wdm ports 2013-04-17 15:19:37 +02:00
Aleksander Morgado 3d2c0cc83c port-probe: include MBIM port probing logic 2013-04-17 15:19:37 +02:00
Aleksander Morgado dd5680debe build: new '--with-mbim' configure switch
Will enable MBIM support through libmbim.
2013-04-17 15:19:37 +02:00
Aleksander Morgado d3831fc641 serial greylist: tag device from Netchip Technology 2013-04-16 14:42:28 +02:00
Aleksander Morgado 7244167761 serial greylist: fix udev tag name for Arduino devices 2013-04-16 14:42:21 +02:00
Aleksander Morgado 3c1e77d789 sim: fix signal emission
Signal should be emitted by the SIM object, not by the Modem object.
2013-04-11 19:21:56 +02:00