Commit Graph

193 Commits

Author SHA1 Message Date
Aleksander Morgado
080d046e64 iface-modem: load allowed/preferred modes during modem enabling 2012-03-16 14:28:15 +01:00
Aleksander Morgado
3595b33648 iface-modem: load current bands during modem enabling 2012-03-16 14:28:13 +01:00
Aleksander Morgado
09d2f062c7 api,dbus: rename AllowedBands' to just Bands'
ModemManager will load:
  1) The list of supported bands. Note that this doesn't mean that any possible
     combination of bands is supported, as modems may support only specific
     combinations, but at least gives a rough idea of what the modem is capable
     of handling.

  2) The list of CURRENT bands. There is no such "Allowed" bands, as we do with
     modes, modems will have a specific set of bands being currently used, which
     will be reported in the `Bands' property.

If the modem allows modifying the list of bands to use, this can be done with
the `SetBands()' method. If the modem doesn't support using a specific
combination of bands, this method will report an error.
2012-03-16 14:28:13 +01:00
Aleksander Morgado
dc1df5bf2f iface-modem-simple: SIM-PIN2 locking does not prevent from connecting 2012-03-15 14:15:06 +01:00
Nathan Williams
3c41ce5d8b api,dbus: new `Command' method in the API to send arbitrary AT commands
BUG=chromium-os:25348
TEST="mmcli -m 0 --command='E0'"
Change-Id: I320587560fde5780f9d5a4998e32364d36a71ed7
2012-03-15 14:15:06 +01:00
Aleksander Morgado
21a722b616 core: don't pass primary port to interface initializations
They will all get it themselves.
2012-03-15 14:15:05 +01:00
Aleksander Morgado
a1dc38360c iface-modem: don't force port closing here, it breaks the open/close count 2012-03-15 14:15:02 +01:00
Aleksander Morgado
214a146a28 iface-modem: simplify disabling sequence
Avoid the _ready() function generator macro, not really needed here.
2012-03-15 14:15:02 +01:00
Aleksander Morgado
cd5e9c27a3 broadband-modem: if locked, don't try to initialize remaining interfaces
Whenever we get unlocked, the modem initialization sequence will be run again.
2012-03-15 14:14:59 +01:00
Aleksander Morgado
8321bd5875 iface-modem: periodically request to update current access technologies 2012-03-15 14:14:56 +01:00
Aleksander Morgado
65455558be iface-modem: s/access_tech/access_technologies 2012-03-15 14:14:56 +01:00
Aleksander Morgado
4aeadbb776 iface-modem: proper fallback state when bearer connection fails 2012-03-15 14:14:55 +01:00
Aleksander Morgado
7e36f04b37 core: use new enums/flags string getters/builders 2012-03-15 14:14:52 +01:00
Aleksander Morgado
f07101943c iface-modem-simple: new connection logic when more than one bearer around
For mixed 3GPP+CDMA modems, we first try to connect the 3GPP bearers, and then
the CDMA ones.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
0b8d0c697d iface-modem: get consolidated state from all subsystems
We don't want, e.g.,  REGISTERED->ENABLED transitions when 3GPP gets
unregistered but we're still registered in CDMA.
2012-03-15 14:14:46 +01:00
Aleksander Morgado
cb2612d0ce iface-modem: fix signal quality context creation 2012-03-15 14:14:44 +01:00
Aleksander Morgado
5edb863ede iface-modem: make old compilers happy 2012-03-15 14:14:44 +01:00
Aleksander Morgado
ee07cc51ea iface-modem: fix checks for single technology capabilities 2012-03-15 14:14:44 +01:00
Aleksander Morgado
8610fd47b3 iface-modem: plug small leak 2012-03-15 14:14:44 +01:00
Aleksander Morgado
ffae95a46b iface-modem: new helpers to check if modem has LTE capabilities 2012-03-15 14:14:43 +01:00
Aleksander Morgado
d5af2286e2 iface-modem-3gpp: indicators and unsolicited events are 3GPP-specific
Moved code from the Modem interface, as this is really 3GPP-specific
2012-03-15 14:14:43 +01:00
Aleksander Morgado
bda0d0c1d4 iface-modem: allow implementations to return no SIM and no error
That would mean that the implementation doesn't want to handle a SIM object
around, maybe because it doesn't support it properly, or because there is
no SIM at all (e.g. CDMA-only modems).
2012-03-15 14:14:42 +01:00
Aleksander Morgado
021ff8a35b iface-modem: open/close secondary AT/QCDM ports during enable/disable 2012-03-15 14:14:42 +01:00
Aleksander Morgado
be7cee24f3 iface-modem: place all tags/quarks handled together 2012-03-15 14:14:42 +01:00
Aleksander Morgado
0f7716887c iface-modem: new methods to check for specific capabilities being supported 2012-03-15 14:14:42 +01:00
Aleksander Morgado
ba5321adf1 iface-modem: let different SIM object creation implementations
We let objects implementing the Modem interface to provide their own SIM
creation method. This allows plugins to subclass MMSim themselves.
2012-03-15 14:14:41 +01:00
Aleksander Morgado
bf69930ede iface-modem: ensure initial allowed modes is a subset of supported modes
Also make loading supported modes a mandatory method that must be provided by
objects implementing the Modem interface.
2012-03-15 14:14:41 +01:00
Aleksander Morgado
6002ad1b70 iface-modem: run checks when trying to set allowed bands
Allowed bands must be a subset of the supported bands.
2012-03-15 14:14:41 +01:00
Aleksander Morgado
1be7c27453 iface-modem: run checks when trying to set allowed modes
Allowed modes being set must be a subset of Supported modes.
Preferred mode being set must be a subset of Allowed modes.
2012-03-15 14:14:41 +01:00
Aleksander Morgado
da9d070e8b iface-modem: don't run signal quality check if last update was less than 15s ago 2012-03-15 14:14:40 +01:00
Aleksander Morgado
73eeffbd5e iface-modem: handle struct signal quality check/update contexts as object data 2012-03-15 14:14:40 +01:00
Aleksander Morgado
953be3e81d iface-modem: new methods to setup/cleanup unsolicited result codes 2012-03-15 14:14:40 +01:00
Aleksander Morgado
b29acbb239 iface-modem: renamed modem_charset' to setup_charset'
And changed broadband modem accordingly.
2012-03-15 14:14:40 +01:00
Aleksander Morgado
7b506bc8a6 iface-modem: renamed modem_flow_control' to setup_flow_control'
Changed broadband modem and Cinterion plugin accordingly.
2012-03-15 14:14:40 +01:00
Aleksander Morgado
f0433a4dda iface-modem: setup periodic signal quality checks 2012-03-15 14:14:39 +01:00
Aleksander Morgado
0c009a2c4a iface-modem: implement property binding for the simple status 2012-03-15 14:14:39 +01:00
Aleksander Morgado
4ccc00fc6d iface-modem: return a MMBearer reference when creating a new bearer
Not just the bearer path.
2012-03-15 14:14:38 +01:00
Aleksander Morgado
93732cf075 bearers: base bearer creation in the new bearer properties object 2012-03-15 14:14:38 +01:00
Aleksander Morgado
9d7e3de4cd api: MMModemBand is now an enum, not flags
We don't want to handle bands as flags, in order to avoid the need of 64-bits
for the enum. This change implies that setting allowed bands will be done by
giving an array of uint32 values, signature "au".
2012-03-15 14:14:37 +01:00
Aleksander Morgado
5c74c53354 iface-modem: don't update access tech if it didn't change 2012-03-15 14:14:37 +01:00
Aleksander Morgado
c9c9421102 iface-modem: allow setting allowed modes and bands internally, not just via DBus 2012-03-15 14:14:36 +01:00
Aleksander Morgado
8a636f6b16 broadband-modem: handle state checks during Enable() and Disable()
Before it was done in the interface; but we should really be doing it in the
implementation; so that mm_base_modem_enable()/disable() also has the state
checks.
2012-03-15 14:14:36 +01:00
Aleksander Morgado
4495ba180e core: implement Access Technology reporting
For 3GPP modems only for now..
2012-03-15 14:14:35 +01:00
Aleksander Morgado
516b097331 api,enums: renamed MMModemAccessTech' to MMModemAccessTechnology'
This one was the last enum without full name.
2012-03-15 14:14:35 +01:00
Aleksander Morgado
e2e0812272 api,dbus: renamed AccessTechnology' to AccessTechnologies'
We are reporting a bitmask of flags, not just one value.
2012-03-15 14:14:35 +01:00
Aleksander Morgado
e71a9ef971 iface-modem: handle connection related states
Moved from broadband-modem. All this logic is really common not specific to the
generic implementation.
2012-03-15 14:14:35 +01:00
Aleksander Morgado
dd20067975 iface-modem: while connected, ignore registration state changes 2012-03-15 14:14:35 +01:00
Aleksander Morgado
cadc27ca0e core,libmm-glib: include ony `libmm-common.h'
Don't include one by one all the headers from libmm-common, just include the
global `libmm-common.h' which includes all the others.
2012-03-15 14:14:34 +01:00
Aleksander Morgado
c855e5be2d iface-modem: minor fix, remove unneeded variables in the initialization context 2012-03-15 14:14:34 +01:00
Aleksander Morgado
88077cbbe8 iface-modem: treat several SIM related errors as fatal
If the SIM is not inserted or the modem reports SIM failures, just abort the
initialization process. We don't want to export modems which cannot be used.

I know at least of one modem (wavecom) which supports SIM insertion while
connected, but being such a corner case, probably not worth supporting it.
2012-03-15 14:14:34 +01:00