Как отслеживать USB-трафик в периферийном режиме или в режиме OTG?

На самом деле echo и cat достаточно, чтобы сделать то, что вы хотите:

echo "Description of the following table:" | cat - file

Аргумент - указывает cat читать из stdin.

4
10.01.2017, 18:05
3 ответа

Поскольку у меня нет под рукой RPi, я не могу сказать с уверенностью, что это сработает для вас или нет, но я успешно управлял мониторингом USB-трафика на удаленном компьютере с помощью tcpdump и wirehark с помощью следующей команды:

$ ssh user @ remotehost 'tcpdump - U -i usbmon2 -w - '| wirehark -k -i -

Здесь usbmon2 2 - это идентификатор шины, к которому подключено ваше USB-устройство. Вы можете получить это с помощью lsusb .

0
27.01.2020, 21:01

После долгих поисков кажется невозможным (или, если это так, я просто нигде не могу найти никакой информации) отслеживать USB-трафик, когда контроллер находится в устройстве (или периферийный) режим. Это возможно, только если контроллер настроен как хост .

Поскольку usbmon не генерирует никаких следов, я, к сожалению, не могу использовать какие-либо инструменты (Wireshark, dumpcap ...), потому что им в первую очередь нужна эта трассировка.

Итак, сейчас я попытаюсь либо изменить модуль ядра libcomposite , чтобы добавить отладочную информацию, либо даже написать специальный модуль, предназначенный для сниффинга (но это намного превышает мои текущие знания в дело на данный момент).

0
27.01.2020, 21:01

инструмент USBMon недоработан

существует одноименный модуль ядра, который является актуальным

убедитесь, что модуль ядра usbmon доступен загрузите его (modprobe usbmon) и вы можете обнюхать USB трафик, используя

см. также http://discussions.flightaware.com/ads-b-flight-tracking-f21/monitoring-usb-utilization-on-raspberry-pi-t20691. html

1
27.01.2020, 21:01

Теги

Похожие вопросы