我使用了ltunify
罗技Unifying Receiver的配对工具,作者:莱肯斯坦,在我的 Logitech M510 鼠标和 K350 键盘上,运行完美。但是,当我重新启动时,这些更改就会丢失,我必须插入旧键盘才能重新运行ltunify
。
有什么方法可以使这些更改永久生效,这样我就不必在每次重新启动时不断打开和关闭设备?
编辑:重启机器后执行ltunify list
,显示设备是连接并配对,尽管事实上它们不工作:
Devices count: 2
Connected devices:
idx=1 Mouse M510
idx=2 Keyboard K350
另请注意:
- 在 BIOS 中,键盘和鼠标都可以开箱即用
- 在 GRUB 启动菜单中,键盘可以工作(无法测试鼠标,因为它不是 GUI)
- 在安装程序 (CentOS 7) 中,键盘和鼠标都可以开箱即用
- CentOS 7 64 位,内核 3.10.0-123.20.1.el7.x86_64
编辑2:我正在使用的系统是英特尔 NUC DN2820HKFY。
答案1
正如您所提到的,设备并未真正失去配对状态,因此应该排除硬件缺陷。
我能想到的最有可能的问题是运行时电源管理的存在,它以某种方式使 USB 端口休眠,从而不知道接收器。然而,用鼠标单击或按键应该可以解决此类问题。
值得尝试的建议:
- 将 Logitech Unifying 接收器插入另一个 USB 端口。较旧的内核在 USB 3.0 和 USB 2.0 工作的接收器方面存在问题。 (在过去两年发布的内核中,我没有遇到这样的问题。)
- 禁用 USB 端口的电源管理。
- 出现问题时重新插入 USB 接收器。
过去,我编写了这个 udev 规则文件来在接收器插入时触发配对过程。调整 ltunify 和超时值并将它们放入/etc/udev/rules.d/60-ltunify-pair.rules
.
# skip actual unified devices, only consider the receiver
DRIVERS=="logitech-djdevice", GOTO="do_not_pair"
# ignore devices in Linux 3.19+
DRIVERS=="logitech-hidpp", GOTO="do_not_pair"
# Skip removal, pairing makes no sense
ACTION!="add", GOTO="do_not_pair"
SUBSYSTEM!="hidraw", GOTO="do_not_pair"
# official Unifying receivers
ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", GOTO="do_pair"
ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", GOTO="do_pair"
# "Unifying Ready" Nano receiver
ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", GOTO="do_pair"
GOTO="do_not_pair"
LABEL="do_pair"
# 5 seconds to pair a new device
PROGRAM="/bin/sh -c 'sleep .5; /usr/local/bin/ltunify pair 5'"
LABEL="do_not_pair"
# vim: ft=udevrules