Does the KVM disconnect USB HID devices when switched and can the functionality be toggled on/off?

KVM Model:

1.4 Display Port KVM Switch - Single Monitor - Two Computer

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

10 Gb (probably; not purchased yet)


Problem:

Two sides of the same problem:

KVM (Kernel VM) Passthrough of my USB controller, even when using the vfio-pci driver, requires nothing plugged in when starting the VM else Fedora 40 suddenly stops running as if I’ve hit the Reset button on the motherboard. So anything plugged into the KVM’s (switch box) USB ports needs to not be plugged in / emulated at all initially.

On the other hand;
The Logitech G600 has a maybe-known-issue with the older Logitech Gaming Software (LGS) that when unplugged crashes LGS. I need to run LGS as I have a G13 “left-handed keyboard” / gamepad thing that apparently doesn’t work with the newer Logitech G-Hub.

Do the USB HID ports emulate a device being connected on both computers, and can it be toggled on/off? (Though I probably won’t be connecting my G600 to it anymore and instead just passing it through, so I probably won’t need the emulation)

Other Notes:

Two things:

Where do the USB HID ports originate? Presumably from a USB 2.0 hub connected to the USB 3.2 port? So I only need to plug in that USB 3.2 cable to both machines and that is what connects the HID ports?

I plan to use the KVM to switch my Vive Pro 2 (soon to swap to the BigScreen Beyond as it apparently now works with Linux?) between Linux for a VR desktop experience and Windows for VR gaming - presumably the DP passthrough will Just Work? I see the specs report DP1.4 and DSC, so presumably… (I’ll be buying the cables from the store at the same time as the KVM to reduce troubleshooting variables.)

Are you referring to toggling off the HID port in general, or toggling off emulation? To answer both, I’m pretty sure the HID port doesn’t emulate anything, and it also can’t be disabled in general. To my knowledge.

I’m not sure of the inner workings of that, but the latter part is correct. You only need the USB 3.0 cable to an input for all USBs including the HID to to work.

I’ve never tested VR, but I’m sure @wendell would know more about all the questions you have.

Toggling emulation. As in, it pretends to the host that the device is connected by emulating/sharing whatever the equivalent of EDID is for HIDs so the host doesn’t know it’s actually been disconnected, but doesn’t actually send anything to said host.

Not that I think I actually want this functionality, nor am I sure if it’s possible, and as you said it doesn’t [probably] emulate anything, I’m not worried about it : ) .

1 Like

hid devices try to always appear to the host from the kvm but some hid devices do switch if they’re doing something problematic

usb3 devices switch like a switchbox. Its a somewhat custom implementation of ddm given that most devices dont actually follow ddm spec. neither do we, but actually, works better.

1 Like

If it helps, the way LGS (and G-Hub) appear to work is to reassign all buttons to nothing, and then monitor what buttons are being pressed and then press them in software. Which allows LGS to remap layers like GShift / M1/M2/M3 and profiles without informing the device of this, and allows them to be performed as soon as they are registered.

In contrast, Razer Synapse appears to write the config to the device itself. On slow machines, this can result in a delay before the commands are programmed on the device. When Synapse crashes, the device stays working as it was last programmed. But sometimes, at least with Synapse 2 on my Orbweaver, the LEDs get stuck and no longer update with new profiles being applied, even though the mapping does.

When LGS crashes, no buttons work (including LMB), so to get functionality back, LGS needs to be restarted and then the toggle from on-board profiles button needs to be clicked (as initially it’s usually set to on-board, but as the software didn’t shut down gracefully and tell the mouse to revert to on-board mode) either with another mouse (or emulated mouse from a keyboard button), or the mouse needs to be replugged.