ModemManager
Manage mobile broadband (2G/3G/4G/5G) modems
SYNOPSIS
ModemManager [OPTIONS] COMMAND
PARAMETERS
--version
Display the version number and exit.
--help
Display help information.
--debug
Enable debug logging.
--log-level
Set the log level (e.g., 'DEBUG', 'INFO', 'WARN', 'ERROR').
--dbus-service
D-Bus service name. Default: org.freedesktop.ModemManager1.
COMMAND
The specific action to perform. Common commands include:
list-modems, enable, disable, connect, disconnect, status.
DESCRIPTION
ModemManager provides a unified high-level interface for communicating with mobile broadband modems. It simplifies the process of using mobile broadband connections on Linux-based systems.
It handles modem detection, configuration, connection management (including connecting, disconnecting, roaming, and signal strength monitoring), SMS handling, and other features related to cellular broadband modems.
ModemManager aims to be a system-wide service, allowing multiple applications to share access to the modem without conflicting with each other. It abstracts away the complexities of different modem types and protocols, presenting a consistent API for applications to use.
CAVEATS
ModemManager interacts with the modem hardware via AT commands and other protocols, and requires appropriate drivers and firmware to be installed. It typically requires root privileges to operate correctly. D-Bus is a must to communicate with modem.
COMMANDS
The `ModemManager` command by itself doesn't do much. It acts as a daemon, and other tools (like `mmcli` or `NetworkManager`) are used to interact with it. The command line options shown above are for controlling the daemon's behavior.
To use ModemManager effectively, you should use tools like mmcli to execute modem specific commands.
HISTORY
ModemManager was created to address the need for a standardized way to manage mobile broadband modems on Linux. Before ModemManager, each application often had its own ad-hoc way of communicating with modems, leading to inconsistencies and conflicts. ModemManager provides a central service to handle these interactions, improving the user experience and simplifying application development. It's widely used in Linux distributions and embedded systems. The development is ongoing, constantly improving the functionality of the software and fixing found bugs.