Linux移动宽带之ModemManager

概述

ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections.

ModemManager provides a unified high level API for communicating with mobile broadband modems, regardless of the protocol used to communicate with the actual device (Generic AT, vendor-specific AT, QCDM, QMI, MBIM…).

官方仓库:https://github.com/linux-mobile-broadband/ModemManager/

ModemManager 是一个用于管理各种调制解调器(modems)的守护进程,它使得在Linux系统上操作和管理移动宽带设备变得更加容易。ModemManager 支持多种类型的调制解调器,包括GSM、UMTS、LTE等技术,并且能够处理诸如信号强度查询、网络注册状态获取、短信发送与接收、USSD请求等功能。

主要功能

  • 网络连接管理:可以自动扫描可用网络、注册到选定的网络,并维持连接。
  • 消息服务:支持发送和接收SMS消息。
  • USSD支持:允许通过USSD代码与运营商进行交互,例如查询余额或激活套餐。
  • 硬件兼容性广泛:支持大量USB、PCI Express、ExpressCard以及嵌入式调制解调器。

使用

安装

在大多数现代Linux发行版中,你可以直接从软件仓库安装 ModemManager 及其相关工具。例如,在基于Debian的系统上,你可以使用如下命令进行安装:

sudo apt-get update
sudo apt-get install modemmanager

对于其他发行版,请参考各自的包管理器说明来进行安装。

使用方法

通常情况下,ModemManager 会作为后台服务运行,用户可以通过不同的前端工具来与其交互,比如 mmcli 命令行工具或者图形界面的 NetworkManager。

使用 mmcli

mmcli 是 ModemManager 提供的一个命令行工具,用于与调制解调器交互并执行各种任务。以下是一些基本的例子:

  • 列出所有检测到的调制解调器
    mmcli -L
  • 查看特定调制解调器的详细信息(假设调制解调器索引为0):
    mmcli -m 0
  • 启用调制解调器
    sudo mmcli -m 0 --enable
  • 检查网络信号质量
    sudo mmcli -m 0 --signal-get
  • 发送短信(需要知道调制解调器索引和目标号码):
    sudo mmcli -m 0 --messaging-create-sms="text='Hello',number='+1234567890'" --sms-send=/org/freedesktop/ModemManager1/SMS/1

    注意事项

由于 ModemManager 涉及到底层硬件的操作,因此在执行一些命令时可能需要超级用户权限。此外,确保你的内核版本和支持库是最新的是很重要的,这样可以获得最佳的兼容性和性能。如果你遇到任何问题,查阅官方文档或社区论坛可能会有所帮助。