Отслеживание трафика в USB-гаджете на основе Linux (CDC/NCM)

У меня есть платформа Linux, которая подключена как USB-устройство к автомобильному устройству, которое выступает в качестве USB-хоста. Эти два устройства должны обмениваться данными через CDC/NCM, но платформа Linux не распознается автомобильным устройством, и поэтому соединение не установлено. Удивительно, но соединение с моим компьютером установлено правильно.

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

Я попытался использовать usbmon и tcpdump, но, похоже, это работает только для контроллеров USB, настроенных в качестве хостов на платформе трассировки, а не для тех, которые настроены как устройства.

  • Как я могу настроить usbmon для работы также на устройствах?
  • Если это невозможно, есть ли другие возможности для этого? (желательно без взлома каких-либо драйверов...)
  • Или я должен использовать аппаратный USB-сниффер?

Кстати, все необходимые модули (особенно g_ncm) загружены правильно.

Спасибо за помощь!

Штефана

* Пользовательский дистрибутив на процессоре freescale iMX6 (ARM), версия ядра 3.0.35

0 ответов

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