aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-21shared-qmi: fix context type in GPS operation mode timeout handlerAleksander Morgado
2018-08-21shared-qmi: inject "xtra data" if "predicted orbits data" unsupportedAleksander Morgado
2018-08-21shared-qmi,loc: setup reports every 5s may be brokenAleksander Morgado
Configuring reports every 5s may lead to GPGGA traces reported like this: $GPGGA,211645.00,,,,,0,,,,,,,,*4D $GPGGA,211646.00,4030.003988,N,00330.761876,W,1,07,1.0,691.6,M,53.0,M,,*74 $GPGGA,211650.00,,,,,0,,,,,,,,*49 $GPGGA,211651.00,4030.005405,N,00330.763540,W,1,07,1.0,688.9,M,53.0,M,,*71 $GPGGA,211655.00,,,,,0,,,,,,,,*4C $GPGGA,211656.00,4030.008074,N,00330.765338,W,1,07,0.9,679.9,M,53.0,M,,*70 $GPGGA,211700.00,,,,,0,,,,,,,,*4D $GPGGA,211701.00,4030.009258,N,00330.765510,W,1,07,1.0,678.3,M,53.0,M,,*71 $GPGGA,211705.00,,,,,0,,,,,,,,*48 Which is totally undesirable, as the GPS location would be flapping between set and unset. Use the default of 1s explicitly, which behaves properly.
2018-08-21broadband-modem-mbim: report Unsupported if QMI over MBIM not availableAleksander Morgado
For non-Qualcomm MBIM devices, report a generic "Unsupported" error if we try to do an operation that would otherwise be only available with QMI-over-MBIM.
2018-08-21shared-qmi: support for Qualcomm gpsOneXTRA assistance dataAleksander Morgado
The gpsOneXTRA assistance data provides a convenient way to inject predicted orbit information into the module, without requiring to have an Internet connection in the module itself.
2018-08-21api: support location assistance dataAleksander Morgado
Sometimes SUPL-server based A-GPS is not possible, e.g. if the module doesn't have Internet connectivity. In such cases, the modem may support injecting additional "assistance data" that may be downloaded from the Internet using external means (e.g. WiFi), in order to keep having a quick time to first fix. We now support using this location assistance data, with the following new API elements: * A new mask of supported assistance data types is provided in the SupportedAssistanceData property. * A new list of URLs from where the aassistance data may be downloaded is also provided in a new AssistanceDataServers property. * A new InjectAssistanceData() method is provided, to perform the data injection in the module once it's been downloaded to the host system.
2018-08-21shared-qmi: implement LOC-based GPS/A-GPS supportAleksander Morgado
2018-08-21shared-qmi: decouple low-level GPS operations from source management logicAleksander Morgado
Just to make room for the LOC based integration.
2018-08-21modem-helpers-qmi: new helper to transform QmiLocIndicationStatus into a GErrorAleksander Morgado
2018-08-21broadband-modem-mbim: support for QMI PDS based GPS locationAleksander Morgado
2018-08-21port-mbim: when opening QMI over MBIM support, request indicationsAleksander Morgado
We do want to receive QMI indications, as they will be needed for different features (e.g. LOC based GNSS support).
2018-08-21shared-qmi: import PDS-based GPS location supportAleksander Morgado
2018-08-21shared-qmi: new interface to handle common QMI implementationsAleksander Morgado
This new interface will include implementations that are shared between the MMBroadbandModemQmi and the MMBroadbandModemMbim. For now, it just provides a way to implement the common client allocation methods.
2018-08-21broadband-modem-mbim: use the preallocated DMS client for FCC AuthAleksander Morgado
2018-08-21broadband-modem-mbim: preallocate QMI clients if QMI over MBIM supportedAleksander Morgado
2018-08-21port-mbim: implement QMI client allocation logicAleksander Morgado
2018-08-21port-mbim: automatically try to open a QMI over MBIM deviceAleksander Morgado
Most Qualcomm-based MBIM devices also support QMI over MBIM. We will try to check in runtime whether the MBIM device supports QMI over MBIM, and if so, setup a QmiDevice within the MMPortMbim.
2018-08-21build: require libqmi 1.21.3 with QMI LOC supportAleksander Morgado
2018-08-20build: ignore test-pco built fileAleksander Morgado
2018-08-20Add French translationClaude Paroz
2018-08-18cli: print 'Pco' property in Modem3gpp interfaceBen Chan
2018-08-18broadband-modem-mbim: update 'Pco' property in Modem3gpp interfaceBen Chan
This patch changes MMBroadbandModemMbim to update the 'Pco' property in the Modem3gpp interface upon receiving a MBIM_CID_PCO notification.
2018-08-18modem-3gpp: add 'Pco' property to Modem3gpp interfaceBen Chan
This patch adds a 'Pco' property to the Modem3gpp interface for tracking PCOs that the modem has received from the network.
2018-08-18libmm-glib,pco: add helpers for managing a list of MMPcoBen Chan
2018-08-18libmm-glib: add MMPco for handling raw PCO dataBen Chan
2018-08-14po: add Turkish translationAleksander Morgado
From: Emin Tufan Çetin <etcetin@gmail.com> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/80
2018-08-14broadband-modem-mbim: explicitly ignore SMS storage initializationAleksander Morgado
The MBIM protocol hides to the user the concept of SMS storages, so we should explicitly ignore the initialization step so that it isn't run with the parent AT-based implementation.
2018-08-10broadband-modem: initialize 'tac' in registration_status_check_ready()Ben Chan
mm-broadband-modem.c:4395:13: error: variable 'tac' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm-broadband-modem.c:4407:75: note: uninitialized use occurs here mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, tac, cid); ^~~ mm-broadband-modem.c:4395:9: note: remove the 'if' if its condition is always true if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm-broadband-modem.c:4380:9: error: variable 'tac' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized] if (cgreg) { ^~~~~ mm-broadband-modem.c:4407:75: note: uninitialized use occurs here mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, tac, cid); ^~~ mm-broadband-modem.c:4380:5: note: remove the 'if' if its condition is always false if (cgreg) { ^~~~~~~~~~~~ mm-broadband-modem.c:4280:15: note: initialize the variable 'tac' to silence this warning gulong tac; ^ = 0
2018-08-10broadband-modem-mbim: fallback to trying AT+CESQ if ATDS signal unsupportedAleksander Morgado
2018-08-10broadband-modem-mbim: implement extended signal support with ATDSAleksander Morgado
2018-08-10broadband-modem-mbim: implement 3GPP location support with ATDSAleksander Morgado
2018-08-10broadband-modem: check if modem implements MBIM_CID_USSDAleksander Morgado
2018-08-10port-probe: no AT probing on possible QCDM portAleksander Morgado
Ports flagged as being QCDM will not be probed for AT. QCDM probing will be performed normally, the udev tags only give hints, we still need to know whether the TTYs are QCDM-capable or not.
2018-08-10base-modem: load AT port type hints when adding portAleksander Morgado
We keep the pflags input in mm_base_modem_grab_port() so that plugins can use other methods to gather port type hints (e.g. querying with AT commands as in Huawei/Telit or looking at sysfs properties as in HSO). For standard udev tag port type hints, it will be the base modem looking them up. Note that there is no longer any need to ignore non-flagged ports for those modems that require primary/secondary flags. They will be implicitly ignored when mm_base_modem_organize_ports() decides which ports to use, as the flagged ones are preferred over the non-flagged ones.
2018-08-10port-probe: no QCDM probing on possible AT portAleksander Morgado
Ports flagged with one of the common AT port type hints will not be probed for QCDM. AT probing will be performed normally, the udev tags only give hints, we still need to know whether the TTYs are AT-capable or not.
2018-08-10plugins: consolidate ID_MM_PORT_TYPE_AT_* flag namesAleksander Morgado
We define 3 common udev tag ids to be used by all plugins: * ID_MM_PORT_TYPE_AT_PRIMARY: the primary modem port. It will be used for AT control and also as PPP if there is no other port flagged explicitly to do PPP. * ID_MM_PORT_TYPE_AT_SECONDARY: the secondary modem port. It will be used when/if the primary port gets connected to do PPP. * ID_MM_PORT_TYPE_PPP: the port to be used to do PPP only. This tag makes sense only when the primary port shouldn't be used for PPP, i.e. when there is a port dedicated to do PPP and one port dedicated for control.
2018-08-10port-probe: explicitly report GPS port type if port flaggedAleksander Morgado
And remove all custom logic from all plugins that were doing just that.
2018-08-10port-probe: don't do AT or QCDM probing on ports flagged as GPSAleksander Morgado
2018-08-10plugins: consolidate ID_MM_PORT_TYPE_GPS flag nameAleksander Morgado
Use the same flag name across all plugins with support for NMEA-capable TTYs.
2018-08-09cli,signal: print unset signal values as n/aAleksander Morgado
2018-08-09libmm-glib,signal: fix MM_SIGNAL_UNKNOWN symbol valueAleksander Morgado
Unfortunately, G_MINDOUBLE is basically 0.0, so MM_SIGNAL_UNKNOWN ends up giving us a value that may fall in the range of expected values for the signal component. Update the MM_SIGNAL_UNKNOWN symbol to match a value which is definitely out any other possible valid range, so that we can easily detect which values are set and which aren't. While API is maintained, this fix is introducing an ABI break. Not a big deal anyway, as the purpose of the value is just to detect unset fields.
2018-08-09build: require libmbim 1.17.3Ben Chan
libmbim 1.17.3 adds the support for MBIM_CID_PCO, which is used by commit d68078b2ce0f ("broadband-modem-mbim: check if modem implements MBIM_CID_PCO").
2018-08-09iface-modem-3gpp: fix location update when LAC=0 but TAC givenAleksander Morgado
2018-08-08api,location: give Tracking Area Code field in 3GPP location infoAleksander Morgado
The "location area code" field is given in GSM/UMTS networks exclusively. LTE networks use the concept of "tracking area code" instead. This patch updates the Location interface to Provide separate fields for LAC and TAC, instead of giving TAC values in the LAC field.
2018-08-08broadband-modem-qmi: fix build using WITH_NEWEST_QMI_COMMANDSAleksander Morgado
2018-08-08iface-modem: reload current bands after settingAleksander Morgado
Setting bands is a very device-specific operation. Sometimes the device requires specific band combinations, or sometimes the 'any' specific logic doesn't apply to all supported bands (e.g. may apply only to the currently selected modes, as in XMM based devices). So, don't assume that if the set command succeeds we have set all expected bands. Instead, do an explicit loading of the current bands after the set operation, same thing as we do when setting modes.
2018-08-08helpers-qmi: fix UMTS band 6 and 19 definitionsAleksander Morgado
Also bump required libqmi version, as this change uses flags from the latest available API. UMTS B19 is NTT DoCoMo's 800MHz band. UMTS B6 is NTT DoCoMo's 850MHz band
2018-08-08dell: don't ignore TTYs in QMI/MBIM modemsAleksander Morgado
When we detect that the modem is QMI-capable or MBIM-capable, we still want to be able to use TTYs, for features unsupported by the main protocols. So, don't flag all the TTYs as non-AT non-QCDM, let them probe as usual instead.
2018-08-08broadband-modem: allow Enable() if disabling or initializingAleksander Morgado
The first step in the Enable() processing is to wait for a final state, so we can definitely wait for the ongoing disabling or initializing states to finish before we go on with the enable operation, there is no need to early fail if the disabling or initializing intermediate states are detected.
2018-08-08base-modem: allow parallel Enable() and Disable() requestsAleksander Morgado
If additional Enable() requests are received while one is already ongoing, we queue them and will end up completing all with the same result once the first one finishes. Same logic also for Disable(). https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/8