LinuxCommandLibrary

mmcli

Control and monitor modem devices

TLDR

List available modems

$ mmcli --list-modems
copy

Print information about a modem
$ mmcli --modem=[modem]
copy

Enable a modem
$ mmcli --modem=[modem] --enable
copy

List SMS messages available on the modem
$ sudo mmcli --modem=[modem] --messaging-list-sms
copy

Delete a message from the modem, specifying its path
$ sudo mmcli --modem=[modem] --messaging-delete-sms=[path/to/message_file]
copy

SYNOPSIS

mmcli [OPTIONS] [COMMAND]

PARAMETERS

--help
    Display help message and exit.

-m, --modem
    Specify the modem to use (index as listed by 'mmcli -L').

-i, --imei
    Specify the modem to use (by IMEI).

-p, --path
    Specify the modem to use (by device path).

-L, --list-modems
    List available modems.

-M, --monitor-connect
    Monitor modem connection state.

-D, --disable-modem
    Disable a specified modem.

-E, --enable-modem
    Enable a specified modem.

-o, --output-fields
    Output specific fields (e.g., 'Status,Signal').

-s, --simple-connect
    Connect to the network using the specified APN.

-S, --simple-disconnect
    Disconnect from the network.

--command-fd
    File descriptor used for sending/receiving commands.

--version
    Display version information and exit.

DESCRIPTION

mmcli (ModemManager CLI) is a command-line tool designed for interacting with the ModemManager service in Linux-based operating systems. It provides a way to manage and control mobile broadband (2G, 3G, 4G, and 5G) modems. Using mmcli, you can list detected modems, query their capabilities and status, connect to and disconnect from mobile networks, send and receive SMS messages, and perform other modem-related operations.

The tool simplifies interaction with complex modem features by providing a user-friendly command-line interface. It is commonly used in embedded systems, servers, and desktop environments where reliable mobile broadband connectivity is essential. mmcli is frequently employed for automated scripting and configuration tasks, enabling administrators to programmatically manage modems without directly interacting with the ModemManager D-Bus API. Proper understanding of GSM, UMTS, and LTE technologies improves the usefulness of this command.

CAVEATS

mmcli requires ModemManager service to be running. Root privileges are usually necessary for many operations.

DEBUGGING

For detailed debugging, run mmcli with the --debug flag. This outputs verbose information about the interactions with ModemManager and the modem.

TROUBLESHOOTING CONNECTION PROBLEMS

If connection problems occur, review ModemManager logs using journalctl -u ModemManager. Check the APN configuration, SIM card status, and signal strength using mmcli -m --output-fields Status,Signal.

HISTORY

mmcli is part of the ModemManager project, which aims to provide a unified way to manage mobile broadband devices across different Linux distributions. Development started in the late 2000s. It is actively maintained and has become a crucial tool for managing mobile broadband connectivity in various Linux environments. It continues to evolve to support new modem technologies and features.

SEE ALSO

Copied to clipboard