Well, as I understand it, this is quite a common problem.
Often this is solved by global tuning, but there are ways and a bit easier. I read about flexihub where it is shown how USB can work in a virtual machine. It is a commercial development project, but open source software is not all full-fledged, anyone can prove it. You have to either suffer or buy.