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

 
 
> ПРОВЕДЕНИЕ СТАНДАРТНЫХ ЗАПРОСОВ 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 10 2006, 10:47
Сообщение #2


Участник
*

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



Из Вашего описания так-таки и не понятно какие именно
>все эти запросы почему-то проходят не с первого раза, а с 3-го, 4-го.
Если имеется ввиду, что на один pidSetUp Вы посылаете 3..4 pidIN, то все нормально, т.к.:
>token IN пакет со стороны хоста - Давай
>NACK со стороны устройства - Не готов!
>token IN пакет со стороны хоста - Давай
>NACK со стороны устройства - Не готов!
.
.так несколько раз
.
>token IN пакет со стороны хоста - Давай
>data пакет со стороны устройства (в этом пакете ....) - Получи и отстань!

Если же Вы всю транзакцию целиком (SetUp и за ним куча In-ов) вынуждены повторять по 4..3 раза, то почему умалчиваете о том, чем завершаются неуспешные?

Теперь по поводу String-ов. Не пойму зачем Вам понадобились "Наименование изготовителя" и "Наименование продукта", ведь для нормальной работы они не нужны. Кроме того "Наименование продукта" Вы все равно получите в ответ на Bulk-Only команду INQUIRY. Скорее всего это чисто спортивный интерес. Ну да в конце концов это Ваше дело.
Посмотрим как это делает WinXP:
SanDisk Cruzer Mini
Запрос - 80 06 00 03 00 00 02 00 - Определить длину строки с LANGID
Ответ - 04 03
Запрос - 80 06 00 03 00 00 04 00 - Запрос строки с LANGID
Ответ - 04 03 09 04 - ID языка
Запрос - 80 06 03 03 09 04 02 00 - Определить длину строки с серийным номером
Ответ - 2A 03
Запрос - 80 06 03 03 09 04 2A 00 - Запрос строки с серийным номером
Ответ - 2A 03 53 00 4E 00 ..... - 2Ah байт - 'SNDK4108742C43B00106'

Generic USB Flash Disk 2.00
Запрос - 80 06 00 03 00 00 02 00 - Определить длину строки с LANGID
Ответ - 04 03
Запрос - 80 06 00 03 00 00 04 00 - Запрос строки с LANGID
Ответ - 04 03 09 04 - ID языка
Запрос - 80 06 03 03 09 04 02 00 - Определить длину строки с серийным номером
Ответ - 22 03
Запрос - 80 06 03 03 09 04 22 00 - Запрос строки с серийным номером
Ответ - 22 03 31 00 30 00 ..... - 22h байт - '106C113CE5E30CB5'
Аналогично на других флэшках.
Короче. Вы упомянули, что отправляли "запрос массива кодов LANGID", но не понятно используете ли ID языка в запросах строк с индексом отличным от нуля? Если нет, то как раз в этом и проблема.

Удачи!
P.S. Поскольку задачи у нас судя по всему очень похожие, очень интересно, как у Вас заработает Bulk-Only, которого Вам все равно не миновать.
Go to the top of the page
 
+Quote Post
PAB
сообщение Aug 31 2006, 07:54
Сообщение #3


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

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



Цитата(AlexBoss @ Jul 10 2006, 14:47) *
P.S. Поскольку задачи у нас судя по всему очень похожие, очень интересно, как у Вас заработает Bulk-Only, которого Вам все равно не миновать.


Запросы Bulk-Only проходят нормально кроме одного (INQUIRY), который упорно не хочет проходить (устройство постоянно отвечает NAK). Но если в драйвере отключить проведение этого запроса, то конфтгурация устройства проходит без проблем - с флэшкой можно работать (монтируется, читается, пишется).
Go to the top of the page
 
+Quote Post



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

 


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


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