title: Emulate physical USB device Linux
body: <p>I have a Linux application that I would like to automate some tests for, and its state should change depending on the status of certain devices, i.e. USB devices, WLAN devices, WAN devices. However, we no longer have physical USB, WLAN, WAN, etc devices at our disposal, so I need to figure out a way to test this program without actually plugging in physical devices, turning them on/off, etc.</p>
  
  <p>I am starting off by simply creating a virtual USB device that I can control from user space, but there is a fundamental lack of knowledge on my part preventing me from taking any of the similar topics on these forums and applying them to my project. I feel like I will need to create some kind of virtual USB driver, and then have it communicate with some user-level program rather than usbfs. However, even if I create this virtual driver, how do I "plug in" this device from user-space and get my program registered with this particular driver? Is what I'm trying to do even possible?</p>