Как эмулировать USB-устройства?

Остальная часть моей команды сделает для моего приложения простой нестандартный USB-микрофон, но пока они не закончат его, мне придется эмулировать его для целей интеграционного тестирования.

  1. Есть ли риск в физическом шлейфе? Да, есть
  2. Будет ли работать физическая петля? Только с USB- мостом
  3. Есть ли способ создать логическую петлю? ( MSDN что-то об этом)
  4. Есть какое-нибудь универсальное программное обеспечение USB эмулятора?

Если есть много вариантов, я бы предпочел работать с решениями.NET/Matlab/Python.

2 ответа

Решение

Изменить: доказательство концепции здесь

Я настоятельно рекомендую этот проект, USB IP. Это способ подключения USB-устройств по сети. Есть клиент Windows.

Это означает, что вы устанавливаете клиент на свой компьютер с Windows. Затем это устройство ожидает соединения с USB-устройством, подключенным к компьютеру с Linux, с сервером: схема подключения USB-клиента USB к IP-серверу USB

Что вы сейчас делаете, это либо создаете поддельный драйвер устройства для Linux, который выглядит как подключенный к физическому USB-устройству, но на самом деле это просто логика, притворяющаяся вашим USB-устройством. Есть учебники по написанию USB-драйверов для Linux. Или вы создаете свой собственный драйвер заглушки для диспетчера управления устройствами (см. Рисунок выше). Этот драйвер-заглушка может работать в Windows или Linux, это не имеет значения. Он может даже работать на той же машине Windows, которая является клиентом USB.

Упомянутое в самом вопросе устройство USB Loopback DSF было бы тем же решением, что и драйвер-заглушка для Диспетчер управления устройствами, но полностью исключило Linux.

Вы можете написать виртуальное USB-устройство, используя QEMU. Вы можете скопировать уже существующее устройство, например, dev-serial.c, найденный в этом хранилище QEMU, и изменить его для своих нужд.
После того, как вы напишите и скомпилируете свое USB-устройство, вы можете просто подключить его к вашей виртуальной машине, используя интерфейс командной строки QEMU.

Другие вопросы по тегам