Commit Graph
35 Commits
Author SHA1 Message Date
Torsten Hilbrich 8072ed2d6f broadband-modem-mbim: Add MM_BROADBAND_MODEM_MBIM_QMI_UNSUPPORTED
This property (initially set to FALSE) controls whether QMI over MBIM
should never be considered. This property is set to TRUE for XMM-based
MBIM devices as they don't support QMI.

This fixes a probing delay of 15s on a Fibocom L850-GL device
(2cb7:0007) found in the Lenovo T14 Gen 1.

The establishing of a QMI connection was refused multiple time with
MBIM error OperationNotAllowed. Only the timeout of 15s for this
connection resumed the probing.

The properties in the MMBroadbandModemMbim are only installed when
WITH_QMI and QMI_MBIM_QMUX_SUPPORTED are set. Actually, this should only
disable the PROP_QMI_UNSUPPORTED but as this is the only property this
avoids the "unused variable 'self'" warnings/errors when trying to
compile set_property and get_property without QMI support. This can be
changed once other properties are needed.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/284
2020-12-03 08:00:30 +01:00
Aleksander Morgado f013e94ff8 xmm: fix missing GError initialization 2020-10-14 14:41:19 +02:00
Walter Hagstrom 88923ffe39 iface-modem-signal: added 5G signal information
Extended the ModemManager Signal interface to include 5G signal
information for RSRP, RSRQ and SINR via libqmi.  Also extended mmci
to print 5G signal info.
2020-07-04 05:50:41 +02:00
Aleksander Morgado 175bedf920 xmm: avoid cast-align errors
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.

  xmm/mm-shared-xmm.c: In function 'validate_and_build_command_set_current_bands':
  xmm/mm-shared-xmm.c:512:45: error: cast increases required alignment of target type [-Werror=cast-align]
           str = mm_common_build_bands_string ((const MMModemBand *)unapplied_bands->data, unapplied_bands->len);
                                               ^
2020-05-19 13:44:23 +02:00
Aleksander Morgado e956bac47b log: common logging method definition for all testers and helpers 2020-04-08 17:53:42 +02:00
Aleksander Morgado 35554aaeed xmm: port to use object logging 2020-04-08 16:35:10 +02:00
Aleksander Morgado ecd766796a modem-helpers: port cesq response parser to use object logging 2020-04-08 16:35:09 +02:00
Aleksander Morgado 0f708daf0b modem-helpers: port supported modes filtering to use object logging 2020-04-08 16:35:09 +02:00
Aleksander Morgado 9bcadea172 log: new object logging support
So that we can provide the specific object id in every log associated
to a given object.
2020-04-08 16:35:08 +02:00
Aleksander Morgado 00dc961cad iface-modem-location: common helper code to test raw gps 2020-02-07 14:42:16 +00:00
Aleksander Morgado b4a08e9eb9 xmm: fix warnings with -Wswitch-enum
xmm/mm-shared-xmm.c: In function ‘gps_engine_start’:
  xmm/mm-shared-xmm.c:1068:5: error: enumeration value ‘GPS_ENGINE_STATE_OFF’ not handled in switch [-Werror=switch-enum]
   1068 |     switch (state) {
        |     ^~~~~~
2020-01-31 14:52:50 +01:00
Aleksander Morgado fce7892058 xmm: setup as loadable 'shared' utils 2019-11-27 10:11:43 +00:00
Aleksander Morgado d5d0ed0b24 tests: print MM logs only on verbose test mode
Therefore, avoid needing ENABLE_TEST_MESSAGE_TRACES build symbol.
2019-10-14 15:30:27 +02:00
Aleksander Morgado 7f822fbc50 xmm,shared: don't assume parent object implements location support
E.g. when MM is built without QMI support, the MBIM modem won't have
any location support, as the only location implementation is based on
QMI over MBIM.

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/125
2019-05-28 22:56:54 +02:00
Aleksander Morgado 44eac9e974 shared-xmm: implement support for MSB A-GPS 2019-04-09 12:24:39 +00:00
Aleksander Morgado b77aa7ab0e location,agps: explicitly specify that MSA A-GPS is implemented
The A-GPS based implementations we currently have assume MSA A-GPS, so
rename the MMModemLocationSource enum value to reflect that.
2019-04-09 12:24:39 +00:00
Aleksander Morgado f4941ede66 xmm,dell: add defaults for MBIM-derived objects
For subclasses of MMBroadbandModemMbim, also apply the same property
defaults. E.g. we want to avoid peridic signal quality polling and we
also want to report that SIM hot swap is supported.
2018-12-07 16:23:21 +00:00
Ben Chan 14ca3efb7f xmm: remove unused 'priv' variable in xact_query_bands_ready() 2018-10-20 13:57:18 +02:00
Ben Chan 7de6b6f2e1 core: remove unnecessary NULL checks for g_match_info_free()
g_match_info_free() already check if the given pointer is NULL and does
nothing on a NULL pointer.
2018-10-18 13:17:36 +02:00
Aleksander Morgado 4156fd2718 xmm: implement A-GPS support 2018-10-17 11:18:36 +02:00
Aleksander Morgado 2ffd0adf05 xmm: implement XLCSLSR based GPS management and report 2018-10-17 11:17:11 +02:00
Aleksander Morgado 77387cf604 xmm: increase AT command timeout when updating bands/modes
Looks like sometimes it may take a bit more than 3s.
2018-09-13 15:17:54 +02:00
Aleksander Morgado 2f14012399 xmm: minor alignment fixes 2018-09-13 09:30:02 +02:00
Aleksander Morgado 823aa46a14 xmm: ensure outputs in load_values_finish() are always set if success 2018-09-13 09:26:19 +02:00
Paul Bartell 6b30f552a9 xmm: implement signal interface with +XCESQ polling 2018-09-13 07:17:51 +00:00
Paul Bartell 73045e931b xmm: add +XCESQ parser 2018-09-13 07:17:51 +00:00
Ben Chan 7c5cfa13a1 xmm: include string.h for strlen()
This patch fixes the following compiler warning:

xmm/mm-modem-helpers-xmm.c:388:38: error: implicitly declaring library function 'strlen' with type 'unsigned long (const char *)' [-Werror,-Wimplicit-function-declaration]
    g_regex_match_full (r, response, strlen (response), 0, 0, &match_info, &inner_error);
                                     ^
2018-08-21 23:11:29 +02:00
Aleksander Morgado 6e9bf39ecf xmm: implement power management operations 2018-08-21 17:02:39 +00:00
Aleksander Morgado f2c508f8b9 xmm: new 'MMBroadbandModemMbimXmm' modem object 2018-08-21 17:02:39 +00:00
Aleksander Morgado 656102633c xmm: new 'MMBroadbandModemXmm' modem object 2018-08-21 17:02:39 +00:00
Aleksander Morgado 917b23bbc7 xmm: new 'MMSharedXmm' modem interface
With support for managing bands and modes.
2018-08-21 17:02:39 +00:00
Aleksander Morgado 6262e844f5 xmm: new helper to get 'any' allowed mode combination 2018-08-21 17:02:39 +00:00
Aleksander Morgado d6b1c321ef xmm: new common XACT=X builder for Intel XMM based devices 2018-08-21 17:02:39 +00:00
Aleksander Morgado 023ba97d9c xmm: new common XACT? parser for Intel XMM based devices 2018-08-21 17:02:39 +00:00
Aleksander Morgado 142f1d0360 xmm: new common XACT=? parser for Intel XMM based devices 2018-08-21 17:02:39 +00:00