aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-30quectel: Add port type hints for BG96Sven Schwermer
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2019-10-30quectel: Fix port type hints for EG91Sven Schwermer
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2019-10-28libmm-glib,pco: deprecate mm_pco_list_free()Aleksander Morgado
Use g_list_free_full() using g_object_unref() as #GDestroyNotify function instead.
2019-10-28libmm-glib: flag as (skip) all non-API methodsAleksander Morgado
So that the GI scanner ignores them.
2019-10-28simple-status: deprecate 'subscription state' propertyAleksander Morgado
This property was already deprecated in libmm-glib and removed from the daemon in 1.10, so the counterpart property in MMSimpleStatus should also be deprecated.
2019-10-28libmm-glib: remove unused _dup() methodsAleksander Morgado
2019-10-28api,voice: CreateCall() expects only the 'number' propertyAleksander Morgado
There is absolutely no reason to provide any other property when the user creates a new call.
2019-10-28docs,libmm-glib: provide per-version indicesAleksander Morgado
2019-10-28docs,api: rework how indices are exposed in docsAleksander Morgado
Use <chapter> so that all per-version indices are included in the docs.
2019-10-27libmm-glib,pco: mm_pco_list_add() is not part of the APIAleksander Morgado
This method is used by the daemon to modify the GList of MMPco objects, the client should not need to use this method for anything.
2019-10-27libmm-glib,location: fix 'unknown' lat/long/alt numeric valuesAleksander Morgado
G_MINDOUBLE is 0.0, which is a valid altitude, latitude, and longitude. Change the 'unknown' location values to -G_MAXDOUBLE instead, which is a completely invalid value in all cases. This is strictly an ABI break, but it's also true that until now the methods returning these 'unknown' values could also return valid 0.0 values that would have been detected as 'unknown' by the caller. So, just stop this madness and don't consider this any ABI break. This is the same thing we had to do with MM_SIGNAL_UNKNOWN in fe66bdf65e57fa7dee3dcb8dea068fb3fc7aec34.
2019-10-27cli,output: fix truncated array output when == 10 elementsAleksander Morgado
The extra character size was only being applied when > 10 elements, leaving the == 10 case out of it, so the output was being truncated. Fix it, by using a more generic way to computing how many extra characters we need in the size. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/151
2019-10-24docs,libmm-glib: add missing references to the 'emergency numbers' property ↵Aleksander Morgado
methods
2019-10-24api,compat: fix warnings during doc buildAleksander Morgado
We just move the MM_DISABLE_DEPRECATED check to after the MM_DEPRECATED symbol definition, because gtkdoc-scan gets pretty confused, likely due to the symbol ending with the "_DEPRECATED" suffix. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/91
2019-10-24docs,api: add missing reference to ID_MM_PORT_TYPE_AUDIOAleksander Morgado
2019-10-24docs,api: provide per-version indicesAleksander Morgado
2019-10-24introspection,firmware: avoid <term> in <para>Aleksander Morgado
DOC Building HTML Element term in namespace '' encountered in para, but no template matches. DOC Fixing cross-references
2019-10-24introspection,voice: untabifyAleksander Morgado
2019-10-24introspection,sim: untabifyAleksander Morgado
2019-10-21telit: increase timeout for AT#REBOOTKrzysztof Drobinski
It was observed that sporadically it may take more than 5 seconds for modem to respond to AT#REBOOT. Increase the timeout on AT command to not report unnecessary errors to the user.
2019-10-17base-call: if start() fails, always terminatedAleksander Morgado
2019-10-17call: disallow non-emergency calls when in emergency-only stateAleksander Morgado
2019-10-17sim: load emergency numbers from EF_ECCAleksander Morgado
2019-10-17api,sim: new 'Emergency Numbers' propertyAleksander Morgado
2019-10-17cinterion: don't cache voice support check AT commandsAleksander Morgado
The result of these commands may be different before and after SIM-PIN unlock, so never cache them.
2019-10-17iface-modem-voice: always completely reinitialize the interfaceAleksander Morgado
The supported voice features may be different before and after SIM-PIN unlock, so do not cache the result of the support check operation.
2019-10-17broadband-modem: don't cache voice support check AT commandsAleksander Morgado
The result of these commands may be different before and after SIM-PIN unlock, so never cache them.
2019-10-17broadband-modem: ignore SIM-related errors in voice support checkAleksander Morgado
2019-10-17base-call: catch terminated errors before ATD repliesAleksander Morgado
If we get one of the in-call termination errors before ATD replies OK, we need to cancel the start() operation right away and return an error to the caller. Otherwise, the Call will be reported as "terminated" right away, but the caller would not get an error back until 90s later: $ sudo mmcli --call 0 --start error: couldn't start the call: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.ResponseTimeout: Serial command timed out'
2019-10-17broadband-modem: keep ports context open while in-callAleksander Morgado
This is so that we can receive and process URCs even if the modem is not fully enabled yet.
2019-10-17broadband-modem: reorder generic port context logic in sourcesAleksander Morgado
2019-10-17broadband-modem: new generic ports_context_open()Aleksander Morgado
Used during initialization, enabling and sim hotswap context setup. The secondary AT and QCDM ports will only be open during enabling.
2019-10-17broadband-modem: skip redundant ATE0/AT+CMEE=1 settingsAleksander Morgado
These are already given in the logic behind the "MM_PORT_SERIAL_AT_INIT_SEQUENCE" property: (ttyACM1): --> 'ATE0<CR>' (ttyACM1): <-- '<CR><LF>OK<CR><LF>' (ttyACM1): --> 'ATV1<CR>' (ttyACM1): <-- '<CR><LF>OK<CR><LF>' (ttyACM1): --> 'AT+CMEE=1<CR>' (ttyACM1): <-- '<CR><LF>OK<CR><LF>' (ttyACM1): --> 'ATX4<CR>' (ttyACM1): <-- '<CR><LF>OK<CR><LF>' (ttyACM1): --> 'AT&C1<CR>' (ttyACM1): <-- '<CR><LF>OK<CR><LF>' (ttyACM1): --> 'ATE0<CR>' --> redundant (ttyACM1): <-- '<CR><LF>OK<CR><LF>' (ttyACM1): --> 'AT+CMEE=1<CR>' --> redundant (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
2019-10-17voice,api: new 'EmergencyOnly' boolean flagAleksander Morgado
This new flag allows users of the API to know whether general purpose voice calls are allowed or otherwise only voice calls to the registered emergency numbers should be performed. ModemManager won't really do any distinction between emergency and non-emergency calls at this point, this flag is just an early indication for the user of the API that no normal voice call should be attempted.
2019-10-17iface-modem-voice: all methods available even if not enabledAleksander Morgado
2019-10-17iface-modem-voice: call list setup during initializationAleksander Morgado
We're going to allow emergency calls at any point, so prepare the call list handling logic during initialization, not when the modem is first enabled.
2019-10-17broadband-modem: voice interface available in failed/locked stateAleksander Morgado
2019-10-17broadband-modem: new initialization step when failed/lockedAleksander Morgado
Instead of using the firmware step as fallback when the modem goes into failed or locked state, use an independent step in the initialization state machine, just to make it clearer.
2019-10-17iface-modem-simple: allow single ongoing Connect() attemptAleksander Morgado
We only allow one single Simple.Connect() attempt at a time. If more than one arrives, the second and next ones will be forbidden. The ongoing connection attempt can now always be cancelled via Simple.Disconnect(), not only *after* the bearer object connection has started. i.e. if Simple.Disconnect() is called e.g. while waiting to be registered, we would also be cancelled properly.
2019-10-17base-bearer,iface-modem-simple: log user requests to connect/disconnectAleksander Morgado
2019-10-17x22x: add support for the Alcatel X602DAleksander Morgado
As discussed in https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/130 Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/130 Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/129
2019-10-17x22x: ignore unhandled URCs in the Alcatel X602DAleksander Morgado
2019-10-16ci: ignore errors on apt updateAleksander Morgado
Just to avoid e.g. invalid signature errors. The important command is the actual install of required packages.
2019-10-16simtech: handle 'MISSED_CALL' URCsAleksander Morgado
https://source.puri.sm/Librem5/ModemManager/issues/6
2019-10-16simtech: setup USB audio channel when in-callAleksander Morgado
We'll use +CPCMREG=1/0 to start/stop USB audio function, and we will also report the specific ttyUSB port to be used for audio in the Call interface.
2019-10-15core: allow flagging ports as 'audio'Aleksander Morgado
Instead of flagging them as 'ignored' so that they aren't probed, we can also flag them as 'audio' now, so that the logic knows which port to report as used for audio in the Call object.
2019-10-15simtech: handle '+RXDTMF' URCs reporting DTMF tonesAleksander Morgado
2019-10-15simtech: handle non-standard '+CRING' URCsAleksander Morgado
The SIM7600E ends up emitting these URCs with too many <CR>s, and the generic +CRING handler doesn't catch them, interfering with other actions, e.g.: $ sudo mmcli --call 1 --accept error: couldn't accept the call: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed: Couldn't accept the call: Unhandled response '+CRING: VOICE +CRING: VOICE''
2019-10-15simtech: handle 'VOICE CALL' URCsAleksander Morgado
Just processing and parsing them for now, so that they don't interfere with other commands: $ sudo mmcli --call 1 --accept error: couldn't accept the call: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed: Couldn't accept the call: Unhandled response ' VOICE CALL: BEGIN''
2019-10-14iface-modem-voice: ignore unknown calls reported as terminatedAleksander Morgado
If the full list reporting includes calls in terminated state (e.g. on modems managed by the Simtech plugin), then ignore those no longer known to us, because it just means that they have already been processed. <debug> [1571060859.227759] (ttyUSB2): <-- '<CR><LF>+CLCC: 1,0,6,0,0,"639335936",129<CR><LF>' <debug> [1571060859.227890] Reported 1 ongoing calls <debug> [1571060859.227913] call at index 1: direction outgoing, state terminated, number 639335936 <debug> [1571060859.227946] call info matched (matched direction/state no, matched index yes, matched terminated no) with call at '/org/freedesktop/ModemManager1/Call/1' <debug> [1571060859.227963] state updated: terminated <info> [1571060859.227978] Call state changed: dialing -> terminated (unknown) <debug> [1571060859.228173] (ttyUSB3): <-- '<CR><LF>+CLCC: 1,0,6,0,0,"639335936",129<CR><LF>' <debug> [1571060859.228234] Reported 1 ongoing calls <debug> [1571060859.228251] call at index 1: direction outgoing, state terminated, number 639335936 <warn> [1571060859.228274] unexpected outgoing call to number '639335936' report2ed in call list: state terminated