Отслеживание трафика устройств HID в Linux
Я переписываю программное обеспечение для устройства чтения HID для поддержки Linux, и у меня возникли некоторые проблемы с его отладкой. В Windows я использую инструмент под названием Busdog, который позволяет вам выбрать устройство и регистрировать отчеты о записи / чтении. Он управляет этим путем установки специального драйвера для отслеживания трафика.
Используемая мной библиотека на базе Linux напрямую связывается с устройством с помощью lsusb, поэтому взаимодействие с драйвером отсутствует. Кто-нибудь знает, как я могу отслеживать трафик между моим приложением и USB-устройством?
Примечание: я попытался сбросить данные из своего приложения перед записью на устройство, и все выглядит хорошо. Однако, если я запускаю свое скомпилированное приложение в Windows, busdog показывает неправильные данные, записываемые на устройство. Это указывает на проблему с библиотекой, которую я использую (hidapi.h). Я хотел бы подтвердить это, если смогу, в Linux.
1 ответ
Оказывается, Wireshark может захватывать как USB-трафик, так и сетевой трафик. Он не представляет данные так же хорошо, как busdog (там есть много дополнительных вещей, не только данные HID), но он выполняет свою работу.