Commit Graph

36 Commits

Author SHA1 Message Date
Aleksander Morgado
5d176a1e61 base-modem: explicitly say if NET or TTY data ports are supported
A modem that creates exclusively bearer objects that work with NET
ports (e.g. all QMI or MBIM modems) must not add any TTY port in the
list of data ports.

A modem that creates exclusively bearer objects that work with TTY
ports (e.g. the generic modem) must not add any NET port in the
list of data ports.

A modem that may use both TTY and NET ports should add all in the list
of data ports.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/324
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/329
2021-03-04 18:03:28 +01:00
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