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

 
 
> ПРОВЕДЕНИЕ СТАНДАРТНЫХ ЗАПРОСОВ USB, ПОМОГИТЕ КТО МОЖЕТ!!!!!!!!!!&#
PAB
сообщение Jul 5 2006, 09:02
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 3-05-06
Пользователь №: 16 717



При отладке USB хост-контроллера возникает следующая проблема: при проведении запроса GetDescriptor устройство отвечает NAK (причем не в начале запроса, а после того как хост отсылает token IN пакет, после которого устройство должно бы прислать свой дескриптор в качестве пакета данных). Запрос SetAddress проходит нормально (хотя не с первого раза), некоторые другие запросы также завершаются успешно. В чем может быть причина такого странного поведения? ПОМОГИТЕ КТО МОЖЕТ!!!!!!!!!!!!!!!! help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexBoss
сообщение Jul 5 2006, 17:16
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 30-06-06
Из: Донецк
Пользователь №: 18 488



> после того как хост отсылает token IN пакет, после которого устройство должно бы прислать свой дескриптор в качестве пакета данных

Дело в том, что Device требуется время, чтобы сформировать ответный пакет данных на Ваш запрос
GetDescriptor, впрочем как и на большинство других запросов. Поскольку на момент получения
token IN ответ еще не был заложен в девайсовский буфер передачи, его аппаратура автоматом
отфутболивает Host-у NAK.
Ваша задача осознать, что это всего-лишь НЕГОТОВНОСТЬ и послать повторный IN-token, а точнее долбить Device IN-ами до тех пор, пока не получите ACK, или какую-либо ошибку, или не вымотаете тайм-аут.

Удачи!
Go to the top of the page
 
+Quote Post
PAB
сообщение Jul 6 2006, 10:31
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 3-05-06
Пользователь №: 16 717



Цитата(AlexBoss @ Jul 5 2006, 21:16) *
> после того как хост отсылает token IN пакет, после которого устройство должно бы прислать свой дескриптор в качестве пакета данных

Дело в том, что Device требуется время, чтобы сформировать ответный пакет данных на Ваш запрос
GetDescriptor, впрочем как и на большинство других запросов. Поскольку на момент получения
token IN ответ еще не был заложен в девайсовский буфер передачи, его аппаратура автоматом
отфутболивает Host-у NAK.
Ваша задача осознать, что это всего-лишь НЕГОТОВНОСТЬ и послать повторный IN-token, а точнее долбить Device IN-ами до тех пор, пока не получите ACK, или какую-либо ошибку, или не вымотаете тайм-аут.

Удачи!



Дело в том, что я именно так и делаю: долблю девайс IN-пакетами, но на них на все приходит NACK, и в конце концов закканчивается время, отведённое драйвером на этот запрос (timeout). Хост так и не получает дескриптор устройства, и как следствие не проходит нормальная конфигурация устройства. Соответственно не получается работать с устройством (записывать на него или читать с него).
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:04
Рейтинг@Mail.ru


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