author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Fri, 13 Jan 2012 13:07:39 +0200 | |
changeset 1202 | 4115eb3a6f03 |
parent 1156 | 783158979d5f |
child 1334 | 9bf0d5a1f0cf |
permissions | -rw-r--r-- |
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
1 |
.. -*- coding: utf-8; -*- |
176 | 2 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
3 |
===================== |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
4 |
Driver for Windows. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
5 |
===================== |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
6 |
|
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
7 |
About. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
8 |
====== |
791 | 9 |
|
10 |
microsoft.public.development.device.drivers |
|
11 |
NNTP driver development group at msnews.microsoft.com:119 |
|
12 |
http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx |
|
13 |
Web-interface to NNTP forum |
|
14 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
15 |
Which version exist? |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
16 |
==================== |
176 | 17 |
|
18 |
- VxD |
|
19 |
Windows 3.x and Windows 9x |
|
20 |
- Windows Driver Model (WDM) |
|
21 |
Windows 98, Windows 98 Second Edition, Windows Me, Windows |
|
22 |
2000, Windows XP, Windows Server 2003 and Windows Vista (for |
|
23 |
backwards compatibility) |
|
24 |
- Windows Driver Foundation (WDF) |
|
25 |
Windows 2000 and later |
|
26 |
||
27 |
http://en.wikipedia.org/wiki/VxD |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
28 |
VxD |
176 | 29 |
http://en.wikipedia.org/wiki/Windows_Driver_Model |
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
30 |
WDM. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
31 |
http://en.wikipedia.org/wiki/Windows_Driver_Foundation |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
32 |
WDF. |
176 | 33 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
34 |
Msinfo32.exe. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
35 |
============= |
183 | 36 |
|
37 |
Windows XP/2003 System Information Tool. |
|
38 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
39 |
* http://support.microsoft.com/kb/308549 |
183 | 40 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
41 |
Sysinternals. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
42 |
============= |
184
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
43 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
44 |
WinObj. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
45 |
------- |
184
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
46 |
|
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
47 |
Winobj is a program that lets you browse the Windows NT Object Manager |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
48 |
namespace. |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
49 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
50 |
devtree. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
51 |
-------- |
184
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
52 |
|
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
53 |
The DeviceTree V2.12 utility is a Windows XP/Server 2003 utility written by |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
54 |
OSR, that allows the user the ability to display the drivers and devices |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
55 |
loaded in 2 different views. The first view Driver View the user sees a list |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
56 |
of all the drivers loaded in kernel mode and all the devices that those |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
57 |
drivers have created. In the second view PnP View the user sees a list of all |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
58 |
the devices in the system from that of Plug and Play Manager (PnP). |
380c761db215
About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
183
diff
changeset
|
59 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
60 |
Microsoft DDK. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
61 |
============== |
176 | 62 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
63 |
DevCon. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
64 |
------- |
176 | 65 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
66 |
Supported device classes:: |
176 | 67 |
|
68 |
cmd> devcon.exe classes |
|
69 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
70 |
Which files used by specific driver (with "*" prints list of files for all |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
71 |
drivers):: |
176 | 72 |
|
73 |
cmd> devcon.exe driverfiles * |
|
74 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
75 |
Device ID (names included):: |
176 | 76 |
|
77 |
cmd> devcon.exe hwids * |
|
78 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
79 |
Device status (running/stoped):: |
176 | 80 |
|
81 |
cmd> devcon.exe status * |
|
82 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
83 |
USB Command Verifier. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
84 |
===================== |
176 | 85 |
|
86 |
All USB peripherals are required to pass the Device Framework tests in order |
|
87 |
to gain certification. |
|
88 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
89 |
* http://www.usb.org/developers/tools/ |
176 | 90 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
91 |
Files. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
92 |
====== |
176 | 93 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
94 |
Windows 98 SE/ME. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
95 |
----------------- |
176 | 96 |
|
284
b21079a6bc2b
Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
184
diff
changeset
|
97 |
* .386 |
b21079a6bc2b
Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
184
diff
changeset
|
98 |
VxD driver under Windows 3.x |
b21079a6bc2b
Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
184
diff
changeset
|
99 |
* .vxd |
b21079a6bc2b
Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
184
diff
changeset
|
100 |
VxD driver under Windows 95 |
b21079a6bc2b
Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
184
diff
changeset
|
101 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
102 |
Windows NT (2000/XP/2003). |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
103 |
-------------------------- |
176 | 104 |
|
105 |
* .inf |
|
106 |
Stored in %Windir%\Inf. |
|
107 |
* .pnf |
|
108 |
Precompiled INF File. Stored in %Windir%\Inf. |
|
109 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
110 |
Driver type. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
111 |
============ |
176 | 112 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
113 |
CDC. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
114 |
---- |
176 | 115 |
|
116 |
http://support.microsoft.com/kb/837637 |
|
117 |
How to use or to reference the Usbser.sys driver from |
|
118 |
universal serial bus (USB) modem .inf files. |
|
119 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
120 |
Driver class. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
121 |
============= |
176 | 122 |
|
123 |
http://msdn.microsoft.com/en-us/library/ms791134.aspx |
|
124 |
System-Supplied Device Setup Classes |
|
450 | 125 |
http://msdn.microsoft.com/en-us/library/ff538820.aspx |
126 |
Drivers for the Supported USB Device Classes |
|
301
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
127 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
128 |
How list drivers? |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
129 |
================= |
303 | 130 |
|
131 |
Set environment devmgr_show_nonpresent_devices to 1 and run Device Manager, |
|
132 |
select "View" --> "Show hidden devices". |
|
133 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
134 |
How install drivers? |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
135 |
==================== |
301
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
136 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
137 |
dpinst. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
138 |
------- |
619 | 139 |
|
301
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
140 |
Driver Install Frameworks (DIFx) tools allow installing driver under following |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
141 |
OSes: |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
142 |
|
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
143 |
Windows Server 2008 R2 |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
144 |
Windows 7 |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
145 |
Windows Server 2008 |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
146 |
Windows Vista |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
147 |
Windows Server 2003 |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
148 |
Windows XP |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
149 |
Windows 2000 |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
150 |
|
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
151 |
It consist from API (from library, DIFxAPI, DIFxApp) and command line tool |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
152 |
(DPInst) which can be found in WDK and their licence allow redistribution. |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
153 |
|
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
154 |
http://www.microsoft.com/whdc/driver/install/DIFxFAQ.mspx |
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
155 |
Information about Driver Install Frameworks Tools |
303 | 156 |
http://msdn.microsoft.com/ru-ru/magazine/cc302206%28en-us%29.aspx |
157 |
If you update any drivers in Device Manager |
|
158 |
%windir%\system32\ReinstallBackups folder is created with |
|
159 |
backups of the old drivers. |
|
301
072d4cc9d726
How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
284
diff
changeset
|
160 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
161 |
devcon. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
162 |
------- |
619 | 163 |
|
164 |
This command-line specifies the location of the driver package's INF file (c:\toaster\toastpkg.inf) |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
165 |
and the toaster device's hardware identifier (ID), which is specified within the INF file:: |
619 | 166 |
|
167 |
cmd# devcon.exe install c:\toaster\toastpkg.inf {b85b7c50-6a01-11d2-b841-00c04fad5171}\mstoaster |
|
168 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
169 |
See: |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
170 |
|
619 | 171 |
http://msdn.microsoft.com/en-us/library/ff553642.aspx |
172 |
Using the DevCon Tool to Install a Driver Package |
|
173 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
174 |
How debug Windows drivers. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
175 |
========================== |
458
b4a231e0296a
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
450
diff
changeset
|
176 |
|
618
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
177 |
To detect whether a driver loaded, check the status of the device in Device Manager. |
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
178 |
|
789
6472b80a8b24
SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
735
diff
changeset
|
179 |
SetupAPI logs information about device installation in a plain-text log file |
6472b80a8b24
SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
735
diff
changeset
|
180 |
that you can use to verify the installation of a device and to troubleshoot |
6472b80a8b24
SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
735
diff
changeset
|
181 |
device installation problems. |
6472b80a8b24
SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
735
diff
changeset
|
182 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
183 |
For Windows XP/2003 check:: |
789
6472b80a8b24
SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
735
diff
changeset
|
184 |
|
790 | 185 |
%SystemRoot%/setupapi.log |
789
6472b80a8b24
SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
735
diff
changeset
|
186 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
187 |
For Windows Vista and later versions of Windows check:: |
618
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
188 |
|
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
189 |
%SystemRoot%\inf\SetupAPI.dev.log installation events in the device |
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
190 |
%SystemRoot%\inf\SetupAPI.app.log application installation |
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
191 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
192 |
See: |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
193 |
|
618
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
194 |
http://msdn.microsoft.com/en-us/library/ff553497.aspx |
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
195 |
Troubleshooting Install and Load Problems with Signed Driver Packages |
458
b4a231e0296a
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
450
diff
changeset
|
196 |
http://www.microsoft.com/whdc/devtools/debugging/debugtips.mspx |
b4a231e0296a
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
450
diff
changeset
|
197 |
Improve Driver Debuggability |
b4a231e0296a
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
450
diff
changeset
|
198 |
http://msdn.microsoft.com/en-us/library/ff551063.aspx |
b4a231e0296a
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
450
diff
changeset
|
199 |
Debugging Tools for Windows |
459 | 200 |
http://msdn.microsoft.com/en-us/library/ff543450%28VS.85%29.aspx |
201 |
Checked and Free Build Differences |
|
1202
4115eb3a6f03
SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1156
diff
changeset
|
202 |
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540793.aspx |
4115eb3a6f03
SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1156
diff
changeset
|
203 |
Debugging Driver Installation |
4115eb3a6f03
SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1156
diff
changeset
|
204 |
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550863.aspx |
4115eb3a6f03
SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1156
diff
changeset
|
205 |
SetupAPI Device Installation Log Entries |
618
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
206 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
207 |
Driver signing. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
208 |
=============== |
618
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
209 |
|
640 | 210 |
Type of signature: |
211 |
||
212 |
* Signed by a Windows signing authority. |
|
213 |
* Signed by a trusted publisher. |
|
214 |
* Signed by an untrusted publisher. |
|
215 |
* Signed by a publisher of unknown trust. |
|
216 |
* Altered. |
|
217 |
* Unsigned. |
|
218 |
||
219 |
http://msdn.microsoft.com/en-us/library/ff544703.aspx |
|
220 |
Type of signature and performed action. |
|
628
0af4870462ea
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
624
diff
changeset
|
221 |
http://www.microsoft.com/whdc/driver/install/drvsign/best-practices.mspx |
643 | 222 |
Code-Signing Best Practices. |
223 |
http://msdn.microsoft.com/en-us/library/ff550764.aspx |
|
224 |
Device Installation Signing Requirements. |
|
649 | 225 |
http://www.microsoft.com/whdc/winlogo/categories.mspx |
226 |
Windows Logo Program Test Categories. |
|
227 |
http://www.microsoft.com/whdc/driver/install/drvsign/crosscert.mspx |
|
228 |
Root Authority Cross-Certificate List |
|
628
0af4870462ea
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
624
diff
changeset
|
229 |
|
1154
26b6fca0cf39
Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1153
diff
changeset
|
230 |
Disable signing requirement on Windows 7 x64. |
26b6fca0cf39
Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1153
diff
changeset
|
231 |
============================================= |
26b6fca0cf39
Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1153
diff
changeset
|
232 |
:: |
26b6fca0cf39
Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1153
diff
changeset
|
233 |
|
1155 | 234 |
cmd> bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS |
1154
26b6fca0cf39
Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1153
diff
changeset
|
235 |
cmd> bcdedit -set TESTSIGNING ON |
26b6fca0cf39
Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1153
diff
changeset
|
236 |
|
1155 | 237 |
To revert back:: |
238 |
||
239 |
cmd> bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS |
|
240 |
cmd> bcdedit.exe -set TESTSIGNING OFF |
|
241 |
||
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
242 |
Tools for Signing Drivers. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
243 |
========================== |
628
0af4870462ea
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
624
diff
changeset
|
244 |
|
629
f677b24ac51b
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
628
diff
changeset
|
245 |
'certmgr.msc' present in Windows 2000 and upper. |
f677b24ac51b
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
628
diff
changeset
|
246 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
247 |
From Windows SDK/WDK:: |
629
f677b24ac51b
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
628
diff
changeset
|
248 |
|
f677b24ac51b
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
628
diff
changeset
|
249 |
CertMgr Inf2Cat MakeCat MakeCert Pvk2Pfx SignTool |
628
0af4870462ea
Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
624
diff
changeset
|
250 |
|
1156
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
251 |
To register certificate in Windows 7 (or install "Admin Tools Pack" in Windows |
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
252 |
XP):: |
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
253 |
|
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
254 |
cmd> certutil -addstore TrustedPublisher cert.cer |
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
255 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
256 |
See: |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
257 |
|
618
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
258 |
http://msdn.microsoft.com/en-us/library/ff552958.aspx |
ef2c73fcca44
How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
459
diff
changeset
|
259 |
Tools for Signing Drivers |
1156
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
260 |
http://www.microsoft.com/download/en/details.aspx?id=16770 |
783158979d5f
register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1155
diff
changeset
|
261 |
Admin Tools Pack |
623
fd703dc282b7
Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
620
diff
changeset
|
262 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
263 |
Invoking a Device Properties Dialog Box from a Command-line Prompt. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
264 |
=================================================================== |
623
fd703dc282b7
Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
620
diff
changeset
|
265 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
266 |
You need get device-instance-ID-parameter:: |
623
fd703dc282b7
Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
620
diff
changeset
|
267 |
|
fd703dc282b7
Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
620
diff
changeset
|
268 |
cmd# rundll32.exe devmgr.dll,DeviceProperties_RunDLL /DeviceID "ACPI\PNP0F03\4&1A8C8C2E&0" |
fd703dc282b7
Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
620
diff
changeset
|
269 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
270 |
* http://msdn.microsoft.com/en-us/library/ff548170.aspx |
624
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
271 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
272 |
Driver Selection Process. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
273 |
========================= |
624
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
274 |
|
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
275 |
Windows uses the following criteria to select a driver for a device: |
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
276 |
|
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
277 |
* Windows selects the driver that has the lowest rank value as the best match for the device. |
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
278 |
* For drivers that have equal rank, Windows selects the driver that has the most recent date. |
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
279 |
* For the drivers that have equal rank and date, Windows selects the driver that has the highest version. |
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
280 |
* Windows XP SP1 and later: For drivers that have equal rank, date, and version, Windows can select any driver. |
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
281 |
* Windows XP and Windows 2000: For drivers that have equal rank, date, and version, Windows can select any driver. |
76016e0c69f9
Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
623
diff
changeset
|
282 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
283 |
See: |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
284 |
|
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
285 |
* http://msdn.microsoft.com/en-us/library/ff549553.aspx |
642
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
286 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
287 |
Distributing a Driver Package. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
288 |
============================== |
642
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
289 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
290 |
Windows Update. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
291 |
--------------- |
642
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
292 |
|
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
293 |
You can distribute a driver package through the Windows Update program if the driver package: |
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
294 |
|
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
295 |
* Passes the WHQL test program and receives a WHQL release signature. |
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
296 |
* Qualifies for the Windows Logo program. |
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
297 |
* Meets additional requirements that ensure that Windows Update can determine the correct driver |
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
298 |
package for the user's device, can legally distribute it, and can automatically download it. |
e1732c85cd1a
Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
640
diff
changeset
|
299 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
300 |
See: |
649 | 301 |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
302 |
* http://msdn.microsoft.com/en-us/library/ff554874.aspx |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
303 |
|
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
304 |
Hardware ID. |
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
305 |
------------ |
649 | 306 |
|
307 |
PCI and AGP buses: Contain subsystem ID and subsystem vendor ID (&SUBSYS in the ID string). Drivers |
|
308 |
must have VID/DID/SVID/SID PNP ID entries to be published via Windows Update. |
|
309 |
||
310 |
PCI Device Subsystem IDs and Windows specifications are available at: |
|
1153
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
311 |
|
ee88b4d14151
Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
899
diff
changeset
|
312 |
* http://www.microsoft.com/whdc/archive/pciidspec.mspx |
649 | 313 |
|
314 |
PCMCIA: Always specific; contains PCMCIA in the ID string. |
|
315 |
||
316 |
USB: Contains VID and &PID in the ID string. |
|
317 |
||
318 |
IEEE 1394: Always specific; contains 1394 in the ID string. |
|
319 |
||
320 |
HID: Contains &VID and &PID in the ID string. |
|
321 |
||
322 |
IDE: Contains IDE\ in the ID string. |
|
323 |
||
324 |
Parallel Port Printers: Contain LPTENUM\ in the ID string. |
|
325 |
||
326 |
IrDA Printers: IDs begin with HWP. |
|
327 |
||
328 |
http://www.microsoft.com/whdc/winlogo/winup/default.mspx |
|
329 |
Windows Update Driver Publishing |