I've been playing with using VirtualHere to redirect USB devices on local (as in running on the same machine as the host, which is a pretty beefy machine) Hyper-V guests running Win11, to get around issues I've been having with built-in Hyper-V device redirection. In some cases, it's worked incredibly well - for example, redirecting my USB Brio camera appears to be flawless.
However, there are some other devices that, while working fine when I use the standard built-in Hyper-V USB redirection, do not work well or at all when using VirtualHere instead. I own Surface Headphones 2+, which come with a required USB dongle to use for call usage etc. When using VirtualHere I can get the headphones to show up and connect, but the audio is incredibly distorted, sounding like a really bad robot. I've tried tweaking a few settings but can't get it to work correctly via VirtualHere. I've looked at the latency statistics in the About page and it hovers around 1ms so I'm not suspecting latency issues, but honestly I'm not sure exactly what the problem is.
In addition, my smart card reader only partially works. When I redirect it, both the reader and the inserted card show up in Device Manager. But when I navigate to a site where I need to use it to authenticate, it finds the reader but apparently no smart card - it keeps prompting me to insert the smart card.
Because both of these work correctly on Hyper-V enhanced mode USB redirection, I don't suspect general driver or hardware issues. But if there is something I can do to make this work, I'd love to try it.
Thanks!
.
Its a bit complicated, but I think Hyper-v doesnt actually pass through USB devices. It operates at a "higher-level", for example it will pass through audio stream rather than the USB data stream. Audio can be buffered for latency etc whereas usb data cannot. It will not pass through USB disks but instead pass through the SCSI commands etc. If your headphones are crackling then its almost certainly just that bit of latency that is the issue since virtualhere will pass through the USB data.
Regarding a smartcard, this is probably blocked by RDP. You need to use VNC or something like that instead when redirecting it via virtualhere.