Commit Graph
4246 Commits
Author SHA1 Message Date
Aleksander Morgado c3f61547d2 broadband-modem-mbim: implement support for 'SetPacketServiceState()' 2021-11-02 09:50:17 +00:00
Som_SP 0316afee06 iface-modem-3gpp: implement handling of 'SetPacketServiceState()'
Includes updates by Aleksander Morgado to fix coding style issues and
to place this logic in the correct interface.
2021-11-02 09:50:17 +00:00
Aleksander Morgado 49a2954749 broadband-modem-mbim: fix reporting CS/PS/EPS/5GS reg status
Until now we just reported any registration status change as PS, and
that was fine because we wouldn't need to have any logic on top to
build a consolidated registration state.

But now we need to know whether the reported registration status is
for a packet domain (e.g. PS/EPS/5GS) in order to correctly update the
PacketServiceStatus property in DBus.

So, monitor the packet service status reported by the modem, and
decide which domain registration we're updating every time.
2021-11-02 09:50:17 +00:00
Aleksander Morgado d6b5e76d1f iface-modem-3gpp: implicitly update packet service state based on reg domains
If we're registered in either PS, EPS or 5GS, we can assume packet
domain service is attached.

If we're only registered in CS, packet domain is detached.

This change relies on protocol implementations to properly report
separate CS/PS/EPS/5GS domain registration states.
2021-11-02 09:50:17 +00:00
Aleksander Morgado 98738521ef helpers-mbim: detect 5G access tech using Microsoft extensions 2021-11-02 09:50:17 +00:00
Aleksander Morgado 115e7debb2 helpers-mbim: detect 5G capabilities using Microsoft extensions 2021-11-02 09:50:17 +00:00
Frederic Martinsons 2ae5f3cc27 iface-modem-firmware: Initialize context to null
Without setting memory to NULL it is possible that ctx->list
point to an unitialized pointer and trig a segfault when we
free it (for example when the firmware list is not supported)

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2021-10-23 10:58:15 +02:00
Frederic Martinsons 9d82d30978 cli, plugins: factorize usage of iso8601 datetime format
Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>

Includes updates by Aleksander Morgado to fix coding style issues.
2021-10-22 13:48:20 +02:00
Frederic Martinsons 0510e9aef8 api,bearer: new 'start-date' field in bearer statistics
It stores the epoch timestamp of the current bearer session start.
If there is no connected bearer, it is set to 0 and not displayed
in mmcli output.

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>

Includes updates by Aleksander Morgado to fix coding style issues.
2021-10-22 13:48:13 +02:00
Aleksander Morgado 53bcdaa8c3 broadband-modem-mbim: update extended signal info on MBIM notifications
We process the MBIM signal state notification and use it to update the
extended signal quality information in the Signal interface.
2021-10-21 00:10:06 +02:00
Som_SP bcdaaeddb0 broadband-modem-mbim: support for setting up signal thresholds
Includes updates by Aleksander Morgado to fix coding style issues and
rework the coded point transformations.
2021-10-20 22:18:19 +02:00
Aleksander Morgado e8c4b88493 libmm-glib: new 'MMSignalThresholdProperties' helper object
To avoid needing to work with GVariants directly.
2021-10-20 22:14:57 +02:00
Aleksander Morgado f27d7f9362 iface-modem-signal: bind together polling and threshold based setups
The values exposed in the Signal interface must not be cleared every
time polling is disabled, because the user may have also enabled
threshold based loading. And viceversa; if the user disables threshold
based polling, we should not unconditionally clear the values as
polling may still be enabled.

We setup a common Private context associated to the interface, and we
keep the current state there, which is also in sync with the DBus
interface.

We will only clear the signal values if both polling-based and
threshold-based setups are disabled.

Following the same reasoning, the mm_iface_modem_signal_update()
method used by implementations to report new signal quality details
is updated so that it's a no-op if no polling-based or threshold-based
setup has been enabled.
2021-10-20 22:14:04 +02:00
Som_SP 92539fa71f iface-modem-signal: implement support for SetupThresholds()
Also allow updating the per-access technology signal quality
information via indications.

Includes updates by Aleksander Morgado to fix coding style issues and
some other GTask related problems.
2021-10-20 22:09:57 +02:00
Aleksander Morgado d3b41f0b74 broadband-modem-mbim: early complete successful mode changes
When changing the allowed modes using the "Register State Set"
request, the response would arrive once we have been registered in the
network. This is obviously not ideal, as we just want to know if the
mode preference was changed, we don't care if we're registered or not.

Instead of waiting for the response to arrive or to timeout, we now
also process incoming indications that arrive during the wait time,
and if any of them shows the preferred modes to be the same ones as we
just requested, we complete the operation right away.
2021-10-19 08:27:23 +00:00
Aleksander Morgado c091860618 broadband-modem-mbim: sync current modes and registration requests
In MBIM we use the same "Register State Set Request" for 2 different
things: configuring the allowed modes, and selecting the operator to
use (manual/automatic).

We need to keep track of which were the last things requested by the
user so that we don't overwrite previous user actions when we process
newer ones.
2021-10-19 08:27:23 +00:00
Aleksander Morgado af7d488325 broadband-modem-mbim: fix MM_MODEM_MODE_ANY handling in set current modes 2021-10-19 08:27:23 +00:00
Aleksander Morgado 0fbcf8ddc1 broadband-modem-mbim: add 5G support to supported modes loading 2021-10-19 08:27:23 +00:00
Aleksander Morgado 316c91da0a helpers-mbim: add support for 3GPP2 data classes
Just for completeness.
2021-10-19 08:27:23 +00:00
Aleksander Morgado 27cc47f796 broadband-modem-mbim: flag 5G as supported based on data capabilities 2021-10-19 08:27:23 +00:00
Aleksander Morgado db6f397e3e broadband-modem-mbim: implement current mode switching using 'Register State v2'
Use the new Preferred Data Classes field in the Register State v2
message in order to know if the modes requested in the Set message are
the expected ones or not.

Based on an initial implementation by Som_SP <somashekhar.puttagangaiah@intel.com>
2021-10-19 08:27:23 +00:00
Aleksander Morgado d6aa727366 broadband-modem-mbim: fix signal quality reporting with MBIMEx v2.0
When we enable MBIMEx v2.0, the "Signal State" responses and
indications no longer report a valid RSSI value; and instead, they
report per access technology RSRP/RSRQ values.

  >>>>>> Header:
  >>>>>>   length      = 116
  >>>>>>   type        = indicate-status (0x80000007)
  >>>>>>   transaction = 0
  >>>>>> Fragment header:
  >>>>>>   total   = 1
  >>>>>>   current = 0
  >>>>>> Contents:
  >>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
  >>>>>>   cid     = 'signal-state' (0x0000000b)
  >>>>>> Fields:
  >>>>>>   Rssi = '99'
  >>>>>>   ErrorRate = '99'
  >>>>>>   SignalStrengthInterval = '5'
  >>>>>>   RssiThreshold = '2'
  >>>>>>   ErrorRateThreshold = '4294967295'
  >>>>>>   RsrpSnr = '{
  >>>>>>     [0] = {
  >>>>>>           Rsrp = '0'
  >>>>>>           Snr = '0'
  >>>>>>           RsrpThreshold = '4294967295'
  >>>>>>           SnrThreshold = '4294967295'
  >>>>>>           SystemType = '5g-nsa'
  >>>>>>     },
  >>>>>>     [1] = {
  >>>>>>           Rsrp = '49'
  >>>>>>           Snr = '45'
  >>>>>>           RsrpThreshold = '4294967295'
  >>>>>>           SnrThreshold = '4294967295'
  >>>>>>           SystemType = 'lte'
  >>>>>>     },
  >>>>>>   }'
2021-10-18 00:04:59 +02:00
Aleksander Morgado c01f22804e modem-helpers: setup common RSSI to signal quality converter 2021-10-18 00:04:09 +02:00
Aleksander Morgado e1bc4b0999 modem-helpers: remove unexistent method header 2021-10-18 00:04:01 +02:00
Andrew Lassalle b2a7591bcf broadband-modem-qmi: Add the profile name to profiles 2021-10-17 17:56:44 +02:00
Aleksander Morgado c3fe738e7d port-mbim: request MBIMEx v2.0
The ModemManager codebase has been ported to support Basic Connect v2
messages as defined in MBIMEx v2.0, so at this point we can now switch
to use it by default whenever possible.
2021-10-16 22:28:29 +02:00
Aleksander Morgado d8137789ed broadband-modem-mbim: support 'Signal State' from MBIMEx v2.0 2021-10-16 22:03:39 +02:00
Aleksander Morgado b32d85b1bf bearer-mbim: support 'Packet Service' from MBIMEx v2.0 2021-10-16 22:03:39 +02:00
Aleksander Morgado aca14b92c6 broadband-modem-mbim: support 'Packet Service' from MBIMEx v2.0 2021-10-16 22:03:39 +02:00
Aleksander Morgado 6b4a79f8ae broadband-modem-mbim: support 'Register State' from MBIMEx v2.0 2021-10-16 22:03:39 +02:00
Aleksander Morgado f7b595d066 broadband-modem-mbim: pass MbimDevice to notification parsers
We're going to enable the Microsoft extensions by default, and in
order to properly parse the notification messages, we'll need to know
which is the currently agreed MBIMEx version.

So, pass down the MbimDevice to every notification parser. Not all of
them will need it, so just for completeness.
2021-10-16 22:03:39 +02:00
Aleksander Morgado c06ca6df3f qcom-soc: require udev tag for ports
Since the 'wwan' subsystem addition to the qcom-soc plugin, the rules
to say a modem is handled by this plugin are too broad, and the plugin
attempts to support any kind of device exposed by the WWAN subsystem,
not just those from Qualcomm SoCs.

Update the plugin to require a new ID_MM_QCOM_SOC udev tag that is set
in the plugin udev rules, given that these rules already check for the
expected SoC drivers (bam-dmux, ipa, qcom-q6v5-mss).
2021-10-14 12:54:21 +00:00
Iñigo Martínez 803ce03d6a build,meson: Remove unnecessary empty line 2021-10-14 07:57:55 +00:00
Aleksander Morgado 85a99ae028 broadband-modem-qmi: fix non-initialized GError 2021-10-13 22:06:31 +02:00
Aleksander Morgado 2b742d99d5 broadband-modem-mbim: coding style fixes in the SAR implementation 2021-10-13 13:14:10 +02:00
Aleksander Morgado 708bde6b9c broadband-modem-mbim: use a dynamically allocated MbimSarConfigState
It makes reading the code a bit easier.
2021-10-13 13:14:10 +02:00
Aleksander Morgado 58e617e03c iface-modem-sar: fix initialization sequence completion
We cannot just return without completing the GTask. If we see the
support check method failed, just keep on with the state machine so
that the GTask is completed in the FAIL_IF_UNSUPPORTED step.

Also, don't assume GError is set if FALSE is returned. This is the
only kind of async method where we allow this right now.
2021-10-13 13:14:10 +02:00
Jack Song f45bc200a9 broadband-modem-mbim: implement the sar interface 2021-10-13 13:14:10 +02:00
lvmaorui 1da847c407 broadband-modem: add the sar interface 2021-10-13 13:14:10 +02:00
Aleksander Morgado 19a6ba5562 build,meson: add SAR interface support in the daemon 2021-10-13 13:14:10 +02:00
lvmaorui 534ffc5ca6 iface-modem-sar: new MMIfaceModemSar interface 2021-10-13 13:14:10 +02:00
Aleksander Morgado dbd95e30c4 mm-broadband-modem-mbim: treat NO_ESIM_PROFILE as failure 2021-10-13 11:20:32 +02:00
Andrew Lassalle 43e76bf1bb iface-modem: Allow SetPowerState(Low|On) on failed state
In some modems, the modem's radio can be ON when no SIM card is present.
In this case, the modem is in failed state, and the host cannot set the
power state to LOW. Since we we will allow the host to set the power to
LOW, we should allow it to set it back to ON.
2021-10-11 10:18:47 -07:00
Daniele Palmas 176b3f53c2 api: new TDS capability 2021-10-11 16:02:40 +00:00
Daniele Palmas ecb5c3dbef modem-helpers: change deprecated MBIM_NW_ERROR_UNKNOWN to MBIM_NW_ERROR_NONE 2021-10-11 16:02:40 +00:00
Amol Lad 11b83e4cb8 mm-bearer-mbim: unref not needed and it is causing crash 2021-10-04 14:48:05 +05:30
Frederic Martinsons ea7517f0e5 Update signal strength indicator thresholds
These are thresholds for RSSI so nothing is expected to be
greater than 0.
This will allow to have a better granularity (even if with some
modem, we are limited in the number of thresholds configured)

These new thresholds will give the following signal quality range:
  - 11% for -110 dBm
  - 30% for  -94 dBm
  - 50% for  -82 dBm
  - 70% for  -69 dBm
  - 90% for  -57 dBm

We are expecting to receive indication sreport every time the
signal strength crosses one of the configured thresholds.

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2021-10-03 17:44:52 +02:00
Lubomir Rintel 90ea3ef5db iface-modem-3gpp-profile-manager: correct a GError instance ownership
The call to g_task_return_error() takes ownership of the GError passed
to it; we must not free it ourselves upon automatic pointer cleanup.

Otherwise a crash can be triggered in the error handling path:

  ModemManager[259816]: <debug> [1633088468.157848] [modem0/modemu/at] <-- '<CR><LF>OK<CR><LF>'
  ModemManager[259816]: <debug> [1633088468.159832] [modem0] stored profile with id '1'
  ModemManager[259816]: <debug> [1633088468.160501] [modem0] set profile state (7/8): list after
  ModemManager[259816]: <debug> [1633088468.161686] [modem0/modemu/at] device open count is 3 (open)
  ModemManager[259816]: <debug> [1633088468.162320] [modem0/modemu/at] device open count is 2 (close)
  ModemManager[259816]: <debug> [1633088468.162746] [modem0/modemu/at] --> 'AT+CGDCONT?<CR>'
  ModemManager[259816]: <debug> [1633088468.177437] [modem0/modemu/at] <-- '<CR><LF>ERROR<CR><LF>'
  ModemManager[259816]: <debug> [1633088468.178011] [modem0/modemu/at] operation failure: 100 (Unknown error)
  ModemManager[259816]: <warn>  [1633088468.182420] [modem0/bearer0] connection attempt #1 failed: Couldn't validate update of profile '1': Unknown error
  ModemManager[259816]: <info>  [1633088468.193156] [modem0/bearer0] connection #1 finished: duration 0s, tx: 0 bytes, rx: 0 bytes
  ModemManager[259816]: <debug> [1633088468.194280] [modem0] couldn't connect bearer: Couldn't validate update of profile '1': Unknown error
  ==259816== Invalid read of size 4
  ==259816==    at 0x4FF66CF: UnknownInlinedFun (gerror.c:535)
  ==259816==    by 0x4FF66CF: g_error_free (gerror.c:832)
  ==259816==    by 0x1A7F49: UnknownInlinedFun (glib-autocleanups.h:52)
  ==259816==    by 0x1A7F49: UnknownInlinedFun (glib-autocleanups.h:52)
  ==259816==    by 0x1A7F49: profile_manager_get_profile_after_ready (mm-iface-modem-3gpp-profile-manager.c:140)
  ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
  ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
  ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
  ==259816==    by 0x1A867C: get_profile_list_ready (mm-iface-modem-3gpp-profile-manager.c:680)
  ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
  ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
  ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
  ==259816==    by 0x1A3DB5: internal_list_profiles_ready (mm-iface-modem-3gpp-profile-manager.c:774)
  ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
  ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
  ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
  ==259816==    by 0x1D7B8B: profile_manager_cgdcont_query_ready (mm-broadband-modem.c:10240)
  ==259816==    by 0x4E1DB61: g_simple_async_result_complete (gsimpleasyncresult.c:802)
  ==259816==  Address 0x9286da0 is 0 bytes inside a block of size 16 free'd
  ==259816==    at 0x48440E4: free (vg_replace_malloc.c:755)
  ==259816==    by 0x500FD1C: g_free (gmem.c:199)
  ==259816==    by 0x502A22F: g_slice_free1 (gslice.c:1180)
  ==259816==    by 0x4FF6780: g_error_free (gerror.c:864)
  ==259816==    by 0x1B22D2: connect_bearer_ready (mm-iface-modem-simple.c:286)
  ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
  ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
  ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
  ==259816==    by 0x18031A: connect_ready (mm-base-bearer.c:917)
  ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
  ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
  ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
  ==259816==    by 0x18329B: connect_3gpp_ready (mm-broadband-bearer.c:918)
  ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
  ==259816==  Block was alloc'd at
  ==259816==    at 0x484186F: malloc (vg_replace_malloc.c:380)
  ==259816==    by 0x5013408: g_malloc (gmem.c:106)
  ==259816==    by 0x502ACB4: g_slice_alloc (gslice.c:1069)
  ==259816==    by 0x502B33D: g_slice_alloc0 (gslice.c:1095)
  ==259816==    by 0x4FF64E6: g_error_allocate (gerror.c:702)
  ==259816==    by 0x4FF6F03: UnknownInlinedFun (gerror.c:716)
  ==259816==    by 0x4FF6F03: g_error_copy (gerror.c:886)
  ==259816==    by 0x4E1D0A0: g_simple_async_result_set_from_error (gsimpleasyncresult.c:676)
  ==259816==    by 0x236AAB: port_serial_got_response (mm-port-serial.c:744)
  ==259816==    by 0x23B0F1: UnknownInlinedFun (mm-port-serial.c:934)
  ==259816==    by 0x23B0F1: common_input_available (mm-port-serial.c:1035)
  ==259816==    by 0x500AF9E: UnknownInlinedFun (gmain.c:3337)
  ==259816==    by 0x500AF9E: g_main_context_dispatch (gmain.c:4055)
  ==259816==    by 0x505F607: g_main_context_iterate.constprop.0 (gmain.c:4131)
  ==259816==    by 0x500A562: g_main_loop_run (gmain.c:4329)
2021-10-03 13:36:54 +00:00
Lubomir Rintel e3d108de0f broadband-modem: ensure mm_broadband_modem_create_device_identifier() sets an error on all bad returns
modem_load_device_identifier_finish() expect it to do so and trips an
assertion failure in g_propagate_error():

  ModemManager[256038]: <warn>  [1633083601.491190] [modem0] couldn't load equipment identifier: Unknown error
  ModemManager[256038]: <debug> [1633083601.491204] [modem0] loading device identifier...
  ModemManager[256038]: <debug> [1633083601.491215] [modem0/modemu/at] device open count is 3 (open)
  ModemManager[256038]: <debug> [1633083601.491231] [modem0/modemu/at] device open count is 2 (close)
  ModemManager[256038]: <debug> [1633083601.491254] [modem0/modemu/at] --> 'ATI<CR>'
  ModemManager[256038]: <debug> [1633083601.494616] [modem0/modemu/at] <-- '<CR><LF>ERROR<CR><LF>'
  ModemManager[256038]: <debug> [1633083601.494643] [modem0/modemu/at] operation failure: 100 (Unknown error)

  (ModemManager:256038): GLib-CRITICAL **: 06:20:01.494: g_propagate_error: assertion 'src != NULL' failed

  Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint trap.
  g_logv (log_domain=0x7ffff77d1071 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413
  1413		  g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
  Missing separate debuginfos, use: dnf debuginfo-install libmbim-1.26.0-2.el9.x86_64 libqmi-1.30.2-1.el9.x86_64
  (gdb) bt
  #0  g_logv (log_domain=0x7ffff77d1071 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413
  #1  0x00007ffff77813d3 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1451
  #2  0x000055555561122d in modem_load_device_identifier_finish (self=0x5555557e62d0, res=<optimized out>, error=0x7fffffffd320)
      at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-broadband-modem.c:1168
  #3  0x00005555555ea69a in load_device_identifier_ready (self=0x5555557e62d0, res=0x5555557ea6b0, task=task@entry=0x7fffe8011e20 [GTask])
      at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-iface-modem.c:4727
  #4  0x00007ffff7951b62 in g_simple_async_result_complete (simple=0x5555557ea6b0 [GSimpleAsyncResult]) at ../gio/gsimpleasyncresult.c:802
  #5  0x00005555555d1b0a in at_sequence_parse_response (port=<optimized out>, res=<optimized out>, ctx=ctx@entry=0x5555557ed7f0)
      at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-base-modem-at.c:250
  #6  0x00007ffff7951b62 in g_simple_async_result_complete (simple=0x5555557e5440 [GSimpleAsyncResult]) at ../gio/gsimpleasyncresult.c:802
  #7  0x00005555556805dc in serial_command_ready (port=<optimized out>, res=<optimized out>, simple=simple@entry=0x5555557e5440 [GSimpleAsyncResult])
      at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial-at.c:378
  #8  0x00007ffff7951b62 in g_simple_async_result_complete (simple=0x5555557d6730 [GSimpleAsyncResult]) at ../gio/gsimpleasyncresult.c:802
  #9  0x000055555567fb35 in command_context_complete_and_free (ctx=ctx@entry=0x7fffe800c200, idle=idle@entry=0) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:141
  #10 0x0000555555682a96 in port_serial_got_response (self=0x5555557dd4e0 [MMPortSerialAt], parsed_response=0x0, error=0x5555557d5040)
      at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:755
  #11 0x00005555556870d2 in parse_response_buffer (self=<optimized out>) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:934
  #12 common_input_available (self=0x5555557dd4e0 [MMPortSerialAt], condition=(G_IO_NVAL | unknown: 0xf762a5c0)) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:1035
  #13 0x00007ffff7778f9f in g_main_dispatch (context=0x5555557527c0) at ../glib/gmain.c:3337
  #14 g_main_context_dispatch (context=0x5555557527c0) at ../glib/gmain.c:4055
  #15 0x00007ffff77cd608 in g_main_context_iterate.constprop.0 (context=0x5555557527c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
  #16 0x00007ffff7778563 in g_main_loop_run (loop=0x55555576da60) at ../glib/gmain.c:4329
  #17 0x00005555555b7b60 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/main.c:216
2021-10-03 13:13:21 +00:00
Benoît Monin 8755e85d13 sms: increase send timeout to 5 minutes
The timeout for sms send operation can exceed the current value, so
increase it to 5 minutes. Timeouts up to 4 minutes have been observed
in the following test scenario:
* Power up the modem and wait for registration.
* Right when the modem is registered, attenuate the rf signal
  or remove the antenna.
* Immediately try to send an sms.

Increasing the timeout cover this corner case.
2021-09-23 11:57:59 +02:00