ThinkPad 移动网络
许多 Lenovo ThinkPad 笔记本电脑都配备了移动宽带调制解调器。通过将 SIM 卡插入调制解调器,可以使用蜂窝网络连接到互联网。
ModemManager 处理的设备
较新的 Quectel 调制解调器(例如,X13 Gen2、X1C Gen9、T14 Gen 2 AMD 上的 Quectel EM120R-GL)可以通过 ModemManager 进行设置,并使用 NetworkManager 进行管理。
安装 modemmanager,然后启动并启用 ModemManager.service
。
FCC 解锁 Quectel 调制解调器
在某些设备上,调制解调器将处于 fcc-lock 状态。
您需要找到调制解调器设备:已知设备为 /dev/ww*
和 /dev/cdc*
。或者,在内核日志中搜索 wwan
或 WDM
。
可以使用以下命令确认锁定的调制解调器
# mbimcli -p -d device -v --quectel-query-radio-state
... >>>>>> RadioState = 'fcc-locked' ...
然后您可以解锁调制解调器
# mbimcli -p -d device -v --quectel-set-radio-state=on
然后您可以启用调制解调器
$ mmcli --modem 0 --enable
配置 ModemManager 处理的设备
可以通过 CLI 或 GUI 进行设置。
您可以使用 NetworkManager 的 nm-connection-editor 添加新的移动宽带连接,并按照提示配置您的连接。
或者以 KDE Plasma 为例
- 在系统设置 > 连接中,单击右下角的加号以创建新链接
- 选择移动宽带 > 创建
- 设置移动宽带连接 > 任何 GSM 设备
- 国家 > country_code
- 提供商 > provider_name
- 选择您的套餐 > 我的套餐未列出
- APN > apn.number
QMI 协议调制解调器
要求
旧款 ThinkPad 中的宽带调制解调器使用 QMI 调制解调器协议 — 有关更多信息,请参阅 ModemManager 开发人员的 “libqmi 简介”。这些调制解调器将在文件系统中显示为 /dev/cdc-wdm
。
无法在 Linux 上初始化 QMI 调制解调器以供使用。请使用 Windows 通过 Lenovo 的激活应用程序(或网络搜索“Lenovo mobile broadband”以查找适合您调制解调器的应用程序)激活调制解调器。调制解调器在通过应用程序正确初始化之前无法工作。
步骤
安装 libqmi 软件包,该软件包提供 qmicli
和 qmi-network
程序。另请安装 net-tools 以获取使用 ifconfig
命令的辅助脚本。
GitHub 上提供了用于 qmi-network
的辅助脚本。将脚本保存到 $PATH
中的某个位置,然后查看脚本并使其可执行。可能需要更改某些变量的值,尤其是 WWAN_DEV
,可以通过 ip a
找到它(设备名称以 ww
开头)。
加载内核模块 qmi_wwan
和 qcserial
# modprobe qmi_wwan # modprobe qcserial
另请阅读 QMI 助手 GitHub 页面上的 README,了解任何进一步的先决条件。特别是,您可能需要在 /etc/qmi-network.conf
中设置您的蜂窝网络提供商提供的 APN。
/etc/qmi-network.conf
APN=foo.bar.net
最后,运行 qmi_setup.sh start
应该启动蜂窝网络连接。
Gobi 调制解调器
此方法是一些 QMI 调制解调器的替代方法。
首先,您需要确定您的调制解调器型号。打开 ThinkPad 的背板,查找 IC 或 FCC ID。在此示例中,我们将使用 GOBI2000(IC:2723A-GOBI2000,FCC ID:J9CGOBI2000-L)
从 BIOS I/O 设置中启用您的调制解调器设备。
从 https://support.lenovo.com/us/en/downloads/ds001302 下载驱动程序安装程序可执行文件,并使用 Wine 解压它。它会将驱动程序解压到 ~/.wine/drive_c/DRIVERS/WWANQL
。解压程序将提示您在解压后自动安装驱动程序,但如果您再次需要安装程序,则它是先前提到文件夹中的 GobiInstaller.msi
。安装程序将反过来将固件映像解压到 ~/.wine/drive_c/Program\ Files\ \(x86\)/QUALCOMM/Images/Lenovo
。
现在参考有关您想要/需要的固件的参考信息。通常,通用 UMTS 和默认固件(文件夹 6 和 UMTS)就足够了。
安装 gobi-loaderAUR。现在将之前的 3 个固件文件复制到 /lib/firmware/gobi
(如果该文件夹不存在,请创建它)。将 SIM 卡插入电池组下方的端口并重新启动。您的调制解调器现在应该会在您的网络管理器中显示出来。
参见:https://www.thinkwiki.org/wiki/Qualcomm_Gobi_2000
绕过 BIOS 级别的白名单限制
在较新的 ThinkPad 型号中,由于所有现代 Lenovo 笔记本电脑中实施的 BIOS 级别限制(允许的 M.2 扩展卡的“白名单”),通常无法将 LTE 调制解调器更换为受支持的调制解调器。但是,已经找到一种方法来配置任何 Sierra Wireless EM73xx/EM74xx 调制解调器以“规避”白名单检查,因此可以正常使用这些调制解调器。
我们将在此处假设型号为 Sierra Wireless EM7455
。
Sierra Wireless EM7455 的设置
一般描述
使用 AT!CUSTOM="FASTENUMEN",0
AT 命令禁用调制解调器的USB 快速枚举功能。调制解调器将花费更长的时间才能在 USB 总线上出现,并且固件将在启动时“错过”调制解调器。
或者,使用 AT!CUSTOM="FASTENUMEN",2
选择性地仅为热启动启用USB 快速枚举。调制解调器将在 S3 恢复时更快地重新出现,但仍然可以规避常规启动和重新启动时的白名单检查(此效果的机制对于作者而言尚不完全清楚)。
这有一个缺点:由于固件“看不到”调制解调器,因此它不会导出 WWAN rfkill,而是会无条件地断言 M.2 插槽的 W_DISABLE
引脚,从而强制调制解调器进入“飞行模式”。使用 AT!PCOFFEN=2
AT 命令配置调制解调器以忽略此引脚。
步骤详解
启动笔记本电脑,安装原装调制解调器,并在 BIOS 设置中启用 WWAN 卡访问。
挂起笔记本电脑(确保将其配置为使用 S3)。
热插拔将原装 Fibocom 调制解调器更换为 Sierra Wireless 调制解调器,然后恢复。S3 恢复时不会查阅白名单。
检查调制解调器是否在 USB 总线上
# lsusb
<...> Bus 001 Device 004: ID 1199:9071 Sierra Wireless, Inc. <...>
记住调制解调器的 VID(供应商 ID)(在本例中为 1199
)。
停止 ModemManager.service
(如果正在运行)。
可选地,使用 qmi-firmware-update
工具更新调制解调器固件
# cd /path/to/extracted/firmware # qmi-firmware-update -d 1199 -u *.cwe *.nvu
更改调制解调器的 USB 组合以启用 AT 命令端口
# qmicli -d /dev/cdc-wdm1 --dms-swi-set-usb-composition=8
按照 qmicli
的建议,对调制解调器进行电源循环
# qmicli -d /dev/cdc-wdm1 --dms-set-operating-mode=offline # qmicli -d /dev/cdc-wdm1 --dms-set-operating-mode=reset
等待调制解调器重新出现,然后验证
# qmicli -d /dev/cdc-wdm1 --dms-swi-get-usb-composition
[/dev/cdc-wdm1] Successfully retrieved USB compositions: USB composition 6: DM, NMEA, AT, QMI [*] USB composition 8: DM, NMEA, AT, MBIM USB composition 9: MBIM
验证三个串行端口 /dev/ttyUSB0
、/dev/ttyUSB1
和 /dev/ttyUSB2
现在可用(假设您没有插入任何其他 USB 串行转换器)
# ls -l /dev/ttyUSB*
crw-rw---- 1 root uucp 188, 0 Feb 14 20:11 /dev/ttyUSB0 crw-rw---- 1 root uucp 188, 1 Feb 14 20:11 /dev/ttyUSB1 crw-rw---- 1 root uucp 188, 2 Feb 14 20:11 /dev/ttyUSB2
使用您选择的串行终端模拟器(例如 screen
)连接到 /dev/ttyUSB2
# screen /dev/ttyUSB2 115200
输入 AT 命令(请注意,您无需键入 OK
,此处包含的回复是会话记录的一部分)
启用命令回显(如果最初禁用回显,您将看不到您键入的此命令)
ATE1 OK
解锁工程命令
AT!ENTERCND="A710" OK
检查自定义选项(这些是作者的选项)
AT!CUSTOM? !CUSTOM: GPSENABLE 0x01 GPSSEL 0x01 IPV6ENABLE 0x01 SIMLPM 0x01 SINGLEAPNSWITCH 0x01 OK
配置USB 快速枚举(如果您想安全起见,请将 2
替换为 0
)
AT!CUSTOM="FASTENUMEN",2 OK
验证,现在应该与其他选项一起显示 FASTENUMEN
选项
AT!CUSTOM? !CUSTOM: GPSENABLE 0x01 GPSSEL 0x01 IPV6ENABLE 0x01 SIMLPM 0x01 FASTENUMEN 0x02 SINGLEAPNSWITCH 0x01 OK
配置调制解调器以忽略 W_DISABLE
AT!PCOFFEN=2 OK
验证
AT!PCOFFEN? 2 OK
重置调制解调器
AT!RESET OK
终端将在一段时间后断开连接。
等待调制解调器重新出现,然后通过重新启动/关机/硬重置笔记本电脑来验证配置。
备注
有关更多信息(包括导致此发现的原始思路),请参阅这些 lenovo 论坛帖子 和这个 reddit 帖子。
您还可以应用 此处 描述的其他有用的配置选项。
故障排除
确保您已在 Windows 上初始化调制解调器。
WWAN/LTE GUI
安装 NetworkManager 和 network-manager-applet,以便更轻松地找到您的 SIM 卡的正确 APN。
无效的转换
如果您在运行 mmcli -m 0 -e
时收到错误 Invalid Transition
,则可能是您尚未删除调制解调器上的 fcc-lock。请参阅 #FCC 解锁 Quectel 调制解调器 中的示例命令。