Commit Graph
71 Commits
Author SHA1 Message Date
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
Aleksander Morgado 776cc66e2c iface-modem: implement all bearer list operations in the interface
Bearer list operations, except for Bearer creation, are so generic that the
interface itself can implement it for every object implementing the interface.
This implementation is based on a new MMBearerList object.
2012-03-15 14:14:33 +01:00
Aleksander Morgado 8725fe5346 iface-modem: bind connection property right away 2012-03-15 14:14:32 +01:00
Aleksander Morgado fb90f205d1 core: port to use the new AT command/sequences in the MMBaseModem API 2012-03-15 14:14:31 +01:00
Aleksander Morgado 2be2288754 iface-modem: handle CreateBearer(), DeleteBearer() and ListBearers()
Just pass the task to the specific underlying implementation.
2012-03-15 14:14:31 +01:00
Aleksander Morgado 289057bf92 iface-modem: don't flash port during disable
At least just for now. Flashing should be done as part of the disconnection.
2012-03-15 14:14:31 +01:00
Aleksander Morgado 0076106c90 iface-modem: don't report LOCKED state if SIM PIN2/PUK2
If unlock required reports needing SIM PIN2 or PUK2, don't report LOCKED state,
as the device is fully operational without it.
2012-03-15 14:14:30 +01:00
Aleksander Morgado 670e2dcdc9 iface-modem: launch reinitialization only when going from LOCKED to DISABLED 2012-03-15 14:14:30 +01:00
Aleksander Morgado b31ad37670 iface-modem: allow changing the State from outside the interface
Some states need to be set from outside the scope of the Modem interface, like
Registration-related ones (REGISTERED, SEARCHING, ...) or Connection-related
ones (CONNECTED, ...).
2012-03-15 14:14:29 +01:00
Aleksander Morgado 829b79eff4 iface-modem: complete the result before freeing init context 2012-03-15 14:14:28 +01:00
Aleksander Morgado 78d788d4dc iface-modem: avoid inner async operation during initialization 2012-03-15 14:14:28 +01:00
Aleksander Morgado acc3e3f6da core: always pass open port to interface initializations
When the first AT port is grabbed, modem initialization is launched, using that
specific port. This port is also passed to all interface initialization methods.
2012-03-15 14:14:28 +01:00
Aleksander Morgado b9448b83cb iface-modem: simplify interface handling
Interfaces won't have a 'status', just initialize(), enable(), disable() and
shutdown().

Also, shutdown() should never fail. We will take care of cancelling any ongoing
operation afterwards, before calling shutdown().
2012-03-15 14:14:28 +01:00
Aleksander Morgado 27494eae51 iface-modem: handle Enable() calls 2012-03-15 14:14:28 +01:00
Aleksander Morgado 8b1515b2a0 iface-modem: close primary port during disable 2012-03-15 14:14:27 +01:00
Aleksander Morgado 589c6419d2 iface-modem: send power-down command during disable 2012-03-15 14:14:27 +01:00
Aleksander Morgado 5e3ad0fe58 iface-modem: flash primary port during disable 2012-03-15 14:14:27 +01:00
Aleksander Morgado f3b6bfeb8f iface-modem: interface can be disabled
The Modem interface can be disabled, going from enabled back to initialized. The
disabling process will include closing the ports opened during the enabling.
2012-03-15 14:14:27 +01:00
Aleksander Morgado 781c1821fd iface-modem: setup modem charset configuration during enable
Load supported charsets, and loop trying to set the best one.
2012-03-15 14:14:27 +01:00
Aleksander Morgado c0d3bd944c iface-modem: send flow control setup commands during enable 2012-03-15 14:14:27 +01:00
Aleksander Morgado 7fa372d118 iface-modem: allow plugins to send custom commands after power-up
Just after powering up the modem, plugins can run additional setup commands
themselves, in a new "after" power-up step.
2012-03-15 14:14:27 +01:00
Aleksander Morgado 0adbd8edad iface-modem: send power-up commands during enable 2012-03-15 14:14:27 +01:00
Aleksander Morgado b948c93e59 iface-modem: send modem initialization commands during enable 2012-03-15 14:14:26 +01:00