Le reste de mon équipe créera pour mon application un simple microphone USB non standard, mais jusqu'à ce qu'il l'ait terminé, je devrai l'émuler, à des fins de test d'intégration.
Dans le cas où il existe de nombreuses options, je préfère travailler avec des solutions .NET/Matlab/Python.
Je recommande fortement ce projet, USB IP . C'est un moyen de connecter des périphériques USB sur le réseau. Il existe un client Windows.
Cela signifie que vous installez le client sur votre ordinateur Windows. Cet appareil s'attend alors à parler à un appareil USB connecté à un ordinateur Linux, le serveur:
Ce que vous faites maintenant, c'est soit créer un faux pilote de périphérique pour Linux, qui ressemble à est connecté à un périphérique USB physique, mais en réalité c'est juste de la logique faire semblant d'être votre périphérique USB. Il y a tutoriels pour écrire des pilotes USB pour Linux . Ou vous créez votre propre pilote de stub pour le Device Control Manager (voir l'image ci-dessus). Ce pilote stub pourrait fonctionner sous Windows ou Linux, cela n'aurait pas d'importance. Il pourrait même fonctionner sur la machine même Windows qui est le client USB.
Le DSF USB Loopback Device mentionné dans la question elle-même, serait le même type de solution qu'un pilote de stub pour le Device Control Manager, mais en supprimant complètement Linux de l'image.
Vous pouvez écrire un périphérique USB virtuel à l'aide de QEMU. Vous pouvez dupliquer un périphérique déjà existant, comme le dev-serial.c trouvé dans this QEMU repository et le modifier selon vos besoins.
Après avoir écrit et compilé votre périphérique USB, vous pouvez simplement le connecter à votre VM en utilisant l'interface de ligne de commande QEMU.