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