LINUX.ORG.RU

Реверс протокола USB устройства

 ,


1

2

Возникла такая задача.

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

Ни исходников программы, ни описания протокола, по которому она с устройством общается, нет.

Возникла необходимость разработки своего приложения род Linux для работы с осциллографом, автоматической обработки данных и передачи результата в OpenScada.

Нужно выяснить, как программа общается с устройством. Думаю использовать сниффер USB. Кто-нибудь имеет такой опыт? Какую лучше программу-сниффер использовать под XP? Как удобнее тестировать полученный таким образом результат под Linux?

★★★★★

посмотри sigrok - у них много чего есть реверснутого, может у тебя какой-нибудь из перемаркированых.

для сниффинга вроде wireshark допиливали

Dark_SavanT ★★★★★ ()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

У меня устройство, мелкой конторой разрабатываемое в соседнем здании, вряд ли там что-то уже реверснутое, хотя посмотрю внимательнее.

За wireshark спасибо, вроде подходит, разберусь поподробнее.

curufinwe ★★★★★ ()
Ответ на: комментарий от DELIRIUM

В последних версиях умеет, уже опробовал. Надо использовать утилиту USBPcap совместно с wireshark.

curufinwe ★★★★★ ()
Ответ на: комментарий от ya-betmen

Это и планирую в понедельник, но не уверен в успехе.

curufinwe ★★★★★ ()
Ответ на: комментарий от ya-betmen

Это было бы наилучшим решением, ибо реверсить протокол — это та ещё PITA. Если не сырцы — то хотя бы спеки (что ещё лучше на самом деле!).

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

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от beastie

В принципе да, лучше читать описание протокола чем его реализацию. Если конечно реализация соответствует описанию, что для мелкой конторы далеко не факт.

ya-betmen ★★★★★ ()

Как удобнее тестировать полученный таким образом результат под Linux?

Был у меня такой вопрос, как проиграть запись USB пакетов, например, чтобы убедиться, что в протоколе нет каких-то таймингов (что сильно усложнило бы его анализ). Оказалось, что надо самому написать.

gag ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.