Es un demonio Linux basado en DBus que permite gestionar módems de banda ancha móvil en sistemas Linux. Su función principal es actuar como intermediario entre el sistema operativo y dispositivos de red 3G/4G/5G, por ejemplo, módems USB o integrados en placas IoT. Actúa como una RIL [Radio Interface Layer - Capa de interfaz de radio] estándar y puede ser utilizado por diferentes administradores de conexión, como NetworkManager. Aunque ModemManager funciona en segundo plano, se puede controlar desde la terminal usando el comando mmcli [ModemManager Command Line Interface]. Este proporciona una interfaz en línea de comandos para inspeccionar, habilitar, conectar o depurar los módems gestionados por ModemManager.
# mmcli -L
# mmcli --scan-modems
# mmcli --list-modems
# mmcli --modem=0
# mmcli --modem=0 --enable
# mmcli -m 0 --simple-connect='apn=iot.1nce.net,ip-type=ipv4v6'
# mmcli -m 0
# mmcli --set-logging=DEBUG
# tail -F /var/log/syslog
# ModemManager --debug & mmcli -m 0 --command='AT+CSQ'
Los comandos AT se utilizan para controlar y obtener información directa del hardware, por ejemplo, AT+CSQ para medir la intensidad de señal.