Puedes escribir un dispositivo USB virtual usando QEMU. Puedes duplicar un dispositivo ya existente, como el dev-serial.c que se encuentra en este repositorio de QEMU y cambiarlo según tus necesidades. Después de escribir y compilar tu dispositivo USB puedes simplemente adjuntarlo a tu VM usando la interfaz de línea de comandos de QEMU.