Xmm7360-pci

出自Arch维基

自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)

准备工作

注意: 调制解调器必须首先在Windows下激活。如果它被停用,尝试打开通道将导致错误消息
INFO:root:Attach failed - waiting to see if we just weren't ready

Install linux-headers, base-devel) 以及 acpi_call, python-pyroute2python-configargparse

在Windows中移除PIN码并检查它是否是可用的卡。

或者使用以下命令回显PIN码

# echo "AT+CPIN=\"0000\"" >> /dev/ttyXMM1

make && make load 步骤之后。

0000 替换为您的PIN码。(参考 https://github.com/xmm7360/xmm7360-pci/pull/21/files

安装

本文或本节的事实准确性存在争议。

原因: 我们是否应该引导用户使用 xmm7360-pci-dkms-gitAURxmm7360-pci-utils-gitAUR 软件包,而不是从源代码构建并安装文件而不让 pacman 跟踪它们? 还有 xmm7360-usb-modeswitch-gitAUR 可用。(在 Talk:Xmm7360-pci 中讨论)
$ 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 中工作。