summaryrefslogtreecommitdiff
path: root/src/mm-iface-modem.h
Commit message (Collapse)AuthorAgeFilesLines
* sim: rename 'MMSim' to 'MMBaseSim'aleksander/base-object-renamesAleksander Morgado2014-07-061-4/+4
| | | | Just so that we don't have same header names in src/ and /libmm-glib.
* bearer: rename 'MMBearer' to 'MMBaseBearer'Aleksander Morgado2014-07-061-11/+11
| | | | Just so that we don't have same header names in src/ and /libmm-glib.
* iface-modem: allow requesting the refresh of the access techAleksander Morgado2014-02-281-0/+3
| | | | | For periodic updates, we may want to request an explicit re-check at some point, instead of waiting for the next scheduled update.
* iface-modem: allow transitioning to the OFF power stateAleksander Morgado2014-02-201-0/+7
| | | | | | | | There are systems in which the modem power source can be controlled externally, e.g. to switch it on or off. In these cases, it is sometimes advisable to be able to tell the modem to cleanly shut off completely before the power is cut. So, allow transitioning to the OFF power state if the modem supports it, even if afterwards the modem could be completely unreachable.
* ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'Aleksander Morgado2014-02-131-1/+1
|
* altair-lte: add SIMREFRESH supportThieu Le2013-11-211-0/+4
| | | | | Register for SIMREFRESH event and reload own numbers and reregister modem with network when this happens.
* iface-modem: add mm_iface_modem_get_model helper to query modelBen Chan2013-08-141-0/+3
|
* api,introspection: new 'SetCurrentCapabilities' methodAleksander Morgado2013-06-051-0/+9
| | | | | For those modems which expose a valid 'SupportedCapabilities' property with more than one item in the list, we'll allow switching between them.
* api,introspection: rename 'ModemCapabilities' to 'SupportedCapabilities'Aleksander Morgado2013-06-051-7/+7
| | | | | | | | | | | | | | | And also make it a list of masks, specifying which are the specific combinations supported, not just one mask with all. E.g.: ------------------------- Hardware | manufacturer: 'Sierra Wireless, Incorporated' | model: 'MC7710' | revision: 'SWI9200X_03.05.19.04ap r5475 carmd-en-10527 2012/09/17 17:57:14' | supported: 'gsm-umts | gsm-umts, lte' | current: 'gsm-umts, lte' | equipment id: '358178040668164'
* api,introspection: merge 'AllowedModes' and 'SupportedMode' into 'CurrentModes'Aleksander Morgado2013-06-051-8/+8
| | | | | | | | We now have a single 'CurrentModes' property which contains both values in a tuple with signature "(uu)". Also, rename 'SetAllowedModes()' to 'SetCurrentModes()', and update the list of arguments expected to have a single "(uu)" tuple.
* api,introspection: 'SupportedModes' is now a list of possible combinationsAleksander Morgado2013-06-051-10/+9
| | | | | | | | | | | | | | | Instead of just a mask of MMModemMode values, we now provide a list of the allowed and preferred mode combinations supported by the modem. E.g.: $> sudo mmcli -m 0 ------------------------- Modes | supported: 'allowed: 2g; preferred: none | allowed: 3g; preferred: none | allowed: 2g, 3g; preferred: none | allowed: 2g, 3g; preferred: 2g | allowed: 2g, 3g; preferred: 3g | allowed: 4g; preferred: none | allowed: 2g, 3g, 4g; preferred: none'
* api,instrospection: rename 'Bands' to 'CurrentBands'Aleksander Morgado2013-06-051-15/+15
| | | | | | | ... and 'SetBands()' to 'SetCurrentBands()'. We'll keep the 'Current' keyword in those properties which also have 'Supported' values.
* api,introspection: new 'SupportedIpFamilies' propertyAleksander Morgado2013-06-051-0/+8
| | | | | This property will let the clients know which are the IP families supported by the modem.
* api: notify in the interface about the reason why the modem is FAILEDAleksander Morgado2013-02-221-0/+2
| | | | | We currently implement 'SIM missing' and 'SIM error', which are probably the most common ones.
* ports: add port initialization sequences instead of iface-modem's modem_init()Aleksander Morgado2013-02-181-8/+0
| | | | | | | | | Instead of a custom modem_init() step in the 'Modem' interface, just add a sequence of port initialization commands in each port. While enabling for the first time a non-hotplugged modem, we will issue the port initialization commands only after having run the enabling_modem_init() step (i.e. after ATZ usually).
* core,plugins: remove initial power down sequenceAleksander Morgado2013-01-111-8/+0
| | | | | We no longer power down the modem during initialization, so remove that implementation.
* iface-modem: implement power mode loading and settingAleksander Morgado2013-01-111-0/+17
|
* iface-modem,sim: improve lock info update logicAleksander Morgado2013-01-081-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | The logic to handle the lock information (current lock and unlock retry count) wasn't handling all possible cases properly, e.g.: * When PIN is incorrectly entered too many times, a SIM-PUK error may happen. In this case we need to directly assume SIM-PUK is the current lock (some modems, like Option HSO ones, would incorrectly reply SIM-PIN if CPIN? asked just after the SIM-PUK error). * After every operation acting in SIM locks, we need to update the current unlock retry count. This change tries to cover those cases, by: * The logic to check current lock is extended to also load the unlock retry count when needed. * Whenever a SIM-PUK error happens in the SIM operations, we directly assume that SIM-PUK is required, without re-asking CPIN?. * The overall logic of lock checking is now handled by a state machine, which is much easier to understand.
* iface-modem, novatel-lte: disable network scan in LTE modeBen Chan2013-01-041-0/+3
|
* iface-modem: new helper method to wait until a final state is reachedAleksander Morgado2012-10-301-0/+9
|
* libmm-glib: remove the `libmm-common.h' headerAleksander Morgado2012-10-041-1/+2
| | | | | | | | | | | | | Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only. We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI' symbols, which if included before the `libmm-glib.h' library allow us to: * Don't include the libmm-glib high level API in the ModemManager daemon, as the object names would clash with those in the core. * Define some of the methods of helper objects to be included only if compiling ModemManager daemon or the mmcli.
* iface-modem: ensure we're in low power mode when initializingAleksander Morgado2012-10-011-0/+8
| | | | | | | | | | | The power-down command defined by the plugin will be run *only* after having checked for current and modem capabilities, as plugins (e.g. Sierra) may have different commands for that depending on whether they are 3GPP or 3GPP2. We do not reuse the 'modem_power_down' callback from the disabling sequence, as some plugins really behave pretty badly with this (e.g. Samsung CFUN=4 may take up to 30s to complete). So, we let plugins use the power-down command when disabling but avoid launching it during init.
* iface-modem: new async method to be run just after the successful SIM unlockAleksander Morgado2012-07-221-0/+9
|
* iface-modem: new helpers to query supported modesAleksander Morgado2012-04-101-0/+9
|
* iface-modem: skip handling the CURRENT_CAPABILITIES propertyAleksander Morgado2012-04-101-14/+12
| | | | It is an unnecessary complication, as long as we can keep the helpers in the interface.
* iface-modem: let initialization and enabling sequences get cancelledAleksander Morgado2012-03-161-0/+2
|
* iface-modem: setup loading of own numbers during the initialization phaseAleksander Morgado2012-03-161-0/+8
|
* libmm-common: `MMSimpleStatus' won't be considered internal any moreAleksander Morgado2012-03-161-1/+1
| | | | | | Renamed `MMCommonSimpleProperties' to `MMSimpleStatus', and removed the `MMSimpleStatusProperties' provided in libmm-glib. We'll just use the original one from libmm-common always.
* libmm-common: `MMBearerProperties' won't be considered internal any moreAleksander Morgado2012-03-161-2/+2
| | | | | | Renamed `MMCommonBearerProperties' to `MMBearerProperties', and removed the `MMBearerProperties' provided in libmm-glib. We'll just use the original one from libmm-common always.
* api: `UnlockRetries' will reply a list of per-lock retry countsAleksander Morgado2012-03-161-3/+13
| | | | | | Equivalent to `PinRetryCount' in the previous API. We don't have an additional property for the retry count of the current lock, as it really is duplicating information.
* core: remove uses of `MMModemStateReason'Aleksander Morgado2012-03-161-2/+2
| | | | Use `MMModemStateChangeReason' instead.
* iface-modem: load allowed/preferred modes during modem enablingAleksander Morgado2012-03-161-0/+10
|
* iface-modem: load current bands during modem enablingAleksander Morgado2012-03-161-0/+8
|
* api,dbus: rename `AllowedBands' to just `Bands'Aleksander Morgado2012-03-161-15/+15
| | | | | | | | | | | | | | | | 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.
* api,dbus: new `Command' method in the API to send arbitrary AT commandsNathan Williams2012-03-151-0/+10
| | | | | | BUG=chromium-os:25348 TEST="mmcli -m 0 --command='E0'" Change-Id: I320587560fde5780f9d5a4998e32364d36a71ed7
* core: don't pass primary port to interface initializationsAleksander Morgado2012-03-151-1/+0
| | | | They will all get it themselves.
* iface-modem: periodically request to update current access technologiesAleksander Morgado2012-03-151-0/+10
|
* iface-modem: s/access_tech/access_technologiesAleksander Morgado2012-03-151-3/+3
|
* iface-modem-simple: new connection logic when more than one bearer aroundAleksander Morgado2012-03-151-1/+0
| | | | | For mixed 3GPP+CDMA modems, we first try to connect the 3GPP bearers, and then the CDMA ones.
* iface-modem: get consolidated state from all subsystemsAleksander Morgado2012-03-151-0/+4
| | | | | We don't want, e.g., REGISTERED->ENABLED transitions when 3GPP gets unregistered but we're still registered in CDMA.
* iface-modem: new helpers to check if modem has LTE capabilitiesAleksander Morgado2012-03-151-0/+2
|
* iface-modem-3gpp: indicators and unsolicited events are 3GPP-specificAleksander Morgado2012-03-151-24/+0
| | | | Moved code from the Modem interface, as this is really 3GPP-specific
* iface-modem: new methods to check for specific capabilities being supportedAleksander Morgado2012-03-151-0/+5
|
* iface-modem: let different SIM object creation implementationsAleksander Morgado2012-03-151-0/+9
| | | | | We let objects implementing the Modem interface to provide their own SIM creation method. This allows plugins to subclass MMSim themselves.
* iface-modem: new methods to setup/cleanup unsolicited result codesAleksander Morgado2012-03-151-0/+24
|
* iface-modem: renamed `modem_charset' to `setup_charset'Aleksander Morgado2012-03-151-2/+2
| | | | And changed broadband modem accordingly.
* iface-modem: renamed `modem_flow_control' to `setup_flow_control'Aleksander Morgado2012-03-151-2/+2
| | | | Changed broadband modem and Cinterion plugin accordingly.
* iface-modem: setup periodic signal quality checksAleksander Morgado2012-03-151-1/+4
|
* iface-modem: implement property binding for the simple statusAleksander Morgado2012-03-151-0/+3
|
* iface-modem: return a MMBearer reference when creating a new bearerAleksander Morgado2012-03-151-7/+8
| | | | Not just the bearer path.