реклама на сайте
подробности

 
 
> Как бороться с зависанием usb interrupt трансфера при помехах ?
_3m
сообщение Aug 3 2009, 14:11
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Обнаружилась очередная гадость в usb.
Имеется HID совместимое устройство (на базе Microchip USB Firmware Framework v2.4a), в направлении device->PC используется interrupt передача (EP1 IN). Также реализована передача с помощью control transfer (Get/Set Feature)
Было замечено что после остановки и последующего запуска девайса отладчиком interrupt transfer прекращается навсегда. Ткнувшись осциллографом на usb шину увидел что хост сразу после останова девайса перестает выдавать in токен. В винде никакие ошибоки не возникают.
Control transfer при этом продолжает работать в обе стороны как будто ничего не произошло.
Изучение документации показало что так и должно быть: если хост не получает никакого ответа на in токен он делает 2 повтора и прекращает обмен с данным эндпойнтом.

Иного способа возобновить нормальную работу кроме аппаратного или программного передергивания устройства я не нашел.

Объясните мне, тупому валенку как же с этим жить а то я уже в полном ахуе от usb и его реализации в винде.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016