Linux 无法使用连接到 KVM 切换器的 USB 设备

Linux 无法使用连接到 KVM 切换器的 USB 设备

我在 Linux 桌面和 Windows 10 笔记本之间使用旧的 KVM 切换器,一切正常。现在我正在尝试一个新型 4K 显示 KVM 切换器并且鼠标和键盘只有切换到Windows 10笔记本电脑时才可以使用。

在此输入图像描述

当我启动 Linux 桌面时,鼠标和键盘可以进入 BIOS 设置并选择内核版本,但当它开始启动到 Linux 时,鼠标和键盘会丢失。我尝试了各种 BIOS USB 配置。

制造商网站的常见问题解答中有此内容

专用鼠标和键盘端口具有 EDID 编程。这种模拟允许交换机接收热键和鼠标手势,但与游戏外设和选定的鼠标/键盘品牌发生冲突。这是所有具有热键和鼠标手势切换功能的 KVM 交换机的问题。我们建议使用带有供电 USB 集线器的 USB 端口作为解决方法。由于 USB 端口没有 EDID 仿真,因此使用 USB 输入的设备无法使用键盘热键和鼠标手势切换。

尽管我的设备在切换到 Windows 后工作正常,但此 EDID 问题是否会成为问题?

将键盘和鼠标连接到桌面 USB 端口后,它们显示如下

$ lsusb | grep Dell
Bus 003 Device 012: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 003 Device 016: ID 413c:301d Dell Computer Corp. Dell Universal Receiver

断开鼠标与桌面 USB 的连接并重新连接到桌面 USB 时,dmesg 输出:

[44207.307355] usb 3-1: USB disconnect, device number 16
[44237.459814] usb 3-1: new full-speed USB device number 17 using xhci_hcd
[44237.588780] usb 3-1: New USB device found, idVendor=413c, idProduct=301d, bcdDevice= 0.09
[44237.588793] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[44237.588795] usb 3-1: Product: Dell Universal Receiver
[44237.588796] usb 3-1: Manufacturer: Dell
[44237.592182] input: Dell Dell Universal Receiver as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:413C:301D.001D/input/input42
[44237.644089] hid-generic 0003:413C:301D.001D: input,hidraw3: USB HID v1.11 Keyboard [Dell Dell Universal Receiver] on usb-0000:00:14.0-1/input0
[44237.646362] input: Dell Dell Universal Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:413C:301D.001E/input/input43
[44237.646539] input: Dell Dell Universal Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:413C:301D.001E/input/input44
[44237.697939] input: Dell Dell Universal Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:413C:301D.001E/input/input45
[44237.698040] hid-generic 0003:413C:301D.001E: input,hidraw4: USB HID v1.11 Mouse [Dell Dell Universal Receiver] on usb-0000:00:14.0-1/input1
[44237.699622] hid-generic 0003:413C:301D.001F: hiddev96,hidraw5: USB HID v1.11 Device [Dell Dell Universal Receiver] on usb-0000:00:14.0-1/input2

当连接到 kvm 专用端口时,它们不会显示。

我猜 kvm 专用端口在这里:

$ lsusb | grep Terminus
Bus 003 Device 011: ID 1a40:0101 Terminus Technology Inc. Hub

当 kvm 连接到桌面并连接设备时,dmesg 输出:

[44978.128957] usb 3-4: new high-speed USB device number 24 using xhci_hcd
[44978.255178] usb 3-4: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
[44978.255181] usb 3-4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[44978.255183] usb 3-4: Product: USB 2.0 Hub
[44978.256899] hub 3-4:1.0: USB hub found
[44978.257119] hub 3-4:1.0: 4 ports detected
[44978.638953] usb 3-4.2: new low-speed USB device number 25 using xhci_hcd
[44978.830754] usb 3-4.2: New USB device found, idVendor=046d, idProduct=c534, bcdDevice= 1.01
[44978.830757] usb 3-4.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[44978.838801] logitech-djreceiver 0003:046D:C534.002A: hidraw0: USB HID v1.00 Keyboard [HID 046d:c534] on usb-0000:00:14.0-4.2/input0
[44978.895119] logitech-djreceiver 0003:046D:C534.002B: hidraw1: USB HID v1.11 Mouse [HID 046d:c534] on usb-0000:00:14.0-4.2/input1

所以这些设备可以看作是logitech-djreceiver。是否有一些参数可以传递给内核或一些驱动程序黑客以使其工作?如何排除故障?

每当我按下按键或移动鼠标时,这条线就会不断出现在 dmesg 输出中:

[19064.570003] delayedwork_callback: delayedwork queued before hidpp interface was enumerated

因此设备信号正在传递,但 Linux 并未将其作为鼠标和键盘设备获取。

我已经安装了 unifying-receiver-udev 并重新启动,但仍然无法工作。

还尝试了罗技鼠标,结果相同。

答案1

我的朋友也遇到了同样的问题16端口TESmart 4k HDMI KVM切换器在 Linux 5.8.18 上。

由于开关在引导加载程序中正常工作,因此修复了它:

sudo su
echo "blacklist hid_logitech_dj" > /etc/modprobe.d/logitech_dj.conf
reboot

所以只需将hid_logitech_dj内核模块列入黑名单即可。

答案2

谢谢@lubosz!你救了我的命!!

实际上不需要重新启动:

sudo su -
echo "blacklist hid_logitech_dj" > /etc/modprobe.d/tesmart-kvm.conf

现在断开 kvm 和 PC 之间的电缆,然后:

sudo rmmod hid_logitech_dj

然后重新连接电缆,它不应再加载 hid_logitech_dj 。

验证(不应给出任何结果):

lsmod | grep hid_logitech_dj

如果您看到它仍然列出,请重新启动。

相关内容