Serial port permission issues when using Ubuntu VM

I am having a problem uploading firmware to my pixhawk or communicating with it in QGroundControl (QGC).

In my setup QGC runs in an Ubuntu virtual machine, with Windows 7 as the host operating system. I have a Vicon MOCAP system set up on the host OS, which I want to use to send MOCAP frames via the vicon_bridge to my guest operating system, and then over MAVLINK to my drone for position estimation.

Unfortunately, QGC fails to open the USB port which I use to program the pixhawk due to a “permissions issue”. I double checked that my user was added to the dial-out group, and that the device in fact is set to give read / write permissions to that group.

I have one other problem; when I try to upload firmware to my pixhawk, the process is halted when it waits for the bootloader. This probably can’t be worked around, since there is significant latency between plugging in the USB cable and the device being mounted in my virtual machine. How can I build a custom .px4 firmware file, which I can use to program the drone via QGC?

Can anyone help me with these two issues? I would especially like to hear from anyone who has run QGC or programmed from an Ubuntu VM.

P.S. I’m running Ubuntu 16.04 on Virtualbox

From our experience VMWare is a lot more stable when it comes to USB than VirtualBox.

Thanks for the reply. I’ll look into VMWare and see if that helps!

Maybe setting a filter in VBox will help; I think that has worked for me in the past:

I did try that Mark, but it didn’t seem to have any effect. I’ll look into that as well.