Commit Graph
2032 Commits
Author SHA1 Message Date
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
Dan Williams 4d4d614138 broadband-modem: read current capabilities via QCDM if available (bgo #698229)
Many multi-mode Qualcomm devices report all available modes in their
AT+GCAP response (for example, CDMA/EVDO and GSM/UMTS) but they cannot
actually function in all these modes at the same time.  The modem's
actual current capabilities are expressed by the QCDM NV ModePref
item, which is not reflected in the AT+GCAP response.

Reading the current capabilities from the NV ModePref item ensures
that ModemManager does not create interfaces for the modem which
the modem cannot actually implement.

Because the generic modem plugin does not implement the Modem
Capabilities hook (because there is no standard way to determine
what access technologies a modem supports), the Current Capabilities
are copied to the Modem Capabilities.  For devices that support
QCDM this means that Modem Capabilies which used to be created from
the GCAP response and thus would contain all available capabilities
now contain only current capabilities.  This isn't a problem though
since there was no way to switch the devices to use any of their
other capabilities, becuase there aren't any standard commands for
it.  Plugins that know how to switch their modem's capabilities
should (and they already do) override load_current_capabilities
and load_modem_capabilities to get the correct information.
2013-04-18 09:34:21 -05: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 f8e7f2ebe1 device: look for vendor/product ID on the grandparent for MBIM devices 2013-04-17 15:23:24 +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 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