![Linux는 KVM 스위치에 연결된 USB 장치를 사용할 수 없습니다.](https://linux55.com/image/177765/Linux%EB%8A%94%20KVM%20%EC%8A%A4%EC%9C%84%EC%B9%98%EC%97%90%20%EC%97%B0%EA%B2%B0%EB%90%9C%20USB%20%EC%9E%A5%EC%B9%98%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
저는 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에서 분리했다가 다시 연결하면 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를 설치하고 재부팅했지만 여전히 작동하지 않습니다.
또한 동일한 결과로 Logitech 마우스를 사용해 보았습니다.
답변1
내 친구도 같은 문제를 겪었습니다16포트 TESmart 4k HDMI KVM 스위치리눅스 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
여전히 나열되어 있으면 재부팅하세요.