diff options
author | Dan Williams <dcbw@redhat.com> | 2013-04-17 14:56:11 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2013-04-18 09:34:21 -0500 |
commit | 4d4d6141388e2eca8acdc8efaf3ee0b5e2a09ebb (patch) | |
tree | efd170952c4a076e9f7ebaf89bb336bb69261e12 /src/mm-plugin-manager.c | |
parent | 95274bfa2327a5fec59db33ca94463f4f9baff9c (diff) |
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.
Diffstat (limited to 'src/mm-plugin-manager.c')
0 files changed, 0 insertions, 0 deletions