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

 
 
> Проблема при развертывании драйвера (Windows 7/8.1, KMDF)
spbroma
сообщение Dec 25 2014, 14:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-07-14
Пользователь №: 82 337



Здравствуйте!

У меня появилась задача написать драйвер для устройства, подключаемого к ПК через PCIe. Не имея никаких навыков работы с драйверами, после беглого изучения темы узнал, что мне нужен либо KMDF, либо WDM драйвер. Не смотря на горячие призывы работать на WDM, повелся на продвинутость с "высокоуровневостью" и решил попробовать KMDF.

Далее были следующие шаги:

1. Создал новый проект KMDF-драйвера из стандартного шаблона.
2. Указал в inf-файле путь к своему устройству, подключенному к тестовому компьютеру.
3. Сборка и развертывание.

Как правило, развертывание заканчивается какой-либо ошибкой и не выполняется один из этапов (или несколько). Причем, в следующий раз может случиться другая ошибка и на другом этапе. При всем при этом в самом проекте между попытками я не меняю ничего и пытаюсь установить один и тот же драйвер, на что получаю разные ошибки.

Однако, устройство с установленным драйвером таки появляется в диспетчере устройств, а иногда развертывание драйвера даже заканчивается успешно.

Какой-то особой методики и специальных мероприятий для развертывания драйвера на тестовом компьютере я в документации не нашёл, как не смог и найти какую-либо закономерность в том, следствием чего является та или иная ошибка или успешное развертывание.

Может быть вы подскажете, что я делаю не так?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SM
сообщение Dec 25 2014, 15:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(spbroma @ Dec 25 2014, 17:42) *
Не смотря на горячие призывы работать на WDM, повелся на продвинутость с "высокоуровневостью" и решил попробовать KMDF.

И теперь придется, скорее всего, быть первопроходцем. Расскажете потом, что это было sm.gif
А иначе бы, подсказали бы все до самых подробностей...
Go to the top of the page
 
+Quote Post
spbroma
сообщение Dec 25 2014, 15:36
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-07-14
Пользователь №: 82 337



Цитата(SM @ Dec 25 2014, 18:12) *
И теперь придется, скорее всего, быть первопроходцем. Расскажете потом, что это было :)
А иначе бы, подсказали бы все до самых подробностей...


Что-то мне подсказывает, что я еще не продвинулся так далеко, где были бы видны различия :)

Быть может, вы всё ее можете подсказать?

В шаблоне для KMDF драйвера есть заполненный inf-file с указанным ID устройства Root\"DriverName"
Когда я поменял его на ID своей платы (PCI\VEN_10EE&DEV_7083) разворачивание намертво повисло на этапе DefaultDriverPackageInstallationTask.

Подождав минут 10, прервал отладку, студия вылетела и перезапустилась, тестовый компьютер я ресетнул. После загрузки, я обнаружил, что драйвер встал-таки на моё устройство. Но при повторной попытки развертывания драйвера он проходит все этапы, заканчивая DriverRemoval с ошибкой. А дальше начинается чехарда.

Логика подсказывает, что он не может удалить драйвер. Очевидно, потому что он криво встал.

Сообщение отредактировал spbroma - Dec 25 2014, 15:37
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 25 2014, 16:55
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(spbroma @ Dec 25 2014, 18:36) *
на этапе DefaultDriverPackageInstallationTask.

Я даже не знаю, что это такое... Видимо, некая лишняя сущность, присущая KMDF.
Go to the top of the page
 
+Quote Post
spbroma
сообщение Dec 25 2014, 19:10
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-07-14
Пользователь №: 82 337



Ясно :)
Go to the top of the page
 
+Quote Post



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

 


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


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