summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* broadband-modem-mbim: implement support for GetCellInfo()Aleksander Morgado2022-01-181-0/+400
|
* iface-modem: implement support for 'GetCellInfo()'Aleksander Morgado2022-01-182-0/+118
|
* mmcli,modem: new '--get-cell-info' actionAleksander Morgado2022-01-183-0/+87
|
* libmm-glib,modem: new methods to get list of cell infosAleksander Morgado2022-01-183-1/+144
|
* libmm-glib,cell-info-nr5g: new 'MMCellInfoNr5g' objectAleksander Morgado2022-01-188-1/+603
| | | | Implementing support for 5GNR cell info.
* libmm-glib,cell-info-lte: new 'MMCellInfoLte' objectAleksander Morgado2022-01-188-1/+564
| | | | Implementing support for LTE cell info.
* libmm-glib,cell-info-tdscdma: new 'MMCellInfoTdscdma' objectAleksander Morgado2022-01-188-2/+561
| | | | Implementing support for TDSCDMA cell info.
* libmm-glib,cell-info-umts: new 'MMCellInfoUmts' objectAleksander Morgado2022-01-188-8/+685
| | | | Implementing support for UMTS cell info.
* libmm-glib,cell-info-gsm: new 'MMCellInfoGsm' objectAleksander Morgado2022-01-188-1/+523
| | | | Implementing support for GSM cell info.
* libmm-glib,cell-info-cdma: new 'MMCellInfoCdma' objectAleksander Morgado2022-01-188-1/+448
| | | | Implementing support for CDMA cell info.
* libmm-glib,cell-info: new helpers to implement subclassesAleksander Morgado2022-01-181-0/+32
|
* libmm-glib,cell-info: new 'MMCellInfo' objectAleksander Morgado2022-01-187-0/+353
| | | | | | | Generic base object to implement support for the different types of cell infos. Provides support for the 'serving' boolean, which is common to all.
* api,modem: new 'GetCellInfo()' methodAleksander Morgado2022-01-184-0/+450
| | | | | | | | | | | | | | | | | This new method allows querying the modem for information about the current serving cell(s) as well as any other neighboring cell that may be found. The information for the cells is given in an array of dictionaries, where each element of the dictionary is a new dictionary itself. Each cell type has a different set of properties that may be given in the dictionary, and some of those properties in each type are also applicable under certain conditions (e.g. only applicable to the cell if it's a 'serving' cell instead of 'neighboring'). The API documentation explains in detail what is expected in each case.
* broadband-modem-qmi: if UNSUPPORTED, ignore power update operationAleksander Morgado2022-01-141-11/+9
| | | | | | We were returning success on this operation upon an UNSUPPORTED error, and we should keep on doing the same after all the indication support changes.
* broadband-modem-qmi: setup operation context for power up/down/offAleksander Morgado2022-01-141-111/+98
| | | | | | | | | | | | | We must keep a valid QmiClient reference for as long as the operation runs, so that we can use it in all the request send operations we do, and also so that we can remove the indication id upon completing the operation. The timeout id and indication id, which are also part of a single power operation are also included in the operation context, because they don't have any other meaning out of it. The operation context is stored as task data.
* broadband-modem-qmi: rework log and error messagesAleksander Morgado2022-01-141-14/+9
|
* broadband-modem-qmi: don't pass full reference to signal handlersAleksander Morgado2022-01-141-4/+1
| | | | | | | | | | As in the case of the timeouts, we should not pass a full reference as data to the signal handler as we don't know how many times we'll receive the signal or if we'll ever receive it. We already make sure that the signal handler is disconnected when the operation ends, so we can be sure the self pointer is valid while the signal handler is connected.
* broadband-modem-qmi: reorder code and minor coding style fixesAleksander Morgado2022-01-141-117/+109
|
* broadband-modem-qmi: don't pass full reference in timeoutsAleksander Morgado2022-01-111-2/+1
| | | | | | | | | | The timeout may not be called if we remove it earlier (e.g. if the indication is received) and therefore we must not pass a full new reference, otherwise it may get leaked. There is no problem with the validity of the self pointer in timeout callbacks because we're removing the timeout as part of the operation teardown logic.
* broadband-modem-qmi: remove paranoid assertAleksander Morgado2022-01-111-1/+0
| | | | | We just created the GTask and we just updated the stored pointer, checking for it being non-NULL at this point is a bit paranoid
* broadband-modem-qmi: avoid capitalizing all words in error messageAleksander Morgado2022-01-111-1/+1
|
* broadband-modem-qmi: Handle DMS operating mode indicationsPrakash Pabba2022-01-111-27/+245
| | | | | | | | If Mode online is triggered just after Mode LPM and Mode LPM processing is not complete in modem, modem will not process the next request and the device will be stuck in an unwanted modem power state. Thus, wait for a mode change indication from the modem before declaring that a power on/off has been successful.
* fibocom: Double-check connection after dialingSven Schwermer2022-01-111-6/+36
| | | | | | | | | | | | | | | Fibocom's documentation states that we must double-check the connection is established when setting up an ECM connection. The possible replies - according to the documentation - are: +GTRNDIS: <state>,<cid>,<ip>,<prim. dns>,<sec. dns> OK or +GTRNDIS: 0 We just care about the state value which is 1 if everything worked.
* fibocom: Use ECM bearer if +GTRNDIS is availableSven Schwermer2022-01-112-15/+88
| | | | | | Some modems might have a net port but don't support +GTRNDIS which is used by the ECM bearer. That case will be caught by this additional check.
* fibocom: Add L610 supportSven Schwermer2022-01-112-1/+18
|
* fibocom: Add udev port rules for MA510-GLSven Schwermer2022-01-111-0/+8
|
* fibocom: Add bearer for ECM-based connectionsSven Schwermer2022-01-116-2/+371
|
* fibocom: Subclass broadband modemSven Schwermer2022-01-115-6/+121
| | | | | This is required in order to be able to use a custom bearer which in turn is necessary for establishing ECM connections.
* plugins/quectel/mm-shared-quectel: use QGMR to set versionDylan Van Assche2022-01-111-2/+29
| | | | | Quectel modems report only their major firmware version through AT+GMR, use AT+QGMR instead to report the full firmware version.
* plugins/quectel/mm-broadband-modem-qmi-quectel: ignore carrier revisionDylan Van Assche2022-01-111-0/+2
| | | | | | | | | Quectel EG25-G QMI modem firmware revisions are not matched with carrier configs. Different VoLTE profiles might be selected by the user causing the carrier config revision to change. Since fwupd uses this string for firmware updates, it gets confused and thinks the user has an update available.
* iface-modem-3gpp: fix variant ref handling in scan outputAleksander Morgado2022-01-071-1/+1
|
* libmm-glib,modem-3gpp: fix leak when processing scan resultsAleksander Morgado2022-01-071-0/+2
|
* build: ignore test-kernel-device-helpersAleksander Morgado2022-01-071-0/+1
|
* docs,libmm-glib: add missing references to reload stats supported related ↵Aleksander Morgado2022-01-061-0/+3
| | | | methods
* docs,libmm-glib: add missing reference to index field related methodsAleksander Morgado2022-01-061-0/+6
|
* docs,libmm-glib: fix references to new SIM property methods and typesAleksander Morgado2022-01-061-2/+5
|
* docs,libmm-glib: add missing reference for MMNr5gRegistrationSettingsAleksander Morgado2022-01-062-0/+28
|
* api,modem: fix alignment in SetPrimarySimSlot()Aleksander Morgado2022-01-061-4/+4
|
* core: switch bash shell scripts to use /bin/sh for use w/Busybox.Bruce A. Johnson2022-01-055-5/+5
| | | | Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/483
* cli: fix 3GPP location mcc/mnc field namesAleksander Morgado2021-12-261-2/+2
|
* iface-modem-simple: explicit short wait after enablingAleksander Morgado2021-12-261-0/+21
| | | | | | | | When we have just enabled, we want to give it some time before starting the registration process, so that any pending registration update that may have been scheduled during the enabling phase is applied. We don't want to trigger a new automatic registration if e.g. we're already registered.
* iface-modem-simple: fix connection attempt start placeAleksander Morgado2021-12-261-5/+6
| | | | | | | The 'ENABLE + 1' step is 'WAIT_FOR_ENABLED' really, and that should be only used when the current state is not a final one. If we're already enabled, or registered, or connected, then jump to 'REGISTER' right away.
* broadband-modem-mbim: schedule reg info updates as soon as enabledAleksander Morgado2021-12-261-54/+139
| | | | | | | | | | | | | During the enabling phase, the modem may receive a lot of asynchronous updates reporting registration info changes, but we were fully ignoring them because the modem was not yet enabled. The problem with this is that as soon as we reach the enabled state, we may not receive additional info, so we would be left in 'enabled' state until new asynchronous updates are received or until we start a connection attempt. We can solve this by triggering an explicit update with the registration information that we have cached as soon as we're enabled.
* broadband-modem-mbim: don't miss operator id/name on packet service updatesAleksander Morgado2021-12-261-2/+2
|
* iface-modem: minor coding style changesAleksander Morgado2021-12-261-11/+11
|
* broadband-modem-mbim: reload ATDS location on reg state changesAleksander Morgado2021-12-261-39/+48
| | | | | | | | | Only if transitioning into a "registered" state ("home", "roaming", "partner") or if "denied"; otherwise, assume LAC/TAC/CID are all unknown. This change makes the logic also reload the location info on registration updates reported asynchronously via notifications.
* core: new '--test-mbimex-profile-management' optionAleksander Morgado2021-12-263-2/+27
| | | | | | | | | | | | | | The profile management APIs implemented by Microsoft in the MBIM extensions provide certain features that are not available via other means (e.g. ip type, access type preference, roaming allowance...). Unfortunately, these APIs require the current list of profiles installed in the modem to be a bit special; e.g. with one profile max for each context/APN type. If this does not happen, the operations will fail, or they will update contexts that should not be updated. So, we disable for now the MBIM extension profile management support; the logic is there, but not used by default.
* mmcli: new '--3gpp-profile-manager-status' operationAleksander Morgado2021-12-263-1/+32
| | | | | | | | In order to show the properties of the profile management interface, e.g.: $ sudo mmcli -m a --3gpp-profile-manager-status ----------------------------------- 3GPP profile manager | index field: apn-type
* cli,modem-3gpp-profile-manager: delete should allow other index fieldsAleksander Morgado2021-12-261-13/+48
| | | | | Instead of expecting a specific profile id, allow the command to support different index field types.
* iface-modem-3gpp-profile-manager: support 'apn-type' as index fieldAleksander Morgado2021-12-2613-209/+354
| | | | | | | | | The modem may report the 'apn-type' field is the one to be used as index; if that's the case, allow setting and deleting profiles based on the given 'apn-type' field. This change also makes the internal profile management operations use one index field or another, based on what the protocol implements.