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

 
 
> USB SETUP Request, Device получает несуществующий запрс
amw
сообщение Apr 20 2007, 15:55
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Устройство на базе AT91SAM7S256, CDC ACM.
Софт собственный, не из примеров.

После подключения происходит следующее:
Получаю SETUP Request GetDescriptor(Device)
Отсылаю DeviceDescriptor
Получаю SETUP Request SetAddress
Устанавливаю, подтверждаю.
Получаю SETUP Request GetDescriptor(Device)
Отсылаю DeviceDescriptor
Получаю SETUP Request GetDescriptor(DeviceQualifier)
Отсылаю STALL, потому как устройство FullSpeed USB 2.0
Получаю SETUP Request GetDescriptor(Configuration)
Отсылаю ConfigurationDescriptor. Описывает два интерфейса - ACM и Data, с тремя конечными точками в соответствии со спецификацией CDC.
Затем серия запросов на StringDescriptor.
Отсылаю запрошенное.
Получаю SETUP Request SET_LINE_CODING с параметрами (скорость, стопбиты, четность ...).
Подверждаю.
Получаю SETUP Request SET_CONTROL_LINE_STATE.
Подверждаю.
И получаю недокументированный запрос (байты пакета):
Код
0x80 0x25 0x00 0x00 0x00 0x00 0x08 0x00

Запрос с кодом 0x25 не описан в USB спецификации, а в спецификации Communication Device Class в Table 46 сказано:
Цитата
RESERVED (future use) 24h-2Fh

Пробовал отсылать в ответ и пустой пакет и STALL, результат одинаковый.
Хост как с Linux так и с Windows молчит по этому поводу (т.е. не сообщает об ошибке).
Появляется последовательный порт, но открыть его не удается: Input/Output Error в обоих ОС.

На конечные точки (кроме нулевой) никаких пакетов не приходит.

Что я пропустил?
Где искать описание на этот запрос?
Что с этим запросом делать?


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Толик
сообщение Apr 20 2007, 21:52
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 26-02-07
Из: Москва
Пользователь №: 25 687



Я конечно не очень разбираюсь:

А если STALL послать?....хотя он по умолч посылается. blush.gif

Раз уж пошёл такой разговор,
а я в нём мало что понимаю, то возникли вопросы:
- как подтвердить LINE_CODING и CONTROL_LINE_STATE?
- данные через Bulk'и произвольно посылаются или как-то
с согласованием Inter.endpoint?

судя по примеру для 5131 interupt endpoint
вообще не на что не влияет
Go to the top of the page
 
+Quote Post



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

 


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


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