|
Проблема CyUSB.sys и 64-х битных Windows |
|
|
|
Jan 28 2014, 07:16
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 21-10-04
Пользователь №: 936

|
to Konst777 Относительно WinUSB.inf и WinUsb.sys : Правильно я понял, что я должен скорректировать (добавить) в файл WinUSB.inf , находящийся в дирректории с:\Windows\inf\ строки касающиеся моего устройства, т.е. :
[Version] Signature = "$Windows NT$" Class = USBDevice ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} Provider = %ManufacturerName% CatalogFile = WinUSBInstallation.cat DriverVer=09/04/2012,13.54.20.543
; ========== Manufacturer/Models sections ===========
[Manufacturer] %ManufacturerName% = Standard,NTamd64
[Standard.NTamd64] %DeviceName% =USB_Install, USB\VID_0547&PID_1002
; ========== Class definition ===========
[ClassInstall32] AddReg = ClassInstall_AddReg
[ClassInstall_AddReg] HKR,,,,%ClassName% HKR,,NoInstallClass,,1 HKR,,IconPath,%REG_MULTI_SZ%,"%systemroot%\system32\setupapi.dll,-20" HKR,,LowerLogoVersion,,5.2
; =================== Installation ===================
[USB_Install] Include = winusb.inf Needs = WINUSB.NT
[USB_Install.Services] Include =winusb.inf Needs = WINUSB.NT.Services
[USB_Install.HW] AddReg=Dev_AddReg
[Dev_AddReg] HKR,,DeviceInterfaceGUIDs,0x10000,"{9f543223-cede-4fa3-b376-a25ce9a30e74}"
; [DestinationDirs] ; If your INF needs to copy files, you must not use the DefaultDestDir directive here. ; You must explicitly reference all file-list-section names in this section.
; =================== Strings ===================
[Strings] ManufacturerName="" ClassName="Universal Serial Bus devices" DeviceName="My USB" REG_MULTI_SZ = 0x00010000
Посмотрите, пожалуйста, этих изменений достаточно?
2. Этот inf файл я корректирую прямо в дирректории с:\Windows\inf\ ? или нужно поместить его в свою дирректорию?
3. WinUsb.sys файл возьмется автоматически родной из Windows или его тоже нужно создавать?
|
|
|
|
|
Jan 28 2014, 09:45
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(dxp @ Jan 28 2014, 10:32)  Этот приём не работает после какого-то там обновления.  Тоже использовали, а потом перестало работать... Да ну, а как же разработчики драйверов? Теперь все поголовно обязаны платить Certification Authorities? Попробовал использовать драйвер CyUSB (ver. 3.4), который я когда-то подписал цифровой подписью для тестирования драйверов, под Windows 8.1 x64. Все работает Цитата(dxp @ Jan 28 2014, 10:32)  ...В итоге, накопали некий скрипт,... Так и живём. Ну, так выложите скрипт. Осчастливьте народ. Цитата(pergunt @ Jan 28 2014, 11:16)  to Konst777 Относительно WinUSB.inf и WinUsb.sys : Правильно я понял, что я должен скорректировать (добавить) в файл WinUSB.inf , находящийся в дирректории с:\Windows\inf\... Не нужно трогать WinUSB.inf и WinUsb.sys. Вообще. В этом и преимущество. To identify a USB device as a WinUSB device, the device firmware must have these Microsoft OS Descriptors. Посмотрите пример, который я выложил в теме Подскажите по winUSB. И еще, очень полезно почитать USB Stack and Microsoft OS Descriptors.
|
|
|
|
|
Jan 28 2014, 10:27
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 21-10-04
Пользователь №: 936

|
Прошу прощения, если задаю вопросы про очевидное. Я читаю WinUSB (Winusb.sys) Installation ( http://msdn.microsoft.com/en-us/library/wi...5%29.aspx#howto ) Дохожу до пункта How to create a driver package that installs Winusb.sys : 1. WinUSB co-installer (Winusbcoinstaller.dll) - беру соответствующее dll - WinUsbCoInstaller.dll 2. KMDF co-installer (WdfcoinstallerXXX.dll) - беру wdfcoinstaller01009.dll 3. An .inf file that installs Winusb.sys as the device's function driver. For more information, see Writing an .Inf File for WinUSB Installation. - создаю myusb.inf файл со строками приведенными мной ранее. 4. A signed catalog file for the package. This file is required to install WinUSB on x64 versions of Windows Vista. - А вот с этим пунктом непонятно, где взять проверенный каталог файл для меня, откуда?!
|
|
|
|
|
Jan 28 2014, 11:22
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (Konst_777 @ Jan 28 2014, 16:45)  Да ну, а как же разработчики драйверов? Теперь все поголовно обязаны платить Certification Authorities? Попробовал использовать драйвер CyUSB (ver. 3.4), который я когда-то подписал цифровой подписью для тестирования драйверов, под Windows 8.1 x64. Все работает  Не берусь судить, не знаю тему досконально. Пробовали разные способы, в т.ч. и подписыванием, оно кончалось BSOD'ами. QUOTE (Konst_777 @ Jan 28 2014, 16:45)  Ну, так выложите скрипт. Осчастливьте народ. Он легко гуглится. Впрочем, мне не жалко. 
srdp.zip ( 433.55 килобайт )
Кол-во скачиваний: 184
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jan 28 2014, 11:38
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(pergunt @ Jan 28 2014, 14:27)  -[color="#0000FF"] А вот с этим пунктом непонятно, где взять проверенный каталог файл для меня, откуда?! 1) сходить туда и заплатить бабла. https://www.globalsign.com/ru-ru/podpis-kod...thenticode.html2) получить сертификат 3) выполнить для Вашего INF следующие команды (в любой среде WDK) Код c:\WinDDK\8.0\bin\x86\inf2cat /driver:<path_to_driver> /os:2000,XP_X86,Server2003_X86,Vista_X86,XP_X64,Server2003_X64,Vista_X64,Server2 003_IA64,7_X64,7_X86,Server2008_X64,Server2008_IA64,Server2008_X86,Server2008R2_ X64,Server2008R2_IA64,8_X86,8_X64,Server8_X64
signtool sign /v /s my /n <certificate_name> /ac cert/mscv-gs.pem /t http://timestamp.globalsign.com/scripts/timstamp.dll <path_to_driver>\<drivername>.cat соотв. <path_to_driver> <certificate_name> и <drivername> подставить какие надо Все, наслаждаться драйвером. Платить денег надо только за тот срок, когда требуется подписывание дров. Пользоваться потом подписанными можно неограниченно. ну и winddk 8 нужен чтобы в CAT файл прописать вин8, а signtool все равно какой. я собираю дрова и под 8, и под 8.1 старым добрым WDK 7600, а из 8-го взял ТОЛЬКО inf2cat и ничего более. UPD: cert/mscv-gs.pem - этого надо скачать оттуда - http://msdn.microsoft.com/en-us/library/wi...v=vs.85%29.aspx , там же полный список всех тех, у кого можно покупать сертификат, чтобы он подошел для KMCS
|
|
|
|
|
Jan 28 2014, 13:31
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(pergunt @ Jan 28 2014, 14:49)  Тогда я совсем запутался - в чем преимущество применения WinUsb.sys вместо CyUsb.sys (если я все равно должен заплатить )? Вы слишком углубляетесь в прошлое WinUSB. В самом начале WinUSB был просто еще одним универсальным драйвером для устройств USB. Так же как и CyUsb.sys. В настоящее время, преимущество WinUsb.sys в том, что не нужно вносить изменения в WinUsb.inf и подписывать драйвер. Попробуйте вначале прочитать WCID Devices. Там описана история развития WinUSB и требования к firmware для устройств USB, чтобы разработчику устройства USB не нужно было подписывать драйвер (модификацию WinUsb.inf), а пользователю не нужно было устанавливать драйвер. В теме USB Stack and Microsoft OS Descriptors дан ответ на вопрос: "Почему Windows не подключает мое устройство USB автоматически, хотя мое firmware отвечает на запросы MS OS Descriptors?". В этой теме есть ссылка на тему WCID Devices. Цитата(SM @ Jan 28 2014, 15:58)  ...и вы подделываетесь под VID/PID (или стандартный класс), указанный в нем, то тогда (и только тогда) Вам сертификат покупать не надо. При использовании WinUSB firmware может иметь произвольный VID/PID. Важно, чтобы firmware отвечало на запросы MS OS Descriptors.
|
|
|
|
|
Dec 23 2015, 15:55
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 2-02-13
Пользователь №: 75 460

|
А как дела на 8-ке? Установка неподписанных драйверов в Windows 8.1 http://www.windxp.com.ru/win8/article_44.htmКто-нибудь пробовал? В 7-ке подобная функция заявлена, но не работает.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|