27 Commits
Author SHA1 Message Date
Dan Williams f014f3843e broadband-modem,cli: slightly bump 3GPP scan timeout; add some cli dbus timeout slack
Add some mmcli D-Bus timeout slack, making them slightly higher than the
ModemManager internal timeout, to ensure the cli doesn't time out the
D-Bus call when MM succeeds.

For 3GPP scan, some modems appear to have internal 5 minute timeouts,
so ensure MM doesn't time out right before the modem returns results:

ModemManager[282578]: <dbg> [1741054422.321400] [ttyUSB2/at] --> 'AT+COPS=?<CR>'
ModemManager[282578]: <wrn> [1741054722.247806] [modem1] failed scanning networks: Serial command timed out
ModemManager[282578]: <dbg> [1741054724.119770] [ttyUSB2/at] <-- '<CR><LF>+COPS: (1,"T-Mobile","T-Mobile","310260",0),,(0,1,2,3,4),(0,1,2)<CR><LF><CR><LF>OK<CR><LF>'

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-06 04:52:50 +00:00
Anagh G c6c4be9d69 cli: Added bearer path print after successful modem connect
For a ModemManager simple connect using mmcli, added the bearer
path on which call is connected. This helps in determining the
bearer path to directly retrieve bearer information easily
of this particular call.

Signed-off-by: Anagh G <quic_anaghg@quicinc.com>
2025-03-05 16:15:53 +00:00
Dan Williams b178d46265 cli: set higher 3GPP Scan(), Register(), and Connect() method timeouts
Similar to voice call mmcli timeouts, set larger proxy-wide timeouts for
long-running operations. Match these timeouts with the internal ModemManager
timeouts for the AT/MBIM/QMI operation timeouts.

Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/941
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/942

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-01-11 20:53:15 -06:00
Aleksander Morgado f1e77cdbe6 cli: context: add ':' to the section titles
So that --help-all print all sections in the same way as the Help and
Application option groups.
2020-03-21 15:40:13 +01:00
Aleksander Morgado 1fa7e1260d cli: fix warnings with -Wshadow
mmcli-manager.c: In function ‘context_free’:
  mmcli-manager.c:167:24: error: declaration of ‘ctx’ shadows a global declaration [-Werror=shadow]
    167 | context_free (Context *ctx)
        |               ~~~~~~~~~^~~
  mmcli-manager.c:51:17: note: shadowed declaration is here
     51 | static Context *ctx;
        |                 ^~~
  ...
2020-01-31 15:18:35 +01:00
Aleksander Morgado 613aceabda cli,simple: remove redundant --simple-status action
The Simple.GetStatus() method is useful for simple DBus clients that
don't need all the information associated to the modem, just the most
important bits. But, in our case, the information provided by this
method is already given by the standard modem info output, so it is
totally redundant.
2018-11-26 16:51:35 +00:00
Aleksander Morgado fe460b2f54 3gpp: update registration state enumeration with CSFB related states
Introduce "sms only" and "CSFB not preferred" home/roaming states to be reported
for the CS context, while already registered on LTE.

Based on 3GPP TS 27.007 v13.5.0.
2016-10-12 13:24:08 +02:00
Aleksander Morgado ee85a463cf license: mmcli is GPLv2+, not GPLv3+
mmcli is GPLv2+; that's what --version has always said and that's what the
README in ModemManager sources specifies:
  License.
  The ModemManager and mmcli binaries are both GPLv2+.
  The libmm-glib library is LGPLv2+.
2015-12-07 13:16:24 +01:00
Ben Chan d4177f554b cli: consistently use spaces for indentation 2014-05-20 09:32:15 +02:00
Thieu Le f9a4f87d52 iface-modem-3gpp: add SubscriptionState property 2013-10-09 09:59:42 +02:00
Aleksander Morgado 212d00c529 api,instrospection: rename 'Bands' to 'CurrentBands'
... and 'SetBands()' to 'SetCurrentBands()'.

We'll keep the 'Current' keyword in those properties which also have
'Supported' values.
2013-06-05 19:15:14 +02:00
Aleksander Morgado c250fa3797 libmm-glib: remove the `libmm-common.h' header
Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only.

We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI'
symbols, which if included before the `libmm-glib.h' library allow us to:

 * Don't include the libmm-glib high level API in the ModemManager daemon, as
   the object names would clash with those in the core.

 * Define some of the methods of helper objects to be included only if compiling
   ModemManager daemon or the mmcli.
2012-10-04 10:17:12 +02:00
Aleksander Morgado 8f8bcd7724 cli: allow modifying default DBus timeout with `--timeout'
By default 30s will be used for every operation.
2012-07-25 11:44:01 +02:00
Aleksander Morgado 28f13c09ec mmcli: abort certain operations if modem is unlocked
Do not try to perform feature/capability specific actions if we're still
unlocked, as the modem didn't yet export the feature/capability specific
interface.

The only interfaces expected while modem is unlocked are the Modem and Simple
interfaces, as well as the SIM interface in the SIM object, of course.
2012-03-26 13:00:07 +02:00
Aleksander Morgado 467b8892ae mmcli: ensure the modem exports the Simple interface before trying to use it 2012-03-26 12:09:33 +02:00
Aleksander Morgado cd63df938f libmm-common: `MMSimpleStatus' won't be considered internal any more
Renamed `MMCommonSimpleProperties' to `MMSimpleStatus', and removed the
`MMSimpleStatusProperties' provided in libmm-glib. We'll just use the original
one from libmm-common always.
2012-03-16 14:53:20 +01:00
Aleksander Morgado 1385eb394f libmm-common: `MMSimpleConnectProperties' won't be considered internal any more
Renamed `MMCommonConnectProperties' to `MMSimpleConnectProperties', and removed
the `MMModemSimpleConnectProperties' provided in libmm-glib. We'll just use the
original one from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado d528a2211b cli: ensure EOL is added at every error message 2012-03-15 14:15:01 +01:00
Aleksander Morgado c753649361 cli: use new enums/flags string getters/builders 2012-03-15 14:14:53 +01:00
Aleksander Morgado 31131a1f66 cli: print properties only if registered in the specific network(s)
If registered in the 3GPP network, print 3GPP-specific properties; and if
registered in a CDMA network, print CDMA-specific properties.
2012-03-15 14:14:50 +01:00
Aleksander Morgado 5f5ad38431 cli: include CDMA-specific properties in the simple status report 2012-03-15 14:14:50 +01:00
Aleksander Morgado 8c704ea7a2 libmm-glib: prefix with '3gpp' the 3GPP-specific simple status properties 2012-03-15 14:14:50 +01:00
Aleksander Morgado eb1c7afc8c cli: implement `--simple-status' 2012-03-15 14:14:39 +01:00
Aleksander Morgado 0cdb293452 cli: new `simple-disconnect' command
This command doesn't expect any argument, it will disconnect all available
bearers. You can disconnect specific bearers using `--bearer' and
`--disconnect'.
2012-03-15 14:14:38 +01:00
Aleksander Morgado 3c90793f22 cli: use the new properties handler object in simple Connect() 2012-03-15 14:14:38 +01:00
Aleksander Morgado 9d7e3de4cd api: MMModemBand is now an enum, not flags
We don't want to handle bands as flags, in order to avoid the need of 64-bits
for the enum. This change implies that setting allowed bands will be done by
giving an array of uint32 values, signature "au".
2012-03-15 14:14:37 +01:00
Aleksander Morgado 21d3aed125 cli: implement actions from the Simple interface 2012-03-15 14:14:37 +01:00