2013-12-15 3 views
5

Я изучаю параметры, доступные для создания виртуального устройства USB (скажем, клавиатуры или запоминающего устройства большой емкости), поэтому для эмуляции его функций по мере необходимости и, чтобы приложение в пользовательском пространстве могло эмулировать его вставку/удаление по желанию.Виртуальное устройство USB для Windows?

Что я не понимаю, так это как сделать эмуляцию вставки/удаления. Похоже, что один из вариантов заключается в эмуляции (виртуального) USB-концентратора и подделке событий прихода/вылета устройства (и я также поставлю драйвер устройства для своего виртуального USB-устройства, и именно там будет находиться моя логика устройства).

Я знаю свой путь вокруг ядра Windows (написав драйвер мини-порта NDIS), не боясь SoftICE, но USB не является моим доменом, только начинающим с него.

Я нахожусь на правильном пути с помощью подхода виртуального хаба? Если это так, разрабатывает драйверы виртуального хаба, поддерживаемые WDK (похоже, это не так)?

Любые другие варианты?

-

(Edit) Забыл упомянуть - Я знаю DSF, но это not supported на W8.

+6

Вы посмотрели проект USBIP (ons sourceforge)? Их реализация USB over IP делает именно это, и они обеспечивают очень стабильные драйверы Windows! В конце концов вы можете написать сервер USB/IP в качестве более простой (и сетевой прозрачной в качестве бонуса) альтернативы. –

+0

Duh! Я знаю о проекте, но я понятия не имею, почему я не смотрел, как они эмулируют вставку/удаление устройства. Очень полезно, Юджин. Большое спасибо. – Angstrom

+1

Angstrom, я мог бы забыть себя, если бы я не просто обманывал его совсем недавно: два USB-устройства, оба с использованием одного и того же чипа, но разные VID/PID - один поставщик, не предоставляющий драйверов для более новых версий Windows, другой делает, но жестко заблокирован для VID/PID ... тривиально патч USBIP для изменения VID/PID на лету, проблема решена. –

ответ

3

Я нахожусь на правильном пути с помощью подхода виртуального хаба?

Короче говоря - я был прав.

Вот так USBIP делает это, и это относительно простой способ пойти. Также см. this comment от Eugen.

+0

Вы писали сообщение в блоге о том, как вы написали свое собственное виртуальное устройство USB? Некоторые из нас очень заинтересованы в том, чтобы сделать то же самое, и есть (еще в 2017 году) хорошие статьи, которые можно найти с помощью поиска google или duckduckgo. –

+0

Я не из записей в блоге. Сожалею. – Angstrom

+0

, что является неудачным для всех нас. –

Смежные вопросы