Xmm7360-pci
自2020年以来配备AMD处理器的Thinkpad(例如 Lenovo Thinkpad L/T14 (AMD) Gen 1, Lenovo ThinkPad T14s (AMD) Gen 1, Lenovo Thinkpad L15 (AMD) Gen 1)仅通过PCIe连接到LTE调制解调器。
Fibocom“仅在USB模式下“支持”Linux。没有迹象表明正在开发官方驱动程序。对于较新的型号(L860 ?),联想正在开发驱动程序。
为了使此硬件在Linux上工作,唯一的解决方案是一个alpha阶段的驱动程序,使用Python 3编写,可在 https://github.com/xmm7360/xmm7360-pci 找到。
此驱动程序旨在与Fibocom L850-GL LTE配合使用,无需切换到USB(因为AMD型号不支持USB),而是直接向调制解调器发送命令。要验证您是否拥有此硬件,请执行以下操作
$ lspci -nnd 8086:7360
05:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem [8086:7360] (rev 01)
准备工作
INFO:root:Attach failed - waiting to see if we just weren't ready
Install linux-headers, base-devel) 以及 acpi_call, python-pyroute2 和 python-configargparse
在Windows中移除PIN码并检查它是否是可用的卡。
或者使用以下命令回显PIN码
# echo "AT+CPIN=\"0000\"" >> /dev/ttyXMM1
在 make && make load
步骤之后。
将 0000
替换为您的PIN码。(参考 https://github.com/xmm7360/xmm7360-pci/pull/21/files)
安装
$ git clone https://github.com/xmm7360/xmm7360-pci.git $ cd xmm7360-pci $ make && make load # python3 rpc/open_xdatachannel.py --apn apn.url # echo "nameserver 1.1.1.1" >> /etc/resolv.conf # ip link set wwan0 up
Linux内核支持和Modem Manager集成
自Linux 5.18以来已添加对此设备的支持(参见 torvalds/linux@1f52d7b)。ModemManager通过MBIM接口访问此类WWAN调制解调器,MBIM接口由iosm内核模块提供。GL-860提供了MBIM接口,而GL-850没有。Fibocom/Intel似乎并不关心,没有公告/传言表明他们将实现它。
这就是 xmm7360-pci/issue/31 正确指出即使使用内核驱动程序,调制解调器也无法工作的原因:加载 iosm 内核模块后,接口显示为 /dev/wwan0at0 和 /dev/wwan0at1,并且可以被 mmcli -L 看到,但 journalctl 显示 SIM 卡未插入
ModemManager: <info> [device /sys/devices/pci0000:00/0000:00:02.5/0000:05:00.0] creating modem with plugin 'Intel' and '3' ports ModemManager: <warn> [plugin/intel] could not grab port wwan0at0: Cannot add port 'wwan/wwan0at0', unhandled port type ModemManager: <info> [base-manager] modem for device '/sys/devices/pci0000:00/0000:00:02.5/0000:05:00.0' successfully created ModemManager: <warn> [modem3] couldn't load supported IP families: SIM not inserted ModemManager: <info> [modem3] state changed (unknown -> locked) ModemManager: <warn> [modem3] modem couldn't be initialized: Couldn't check unlock status: SIM not inserted ModemManager: <info> [modem3] state changed (locked -> failed) ModemManager: <warn> [modem3] error initializing: Modem in failed state: sim-missing ModemManager: <info> [1673136941.3379] manager: (wwan0at1): new Broadband device (/org/freedesktop/NetworkManager/Devices/11) NetworkManager: <info> [1673136941.3382] device (wwan0at1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external') NetworkManager: <info> [1673136941.3385] device (wwan0at1): modem state 'failed' NetworkManager: <info> [1673136941.3387] modem-broadband[wwan0at1]: failed to retrieve SIM object: No SIM object available
ModemManager/issue/612 正在进行开发:Linux 6.2rc1 中接受了一个补丁,该补丁添加了一个低级 mbim.rpc 接口,旨在最终用作内核模块,该模块应脚本式地粘合到 ModemManager 中(并与 xmm7360-pci python3 rpc/open_xdatachannel.py 脚本兼容)。但是,该仓库不再维护。但是,一些用户确实设法使该模块在 ModemManager 中工作。