如何使“ltunify”程序的配对永久有效?

如何使“ltunify”程序的配对永久有效?

我使用了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

相关内容