PopOS Linux with 4-port HDMI KVM doesn't recognize KVM USB

KVM Model:

HDMI 2.1 KVM w/EDID & Serial Control - Single Monitor - Four Computer

USB Interface (5-gigabit or 10-gigbit):

10


Problem:

On PopOS, the KVM USB is not recognized correctly, and I get errors in the system log. As a result, no USB devices including the HID USB devices necessary for basic function do not pass through. Relevant dmesg log here:

[  542.088832] usb 1-4.1: new full-speed USB device number 9 using xhci_hcd
[  542.421090] usb 1-4.1: New USB device found, idVendor=046d, idProduct=c08a, bcdDevice=16.00
[  542.421098] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  542.421100] usb 1-4.1: Product: MX Vertical Advanced Ergonomic Mouse
[  542.421102] usb 1-4.1: Manufacturer: Logitech
[  542.421104] usb 1-4.1: SerialNumber: 3ECF25456EB57279
[  542.473227] input: Logitech MX Vertical Advanced Ergonomic Mouse as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:08.0/0000:0c:00.0/0000:0d:0c.0/0000:14:00.0/usb1/1-4/1-4.1/1-4.1:1.0/0003:046D:C08A.0009/input/input26
[  542.473370] hid-generic 0003:046D:C08A.0009: input,hidraw4: USB HID v1.11 Mouse [Logitech MX Vertical Advanced Ergonomic Mouse] on usb-0000:14:00.0-4.1/input0
[  542.491309] input: Logitech MX Vertical Advanced Ergonomic Mouse Keyboard as /devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:08.0/0000:0c:00.0/0000:0d:0c.0/0000:14:00.0/usb1/1-4/1-4.1/1-4.1:1.1/0003:046D:C08A.000A/input/input27
[  542.543122] hid-generic 0003:046D:C08A.000A: input,hidraw5: USB HID v1.11 Keyboard [Logitech MX Vertical Advanced Ergonomic Mouse] on usb-0000:14:00.0-4.1/input1
[  542.559233] hid-generic 0003:046D:C08A.000B: hiddev2,hidraw6: USB HID v1.11 Device [Logitech MX Vertical Advanced Ergonomic Mouse] on usb-0000:14:00.0-4.1/input2
[  548.012157] usb 1-4.1: USB disconnect, device number 9
[  564.628439] usb 3-4: USB disconnect, device number 11
[  564.951146] usb 4-4: USB disconnect, device number 2
[  571.704357] usb 3-4: new high-speed USB device number 20 using xhci_hcd
[  571.928693] usb 3-4: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=70.60
[  571.928700] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  571.928703] usb 3-4: Product: USB2.1 Hub
[  571.928705] usb 3-4: Manufacturer: GenesysLogic
[  571.941219] hub 3-4:1.0: USB hub found
[  571.944653] hub 3-4:1.0: 4 ports detected
[  572.022938] usb 4-4: new SuperSpeed USB device number 3 using xhci_hcd
[  572.038156] usb 4-4: New USB device found, idVendor=05e3, idProduct=0625, bcdDevice=70.60
[  572.038159] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  572.038161] usb 4-4: Product: USB3.2 Hub
[  572.038162] usb 4-4: Manufacturer: GenesysLogic
[  572.047905] hub 4-4:1.0: USB hub found
[  572.048190] hub 4-4:1.0: 4 ports detected
[  572.326390] usb 3-4.3: new full-speed USB device number 21 using xhci_hcd
[  572.455229] usb 3-4.3: device descriptor read/64, error -32
[  572.661428] usb 3-4.3: device descriptor read/64, error -32
[  572.870381] usb 3-4.3: new full-speed USB device number 22 using xhci_hcd
[  572.999275] usb 3-4.3: device descriptor read/64, error -32
[  573.205198] usb 3-4.3: device descriptor read/64, error -32
[  573.318447] usb 3-4-port3: attempt power cycle
[  574.033395] usb 3-4.3: new full-speed USB device number 23 using xhci_hcd
[  574.060232] usb 3-4.3: Device not responding to setup address.
[  574.298499] usb 3-4.3: Device not responding to setup address.
[  574.511267] usb 3-4.3: device not accepting address 23, error -71
[  574.513804] usb 3-4.3: WARN: invalid context state for evaluate context command.
[  574.614186] usb 3-4.3: new full-speed USB device number 24 using xhci_hcd
[  574.641244] usb 3-4.3: Device not responding to setup address.
[  574.874502] usb 3-4.3: Device not responding to setup address.
[  575.087285] usb 3-4.3: device not accepting address 24, error -71
[  575.089800] usb 3-4.3: WARN: invalid context state for evaluate context command.
[  575.094209] usb 3-4-port3: unable to enumerate USB device

Other Notes:

At the start, I plug the HID mouse into a hub which is connected directly to the Linux machine. You can see it is recongized correctly. I then disconnect it at 548.012, and then disconnect the KVM at 564. At 571 I reconnect the KVM, and you can see that it finds the KVM but it is unable to enumerate the devices on the hub, and neither the keyboard nor mouse plugged into them are enumerated. The monitor works fine.

For additional clarification, I am using the exact same cables I used before when hooking up my normal hub that used to connect these HID devices to the same machine, so I think I’ve isolated the problem to something with the KVM itself.

unplug the kvm from power and USB and connect only one device to a usb3 port on the kvm

note that the kvm doesn’t support hubs on hid ports, but does support hubs on the usb3 ports.

one bad hid device can crash the whole hid stack on the kvm but the usb3 ports are straight passthrough and will work with about anything.

Does the hub-exclusion apply to the USB HID port on the FRONT of the device, or just the two primary ones on the back? I wonder if the MoErgo 80 keyboard I have is considered as having a hub since it has a weird two-usb cable configuration. I will try your solution.

there’s one usb3 port front and one rear

The above worked!

SOLUTION: My keyboard happens to also broadcast as a USB hub, which is NOT supported on the HID ports on the KVM switch. My mouse works fine connected to the HID port. The solution for the keyboard was to hook it to the rear non-HID USB port. Note that a power-cycle to reset the KVM was necessary after causing the internal driver to crash from having the keyboard hooked up in the previous session.