USB прокси драйвер или аналогичное решение? - PullRequest
4 голосов
/ 14 января 2011

Проблема: посреднический USB-трафик / данные

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

Прежде чем отправиться в эпическое путешествие и написать собственный драйвер, который, скорее всего, вызовет повреждение мозга, я хотел бы спросить, делал ли кто-нибудь когда-либо что-либо подобное или, возможно, мог бы придумать части, необходимые для сборкиэта загадка.:)

Ответы [ 2 ]

3 голосов
/ 14 января 2011

Я не думаю, что это выполнимо из коробки, без дополнительного оборудования.

Какое устройство можно ожидать для подключения к «восходящему» порту прокси?Предполагая, что на «нисходящем» порту есть обычное устройство (скажем, мышь, просто в качестве примера), устройство на восходящем направлении должно быть хостом USB для полноценной обработки USB-устройства.

Но вы не можете подключить USB-порт вашего компьютера (который уже является хостом для всех его корневых USB-портов) напрямую к другому компьютеру, что является полным нарушением сетевой топологии USB.Оба порта содержат шины питания +5 В, и если вы соедините их вместе, вы, вероятно, будете в шоке.И / или частный фейерверк.Или поездка к ближайшей материнской плате и / или продавцу блока питания ...

Кроме того, поскольку USB довольно динамичен и т. Д., Я не думаю, что вы можете ожидать, что поток битов от одного порта будет значимым, если его повторитьиз другого порта, поскольку информация об адресе и т. д. может измениться.

Существует 100% программных USB-анализаторов, таких как http://www.usblyzer.com/,, но я не совсем уверен насчет прокси-серверов, подобных описанным вами.

2 голосов
/ 14 января 2011

На моей работе мы использовали этот Beagle USB Analyzer. Он находится между устройством и хостом и перехватывает весь трафик без прерывания. Он работает в Windows и Linux и работает даже с высокоскоростными портами USB 2.0.

http://www.totalphase.com/products/beagle_usb480/

Настоятельно рекомендуется.

...