Отслеживание трафика в 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