I'm contemplating placing my desktop in another room and use VirtualHere to get the USB devices working.
I've gotten an RPi4B and it's connected via a 1Gbit/s wired connection via a Ubiqity switch to my desktop. I have a SSD connected via USB3 which easily out-performs the network (It does a few hundred MB/s when connected with USB 3.1 gen 1 cable to the appropriate hub).
My latency is hovering at 1ms according to vh. My desktop is a i7 running Win10 64bit. I'm using the free version for now to evaluate the experience.
Yet, with all of this, when I map the USB drive to my desktop, I see the transfer bar as a flat line, it never beats 45MB/s (smells like 480Mbit-ish). While this is going, I run top and VH only uses ~58% of the CPU. I see ksoftirqd running at 2% but that's still about 60%.
Is this the best I can expect or is there more performance to be eked out (and if so, how). Right now it feels like an artificial limit somewhere.
As a sidenote, when trying my logitech brio 4k camera via this setup, I see VH peak at 150% cpu usage (woho) but I also see my syslog filling up with
[ 341.991013] xhci_hcd 0000:01:00.0: Ring expansion failed
[ 341.991095] usb 2-1.3: usbfs: usb_submit_urb returned -12
Is there any known fix for that? I've updated debian and rpi-update as of this post's date so all is current.
/
Hi,
Its your network latency, it really is :) that 1ms makes a big difference for USB disks. Ideally UAS (https://en.wikipedia.org/wiki/USB_Attached_SCSI) will be supported in the future by virtualhere. But at the moment its treated like a standard USB disk and the latency makes more of a difference
If you are getting ring expansion failed its a kernel bug https://github.com/raspberrypi/linux/issues/3479