Стресс-тест перечисления USB
Я создаю USB-устройство, которое запускает мой собственный стек, и мне нужно убедиться, что оно работает с любым хостом или концентратором. У USB-IF есть собственная официальная программа тестирования, но она работает только на Windows и имеет некоторые серьезные проблемы на моей машине с Windows. (он убивает все другие USB-устройства, включая мою мышь и клавиатуру, поэтому я не могу использовать его собственный интерфейс)
Есть ли инструмент для Ubuntu, который может забить USB-устройство настолько сильно, насколько позволяет спецификация, и рассказать мне, как это было?
Запоздалое обновление, релевантное 5 сентября 14
Я наконец заставил что-то работать... вроде.
Я попытался установить временную копию Windows на виртуальной машине, но тестер не распознал виртуальный контроллер USB.
В итоге я установил эту копию Windows на машину, которую нам все равно нужно было стереть, используя клавиатуру PS/2 и мышь USB (у меня нет мыши PS/2). Там он делает то же самое - убивает мышь - но как только я начал тестирование с помощью клавиатуры для навигации по GUI, мышь снова заработала. Когда тест был завершен, я мог использовать мышь, чтобы сохранить результаты и закрыть программу, которая позволила ОС повторно обнаруживать USB-устройства и переустанавливать обычные драйверы для всего, но затем Windows зависала. BSOD. Я перезапустил его нормально, а мышь все еще не работала. Восстановление системы исправлено.
Так что это все еще не идеальное решение, но, по крайней мере, оно несколько работоспособно. Я все еще открыт для чего-то лучшего. Разве нет функционального эквивалента официального тестера, который работает на Ubuntu?
1 ответ
РЕДАКТИРОВАТЬ:
Я думаю, я не уверен, что вы подразумеваете под пользовательским стеком и как он должен быть засорен? Из программ, которые я видел на этом сайте, он выглядел как "верификатор команд", который запускает тесты только в соответствии с главой 9 стандартов...
lsusb -v
Похоже, он охватывает ту же информацию.
Насколько я знаю, если это не обнаружено lsusb -v
или информация не указана в dmesg
или журналы отладки ядра, тогда это не распознанное USB-устройство, и ядру понадобится способ его распознать. Что касается доступа к данным и записи на USB-устройство:
sudo apt-install libusb-dev && firefox file://usr/share/doc/libusb-dev/html
Если он перечислен и смонтирован, возможно, проведите свои собственные тесты на /dev/tty*
screen /dev/ttyACM*
для интерактивного сеанса.echo data > /dev/ttyACM*
для стартового пакета?cat /dev/ttyACM* > somefile
чтобы увидеть, какие данные отправляются.tail -f /dev/ttyUSB0
активно видеть дно файла.- используя proc
- тестирование соответствия Linux
- http://linux-usb-test.sourceforge.net/docs/interop-0.1/book1.html
- Различные библиотеки и заметки
- сбросить USB-автобус