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

 
 
> USB 2.0 устройство на USB 3.0 хосте, Проблема совместимости?
loginser
сообщение Jun 14 2011, 08:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 9-06-08
Пользователь №: 38 171



Имеется USB 2.0 устройство на CY7C68013a с собственным драйвером. Работает с USB 2.0 хостом прекрасно, но с контроллером USB 3.0 (NEC) работать корректно отказывается, суть в следующем: устройство настроено на один конфигурационный дескриптор (Configuration Descriptor), один интерфейс и 4 Alternate Settings. При задании Alternate Settings #0 и #1 все проходит нормально(устройство подключено через анализатор USB), но при #2 и #3 драйвер возвращиется с ошибкой 0x57(ERROR_INVALID_PARAMETER). Ограничения на количество Alternate Settings в документации к USB 3.0 и 2.0 я не нашел. Это баг нового 3.0 стека или все же есть ограничения? Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-Al-
сообщение Jun 20 2011, 03:53
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Странно это. USB3.0 это физически другой интерфейс (дополнительно две пары контактов). И пока их нет работать все должно по старому. Может все-таки в драйвере проблема?
Go to the top of the page
 
+Quote Post
loginser
сообщение Jun 22 2011, 09:23
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 9-06-08
Пользователь №: 38 171



Проблему я нашел. Я использую BULK пакеты размером 1024 и на USB 2.0(всех) контроллерах мое устройство работает отлично, но похоже что драйвер контроллера USB 3.0 жестко проверяет это условие и возврашиет ERROR_INVALID_PARAMETER. Как решить подобную проблему я незнаю к сожалению. -Al- спасибо за ответ.
Go to the top of the page
 
+Quote Post
AndreyS
сообщение Jun 22 2011, 16:52
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276



Цитата(loginser @ Jun 22 2011, 13:23) *
Проблему я нашел. Я использую BULK пакеты размером 1024 и на USB 2.0(всех) контроллерах мое устройство работает отлично, но похоже что драйвер контроллера USB 3.0 жестко проверяет это условие и возврашиет ERROR_INVALID_PARAMETER. Как решить подобную проблему я незнаю к сожалению. -Al- спасибо за ответ.


Добрый день.

Видимо все это проверялось под ОС Винда. Очень хотелось бы услышать результаты таких исследований под любой другой ОС.

У меня есть подозрение что это шалит драйвер usbd.sys под виндой.

Потому как обнаружили в своей системе следующую проблему.
При некоторых обстоятельствах (одно из них, 100% приводящее к этой проблеме, это огромная помеха по шине USB соответственно ведущая к потери пакетов) происходит как бы зависание USB устройства в операционной системе (физически же само исполнительное устройство device продолжает нормальное функционирование, подвисает USB шина). Это подвисание может быть кратковременным, а может быть длительным. В таком случае спасает reset_port с abort_pipe. Но вот в этот момент подвисания любой запрос к драйверу usbd.sys (посредством драйвера ezusb.sys) не приводит в появлению данных на самой шине. Производили сканирование аппаратным анализатором и обнаружили эту проблему. На шине кроме SOF пакетов ничего больше нет. А в диспетчере устройств оно доступно. Происходит это редко (при длительной эксплуатации USB шины в течении нескольких суток), но может залипнуть так, что спасает только перезагрузка. Причем вылезла эта проблема в лабораторных условиях, т.е. помех по USB шине небыло, сканер их не показал.

Рысканье по инету привело к тому что в разных виндах требования на максимальный объем запрашиваемой информации в драйвере usbd.sys разный. В нашем случае мы удовлетворяем этому требованию под винду ХП, 2000 и 7 с вистой. Но само это наводит на мысль возможных глюках в работе usbd.sys под виндой.


--------------------
Удачи.
Go to the top of the page
 
+Quote Post
loginser
сообщение Jul 8 2011, 09:40
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 9-06-08
Пользователь №: 38 171



AndreyS Microsoft резко заявили, что они тут не причем и чтобы я обращался к производителю контроллера(так как они пишут свои дрова и проблема якобы на их стороне). По вашей проблеме ничего сказать не могу, так как изначально я написал свой драйвер и подобных проблем ни на одной ОС пока к счастью не наблюдалось, устройство работает сутками безперебойно (45 МБ в секунду загрузка). Может обратить внимание на Управление питанием в ОС и обработку состояний устройства? Я в своем устройстве вообще запретил STANDBY состояние.

Сообщение отредактировал loginser - Jul 8 2011, 09:41
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 13:18
Рейтинг@Mail.ru


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