跳转至内容

Logitech Unifying Receiver

来自 ArchWiki

通过 Logitech Unifying Receiver,可以使用 2.4 GHz 频段无线通信,将多达六个兼容的无线鼠标和键盘连接到您的计算机。较新的 Logi Bolt 无线技术 也支持此功能。随接收器附带的输入设备已与接收器配对,应即插即用。Logitech 官方仅支持通过其 Windows 和 macOS 软件配对其他设备。

在 Linux 上配对和取消配对支持多种工具,如下文所述。

ltunify 是一个命令行 C 程序,可执行配对、取消配对和设备列表操作。截至 2024 年 1 月,ltunify 尚未识别 Bolt 接收器。 Solaar 是一个图形化 Python 程序,集成到您的系统托盘中,可让您配置输入设备的附加功能,例如交换 Fn 键的功能。它支持 Bolt 设备和 Unifying 设备。 libratbag 是一个可配置的鼠标守护进程,允许您配置您的设备,它有一个基于 GTK 的图形前端应用程序 piper

安装

有几种解决方案可用

以下软件包使用 plugdev 用户组,如果不存在,请创建该用户组,并将用户添加到该组,以避免需要以 root 身份运行它们。

别忘了重新登录以应用用户组的成员身份。安装后,运行

# udevadm control --reload-rules

然后重新插入接收器,或重启系统。之后您将不再需要 root 权限。

用法

pairingtool 只能用于配对,不提供反馈,并且需要知道设备的名称才能配对。ltunify、Solaar 和 libratbag 可以自动检测接收器。

ltunify

取消配对设备、配对新设备和显示所有设备列表的示例

$ ltunify unpair mouse
Device 0x01 Mouse successfully unpaired
$ ltunify pair
Please turn your wireless device off and on to start pairing.
Found new device, id=0x01 Mouse
$ ltunify list
Devices count: 1
Connected devices:
idx=1   Mouse   M525

Solaar

Solaar 具有 GUI 和 CLI。CLI 配对会话示例

$ solaar unpair mouse
Unpaired 1: Wireless Mouse M525 [M525:DAFA335E]
$ solaar pair
Pairing: turn your new device on (timing out in 20 seconds).
Paired device 1: Wireless Mouse M525 [M525:DAFA335E]
$ solaar show
-: Unifying Receiver [/dev/hidraw0:08D89AA6] with 1 devices
1: Wireless Mouse M525 [M525:DAFA335E]

要禁用 Solaar 的自动启动,请删除 /etc/xdg/autostart/solaar.desktop。有关 udev 示例,请参见 Gentoo:Logitech bolt

libratbag

目前,piper 无法配对/管理 Unifying 接收器的设备,但 libratbag 包含一个 lur-command 命令行工具,可以执行此操作。

pairingtool

要查找接收器拥有的设备,请查看以下输出:

$ ls -l /sys/class/hidraw/hidraw*/device/driver | awk -F/ '/receiver/{print $5}'

这将显示您的接收器的名称,例如 hidraw0

现在关闭您要配对的设备(如果它之前已开启),然后使用合适的设备作为参数执行您编译好的程序。

# pairing_tool /dev/hidraw0
The receiver is ready to pair a new device.
Switch your device on to pair it (you have thirty seconds to do so).

现在打开您要配对的设备。几秒钟后,您的新设备应该可以正常工作。

故障排除

设备错误 (仅限配对工具)

在某些系统上,有多个同名设备。在这种情况下,如果选择了错误的设备,您将收到以下错误消息:

# pairing_tool /dev/hidraw1
Error: 32
write: Broken pipe

通过 xorg.conf 设置键盘布局

从内核 3.2 开始,Unifying Receiver 获得了自己的内核模块 hid_logitech_dj,该模块与通过 xorg.conf 设置的键盘布局设置配合使用并不完美。一个临时解决方法是使用 xorg-setxkbmap 手动设置布局。例如,对于没有死键的德语布局,您必须执行:

$ setxkbmap -layout de -variant nodeadkeys

要自动化此过程,您可以将此行添加到 xinitrc 或您的窗口管理器或桌面环境的相应 自动启动 文件中。

Logitech K400r 触摸板键盘与 M325 Unifying Receiver

集成触摸板的 Logitech K400r 键盘附带 Logitech Unifying Receiver M325,因此上述键盘布局问题也适用于此处。

此外,集成触摸板被识别为“pointer”而不是“touchpad”,因此您无法使用 Touchpad Synaptics 驱动程序。两指水平滚动和轻触点击将正常工作,但要模拟鼠标中键,您必须添加

/etc/X11/xorg.conf.d/10-evdev.conf
Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Emulate3Buttons" "true"
EndSection

到您的 evdev.conf。现在,通过同时按下两个按钮来模拟第三个按钮。

Solaar 'Permission denied' (权限被拒绝)

是否可能收到错误:

$ solaar show
solaar: error: [Errno 13] Permission denied: '/dev/hidraw2'

在这种情况下,您可以物理移除 Unifying Receiver,然后重新插入,并重新运行命令(如官方网站 [1] 安装部分的第二点所述)。

无线键盘在启动时无法工作 (无法输入 LUKS 密码)

在启动过程中,无法使用 Logitech 无线键盘(例如 Logitech MK700)输入任何内容。问题的原因是自内核 3.2 起 Logitech 设备自带的 hid 模块。

解决方法是在 /etc/mkinitcpio.conf 的 MODULES 中添加 hid-logitech-hidpp

MODULES=(hid-logitech-hidpp)

重新生成 initramfs

MouseJack 漏洞

系统存在多项安全漏洞,如果您的固件未及时更新,您可能会特别受到 MouseJack Vulnerability 的影响。

可以通过运行以下命令显示当前固件的版本:

ltunify receiver-info

版本早于 012.008.00030 的 RQR12 固件和版本早于 024.006.00030 的 RQR24 固件受到此漏洞影响,应进行更新。

可以使用 fwupd 进行固件更新,如下所示:

fwupdmgr refresh && fwupdmgr get-updates

如果一切正常,请应用更新。

fwupdmgr update

键盘或鼠标无法唤醒电脑从睡眠状态

请遵循 Solaar USB 安装说明。

电脑立即从睡眠状态唤醒

如果使用 Logi Bolt 接收器,这可能会成为一个问题。要解决此问题,您可以安装并运行 solaar。如果您愿意,可以通过将其添加到您的自动启动程序来隐藏启动:

solaar -w hide

如果问题仍然存在,或者不想安装 solaar 及其依赖项,以下 udev 规则将禁用 Unifying 或 Bolt 接收器的唤醒事件。这将解决立即唤醒问题,将系统机箱电源按钮作为唤醒触发器(鼠标按钮点击不会唤醒)。

/etc/udev/rules.d/logitech-receiver.rules
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b|c548", ATTR{power/wakeup}="disabled"

或者,以下规则为 Bolt 接收器启用了 USB 自动挂起。当接收器已处于挂起状态时,在挂起计算机之前,它不会触发立即唤醒,并且您可以使用鼠标唤醒计算机。但是,这会引入一个问题:当 Bolt 接收器挂起时,鼠标会忽略输入,直到您移动它或单击按钮。因此,自动挂起延迟设置为较高的值 60 秒。默认内核值为 2 秒,也可以通过 usbcore.autosuspend 参数全局更改。

/etc/udev/rules.d/logitech-receiver.rules
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c548", ATTR{power/control}="auto", ATTR{power/autosuspend_delay_ms}="60000"

无线设备延迟

由于接收器使用蓝牙和 Wi-Fi 802.11 也使用的 2.4 GHz 频率,因此在接收器附近 Wi-Fi 使用量大的情况下,可能会出现设备通信延迟或干扰。这是不太可能的,因为接收器将其通信限制在大多数 802.11 解决方案未使用的信道上,并且它可以在频段内快速更改信道,如果它检测到任何来自其他设备的干扰。然而,一些用户曾经历过干扰。

打开/关闭设备将强制搜索一个“安静”的信道,并可能解决问题。

这个问题也可能表现为来自主板 USB3 插槽的电噪声,并且接收器靠近或位于其中。将接收器移到 USB 集线器或延长线末端可能可以解决此问题。

参见

  • Logiops - 用于配置受支持的鼠标和键盘的 Logitech Options 替代方案