Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: bulkUsb error code 10 в MS Widows Vista  (Прочитано 19467 раз)
0 Пользователей и 1 Гость смотрят эту тему.
shlg
Гость
« : 20-03-2008 08:03 » 

Кто знает как заставить работать драйвер BulkUSB из примеров DDK работать под MS Windows Vista.
Этот драйвер успешно работает по XP, но под вистой при установке выдаёт ошибку с кодом 10. Трассировка с помощью dbgprint, работающая под XP, в Vista не работает.

По последним данным выяснилось:
- драйвер под Вистой запускается;
- Драйвер отваливается на операции plug.
Вот здесь:
CallUSBD(...
{

...

irp = IoBuildDeviceIoControlRequest(IOCTL_INTERNAL_USB_S UBMIT_URB,
deviceExtension->TopOfStackDeviceObject,
NULL,
0,
NULL,
0,
TRUE,
&event,
&ioStatus);
...

ntStatus = IoCallDriver(deviceExtension->TopOfStackDeviceObject, irp);

...
}
Возвращается статус неуспеха.
Как это чинить пока не знаю. Может кто уже сталкивался с такой проблемой?
Заранее благодарен за помощь.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 20-03-2008 13:01 » 

а какой статус возвращается?
как отладочные сообщения выводить - пользуйтесь поиском, наконец) интернет - это не только море порнографии))))
http://blogs.msdn.com/doronh/archive/2006/11/14/where-did-my-debug-output-go-in-vista.aspx
« Последнее редактирование: 20-03-2008 13:05 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
shlg
Гость
« Ответ #2 : 20-03-2008 16:12 » 

Спасибо за совет по поводу трассировщика. Помогло.
Пока остановился на том, что вызов функции CallUSB в рамках функции SelectInterfaces возвращает статус NT_ERROR.
Почему? Пока не успел осознать.

ps
Весь процесс исследования сильно тормозится в связи с тем, что занимаюсь драйверами впервые. В связи с этим и обратился за советами.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 20-03-2008 16:26 » 

натыкайте отладочных сообщений везде где можно,
да... сейчас вспомнил... при переоде с 2000 на XP помоему... был какой то нюанс в USB. все остальное не изменилось а вот с USB что то поправили... у вас DDK новый? хотя если на XP работает...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 20-03-2008 16:33 » 

да, посмотрите, что за объект вверху стека (TopOfStackDeviceObject) - отличается от XP шного? утилита devicetree.exe
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
shlg
Гость
« Ответ #5 : 21-03-2008 06:21 » 

Спсб. Буду смотреть. В завершении - поделюсь результатами.
Записан
shlg
Гость
« Ответ #6 : 24-03-2008 11:11 » 

Появилось мнение, что моя проблема может быть связана с отсутствием цифровой подписи. Пробую оформить её на основе статьи "Пошаговое руководство по подписыванию и подготовке драйверов аппаратных устройств" ( http://oszone.net/4846_2 ), предложенной Ochkarik в оной из веток форума. Упираюсь в использование программы Signability.exe. Искал где её можно скачать - не нашёл. Видел много инфы по поводу того, что вместо неё теперь модно использовать Inf2Cat.exe. Искал где её можно скачать - не нашёл. Вообще, на сколько я понял, обе эти утилиты входят в состав WDK ("ддк по сути уже нет, и не будет, теперь оно выросло и стало WDK в нём можно собирать дрова хоть для в2000 хоть к висте".rain, Воин дзена  - http://www.wasm.ru/forum/viewtopic.php?id=25723).
Ввиду сказанного напрашивается три вопроса:
1) Где скачать Signability.exe и Inf2Cat.exe?
2) Как оформить цифровую подпись если нет WDK, а есть DDK 3790.1830?
3) А вы как оформляли цифровые подписи к драйверам?

ps
Даже не знаю, по-моему все три вопроса выглядят не совсем серьёзно. А черт его знает...

pps
По поводу совета от Ochkarik посмотреть, что вверху стека с помощью утилиты devicetree.exe: попытка потерпела фиаско. В представлении драйверов мой драйвер не виден, а при переходе в представление PnP появляется BSOD.
Я это объясняю тем, что драйвер вываливается при операции Plug (как я писал ранее), поэтому devicetree.exe его и не видит. После этого эксперимента я и решил устранять проблему организационным путём, т.е. созданием цифровой подписи.
Записан
shlg
Гость
« Ответ #7 : 24-03-2008 12:10 » 

И ещё вопрос в догонку: цифровые подписи в MS Windows Vista нужны для всех драйверов или только для 64-разрядных?
Спрашиваю, потому-что мнения разделились.
Записан
shlg
Гость
« Ответ #8 : 24-03-2008 12:45 » 

И ещё в догонку: можно ли со стопроцентной уверенностью считать, что выключив при загрузке по F8 проверку подписей они действительно не будут проверяться, т.е. фактически, отсутствие подписи не будет препятствием при загрузке драйвера?
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 24-03-2008 14:02 » 

1. DDK 3790.1830 - это помоему WDK кусок и был... там же была и KMDF 1.0
насчет подписи - не уверен... по крайней мере мой драйвер 1394 легко встал на висту. (правда сутки пытался к нему доступ получить, забыл что по умолчанию права доступа в inf - администраторские выставлены).
это вы по прочтении http://www.themssforum.com/Drivers/Problem-Installing-100491/ так решили?)
думаю что могли и структурку какую нибудь в DDK поменять, и опачки...

а сам я подписи ни разу не делал)

2. насколько слышал я в висте - обязательна проверка подписи только 64-разрядных драйверов. на сайте MS
For Windows Vista and later versions of the Windows family of operating systems:

• Kernel-mode software must have a digital signature to load on x64-based computer systems.
 
• Boot-start drivers should contain an embedded signature.
 
• Certain configurations of x86 systems require kernel-mode software to have digital signatures in order to access next generation premium content depending on content protection policy.
 

3. можно/нет - 100% не знаю, только на 99%)

далее
поиском
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1150139&SiteID=1 не ваше сообщене?)
кроме того было и такое http://www.techtalkz.com/microsoft-device-drivers/284604-bulkusb-vista.html
полистайте http://www.osronline.com/showthread.cfm?link=126124 - близко по теме.


Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
shlg
Гость
« Ответ #10 : 24-03-2008 15:57 » 

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1150139&SiteID=1 - не моё, но точно отражает мою ситуацию.
Записан
shlg
Гость
« Ответ #11 : 26-05-2008 13:08 » 

Использование при передаче пакетов размером 64 байта решает проблему.
Решение получено экспериментальным путём.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 28-05-2008 10:56 » 

максимально возможный размер пакета для высокоскоростного устройства 64 байта. для изохронных пакетов - 1023.
из Агурова, стр 94-95.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
shlg
Гость
« Ответ #13 : 09-06-2008 13:24 » 

Так и не успел толком вникнуть в эту тему. Жаль. Жаль
Возможно, в будущем появится время, чтобы разобраться более тщательно.

Всем спасибо за помощь и советы. Ага
Записан
DrGluck
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 10-06-2008 04:43 » 

Ochkarik
DDK 3790.1830 - это Microsoft Windows 2003 SP1 DDK. Нету там kmdf.
Записан

Good user - dead user
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 10-06-2008 07:31 » 

DrGluck, я KMDF 1.0 ставил. ради того, чтобы DDK 3790.1830 поиметь(DDK в состав KMDF входил, или наоборот..)
не знал что он отдельно бывает) короче у меня была такая инсталяшка. с KMDF и DDK в одном флаконе.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DrGluck
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 10-06-2008 07:36 » 

Аааа, а я отдельно ддк кочал когдато, а потом WDK 6001
Записан

Good user - dead user
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines