amitrkcian Ответов: 1

Невозможно установить образец драйвера UMDF virtualserial2 на целевой ПК с windows 7


Как мое развитие машина & моя тестовая машина 64-битной Windows с операционная система Windows 7 так, чтобы дать себе фору, как я собрала вести проект под Windows-драйвера-образцы-мастер/серийный/VirtualSerial2 образец код, предоставленный Microsoft, начальные промелькнуло сообщение об ошибке, что говорит следующим образом: "поставщик не может быть "Майкрософт", должна быть организация, которая является автором РСМД", поэтому я изменил следующую строку .файл inx MSFTUMDF=Microsoft для MSFTUMDF=образец, потом он успешно компилируется.

Затем я выполняю следующий процесс установки драйвера на целевую машину.

1) я скопировал VirtualSerial2um.ССВ VirtualSerial2um файл.inf-файл из Windows-драйвера-образцы-мастер\последовательного\VirtualSerial2\вести\х64\отладки усилителя; amp; devcon.exe из файлов C:\Program для Windows\наборы\10\сервис\x64, чтобы образец папки на диске C:\ целевого устройства.

2) затем на целевой машине я открываю internet explorer, я перешел в Internet Options->content->Certificates->import, затем я выбрал файл VirtualSerial2um.cer и импортировал сертификат.

3) затем на целевой машине я открыл командную строку от имени администратора, перешел к папке Sample и набрал следующую команду.

можно установить virtualSerial2um.inf-файл umdf с\Virtual_1

Затем в командной строке он говорит:
создана запись дерева устройств
Девкон потерпел неудачу.


В диспетчере устройств в разделе неизвестное устройство появляется COMn(n-номер com-порта), но когда я открываю свой гипертерминал, COMn не отображается в выпадающем списке COM-портов.

Теперь я не могу понять, почему моя установка devcon терпит неудачу, так как она говорит, что мой драйвер зарегистрирован в дереве устройств, а затем почему он отображается в неизвестном устройстве, а не в портах

Это содержимое файла VirtualSerial2um.inf

;
; Copyright (C) Microsoft Corporation, Все Права Защищены.
;
; VirtualSerial.inf
;
;установка Примечание:
; Введите "devcon install VirtualSerial2um.inf UMDF\VirtualSerial2um" для установки

[Версия]
Подпись="$Windows NT$"
Класс=Порты
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Поставщик=%MSFTUMDF%
CatalogFile=WUDF.cat
Файлы driverver=05/30/2016,19.7.52.160

[Производитель]
%MSFTUMDF%=Microsoft,NTx86

[Microsoft.NTx86]
%VirtualSerialDeviceName%=VirtualSerial_Install,UMDF\VirtualSerial2um

[Исходные файлы дисков]
Virtualserial2um.библиотека DLL=1

[Исходные имена дисков]
1 = %MediaDescription%

; =================== Устройство UMDF VirtualSerial ==================================

[VirtualSerial_Install.NT]
CopyFiles=UMDriverCopy

[VirtualSerial_Install.NT.hw]
AddReg=SetDeviceType_AddReg

[VirtualSerial_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall

[VirtualSerial_Install.NT.Wdf]
UmdfService = VirtualSerial, VirtualSerial_Install
UmdfServiceOrder = VirtualSerial
UmdfKernelModeClientPolicy = AllowKernelModeClients
UmdfFileObjectPolicy = AllowNullAndUnknownFileObjects
UmdfFsContextUsePolicy = CannotUseFsContexts

[VirtualSerial_Install]
UmdfLibraryVersion=2.15.0
ServiceBinary=%12%\UMDF\Virtualserial2um.dll

[WUDFRD_ServiceInstall]
DisplayName = %WudfRdDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WUDFRd.sys

[SetDeviceType_AddReg]
HKR,,DeviceType,0x10001,0x0000001b ; 0x1b = FILE_DEVICE_SERIAL_PORT

[DestinationDirs]
UMDriverCopy=12,UMDF ; копировать в drivers\UMDF

[UMDriverCopy]
Virtualserial2um.dll

; =================== Универсальный ==================================

[Струнные]
MSFTUMDF="образец"
MediaDescription="Пример Установочного Носителя Драйвера Microsoft"
WudfRdDisplayName="Фонд Драйверов Windows - Framework драйвера пользовательского режима отражатель"
VirtualSerialDeviceName="образец Microsoft VirtualSerial (UMDF 2)"

Что я уже пробовал:

1) я скопировал VirtualSerial2um.ССВ VirtualSerial2um файл.inf-файл из Windows-драйвера-образцы-мастер\последовательного\VirtualSerial2\вести\х64\отладки усилителя; amp; devcon.exe из файлов C:\Program для Windows\наборы\10\сервис\x64, чтобы образец папки на диске C:\ целевого устройства.

2) затем на целевой машине я открываю internet explorer, я перешел в Internet Options->content->Certificates->import, затем я выбрал файл VirtualSerial2um.cer и импортировал сертификат.

3) затем на целевой машине я открыл командную строку от имени администратора, перешел к папке Sample и набрал следующую команду.

можно установить virtualSerial2um.inf-файл umdf с\Virtual_1

Затем в командной строке он говорит:
создана запись дерева устройств
Девкон потерпел неудачу.


В диспетчере устройств в разделе неизвестное устройство появляется COMn(n-номер com-порта), но когда я открываю свой гипертерминал, COMn не отображается в выпадающем списке COM-портов.

amitrkcian

Я внес следующие изменения, которые привели к успешной установке, но все еще есть некоторые сбои:

1) Изначально я помещал три файла в папку Sample(devcon.exe, VirtualSerial2um.inf &Virtual Serial2um.cer), но теперь у меня есть VirtualSerial2Um.ll &все объектные файлы вместе с тремя файлами в папке Sample.

2) изначально в командной строке я пытался выполнить следующую команду
"devcon install virtualSerial2um.inf UMDF\Virtual_1" в этом hardwareID (UMDF\Virtual_1) был неверен, я изменил его на UMDF\VirtualSerial2um.
Поэтому, когда я выполнил следующую команду

"devcon install virtualSerial2um.inf UMDF\VirtualSerial2um" в командной строке он сказал: "драйвер установлен успешно"

Когда я проверил свой диспетчер устройств, в разделе порты(COM & LPT) Microsoft VirtualSerial Sample (UMDF2)(COM9) появляется с надписью "желтый !(восклицательный знак)"

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

Я также проверил диспетчер задач и не вижу wudfhost.exe запущенный, который является хост-процессом для драйверов UMDF.

Пожалуйста, посоветуйте мне решение, которое позволило бы удалить метку "yellow !" с устройства в диспетчере устройств и запустить хост-процесс.

1 Ответов

Рейтинг:
0

dmitryponv

Вот как я заставил свою работать.

0. CD в папке build

C:\Temp\VirtualSerial\ComPort\x64\Release\virtualserial>


1. Сначала установите драйвер с помощью команды devcon, он не будет работать.
Команда Devcon-это
devcon install virtualserial.inf UMDF\VirtualSerial


2. Проверьте Диспетчер устройств, вы увидите, что он отображается как неизвестное устройство или COM# с восклицательным знаком.


3. щелкните правой кнопкой мыши на нем -> Обновить драйвер -> просмотреть мой компьютер для программного обеспечения драйвера -> позвольте мне выбрать из списка доступных драйверов на моем компьютере


4. Теперь на моей машине он показывает
Microsoft VirtualSerial User-Mode Device Sample
и под ним, это видно
This driver is digitally signed
.

5. Теперь, если вы нажмете на Have Disk и перейдете к любому из файлов virtualserial.inf в образце, он изменится на
This driver is not digitally signed

Вы не хотите этого, поэтому, если вы это сделали, отмените и вернитесь к шагу 3

6. Нажмите кнопку Далее, и вы увидите
Microsoft VirtualSerial User-Mode Device Sample (COM#)
в разделе порты в Диспетчере устройств.


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

Некоторые дополнительные шаги к отладке для тех, кто читает.

1. Убедитесь, что вы строите x64, если используете x64-систему. Я получил как отладку, так и релиз для работы

2. Убедитесь, что вы запускаете devcon из папки virtualserial внутри папки Release или Debug. Потому что эта папка содержит WudfUpdate_01011.dll файл

3. Если вы не можете заставить его показать, что этот драйвер имеет цифровую подпись в любой момент, grabt he Digicert utility отсюда: https://www.digicert.com/util/DigiCertUtil.exe вы можете видеть, что метод установки internet explorer имеет восклицательный знак рядом с ним. Щелкните правой кнопкой мыши на нем, и digicert опишет проблему и предложит ее исправить. Кроме того, вы также можете использовать digiert для импорта файла virtualserial.cer из соответствующей папки выпуска.

4. наконец, проверьте журналы devcon, они находятся в:
C:\Windows\INF\setupapi.dev.log


Вы ищете сигнатуру WHQL.

5. наконец, попробуйте построить и установить проект, не внося в него никаких изменений, мы, конечно же, говорим об этом проекте Windows драйвер-образцы/серийный/VirtualSerial мастер · компания Microsoft и Windows-драйвер-образцы · в GitHub[^]

Спасибо за предоставленную информацию. Вы должны превратить это в учебную страницу из вашего вопроса.