driver-win.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 28 Jan 2011 13:01:31 +0200
changeset 790 cb53d2483faf
parent 789 6472b80a8b24
child 791 ba7ab740138b
permissions -rw-r--r--
Fix file name.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
735
5c437e2d5fe1 Fix Emacs settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 649
diff changeset
     1
-*- mode: outline; coding: utf-8; fill-column: 80 -*-
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     2
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     3
* Which version exist?
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     4
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     5
 - VxD
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     6
                Windows 3.x and Windows 9x
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     7
 - Windows Driver Model (WDM)
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     8
                Windows 98, Windows 98 Second Edition, Windows Me, Windows
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     9
                2000, Windows XP, Windows Server 2003 and Windows Vista (for
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    10
                backwards compatibility)
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    11
 - Windows Driver Foundation (WDF)
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    12
                Windows 2000 and later
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    13
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    14
* VxD.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    15
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    16
See
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    17
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    18
  http://en.wikipedia.org/wiki/VxD
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    19
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    20
* WDM.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    21
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    22
See
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    23
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    24
  http://en.wikipedia.org/wiki/Windows_Driver_Model
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    25
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    26
* WDF.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    27
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    28
See
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    29
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    30
  http://en.wikipedia.org/wiki/Windows_Driver_Foundation
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    31
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    32
* Tools.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    33
183
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    34
** Msinfo32.exe
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    35
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    36
Windows XP/2003 System Information Tool.
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    37
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    38
See
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    39
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    40
  http://support.microsoft.com/kb/308549
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    41
184
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    42
** Sysinternals.
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    43
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    44
*** WinObj.
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    45
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    46
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
    47
namespace.
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    48
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    49
** devtree.
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    50
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    51
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
    52
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
    53
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
    54
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
    55
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
    56
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
    57
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    58
** Microsoft DDK.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    59
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    60
*** DevCon.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    61
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    62
Supported device classes:
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    63
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    64
  cmd> devcon.exe classes
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    65
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    66
Which files used by specific driver (with "*" prints list of files for all drivers):
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    67
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    68
  cmd> devcon.exe driverfiles *
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    69
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    70
Device ID (names included):
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    71
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    72
  cmd> devcon.exe hwids *
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    73
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    74
Device status (running/stoped):
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    75
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    76
  cmd> devcon.exe status *
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    77
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    78
** USB Command Verifier.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    79
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    80
All USB peripherals are required to pass the Device Framework tests in order
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    81
to gain certification.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    82
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    83
  http://www.usb.org/developers/tools/
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    84
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    85
* Files.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    86
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    87
** Windows 98 SE/ME.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    88
284
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
    89
 * .386
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
    90
   VxD driver under Windows 3.x
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
    91
 * .vxd
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
    92
   VxD driver under Windows 95
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
    93
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    94
** Windows NT (2000/XP/2003).
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    95
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    96
 * .inf
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    97
   Stored in %Windir%\Inf.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    98
 * .pnf
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    99
   Precompiled INF File. Stored in %Windir%\Inf.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   100
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   101
* Driver type.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   102
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   103
** CDC.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   104
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   105
  http://support.microsoft.com/kb/837637
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   106
                How to use or to reference the Usbser.sys driver from
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   107
                universal serial bus (USB) modem .inf files.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   108
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   109
* Driver class.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   110
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   111
See
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   112
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   113
  http://msdn.microsoft.com/en-us/library/ms791134.aspx
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   114
                System-Supplied Device Setup Classes
450
4718697074d9 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 303
diff changeset
   115
  http://msdn.microsoft.com/en-us/library/ff538820.aspx
4718697074d9 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 303
diff changeset
   116
                Drivers for the Supported USB Device Classes
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   117
303
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   118
* How list drivers?
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   119
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   120
Set environment devmgr_show_nonpresent_devices to 1 and run Device Manager,
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   121
select "View" --> "Show hidden devices".
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   122
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   123
* How install drivers?
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   124
619
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   125
** dpinst.
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   126
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   127
Driver Install Frameworks (DIFx) tools allow installing driver under following
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   128
OSes:
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   129
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   130
  Windows Server 2008 R2
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   131
  Windows 7
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   132
  Windows Server 2008
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   133
  Windows Vista
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   134
  Windows Server 2003
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   135
  Windows XP
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   136
  Windows 2000
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   137
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   138
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
   139
(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
   140
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   141
  http://www.microsoft.com/whdc/driver/install/DIFxFAQ.mspx
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   142
                Information about Driver Install Frameworks Tools
303
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   143
  http://msdn.microsoft.com/ru-ru/magazine/cc302206%28en-us%29.aspx
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   144
                If you update any drivers in Device Manager
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   145
                %windir%\system32\ReinstallBackups folder is created with
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   146
                backups of the old drivers.
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   147
619
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   148
** devcon.
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   149
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   150
This command-line specifies the location of the driver package's INF file (c:\toaster\toastpkg.inf)
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   151
and the toaster device's hardware identifier (ID), which is specified within the INF file.
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   152
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   153
  cmd# devcon.exe install c:\toaster\toastpkg.inf {b85b7c50-6a01-11d2-b841-00c04fad5171}\mstoaster
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   154
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   155
  http://msdn.microsoft.com/en-us/library/ff553642.aspx
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   156
                Using the DevCon Tool to Install a Driver Package
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   157
458
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   158
* How debug Windows drivers.
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   159
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   160
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
   161
789
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   162
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
   163
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
   164
device installation problems.
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   165
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   166
For Windows XP/2003 check:
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   167
790
cb53d2483faf Fix file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   168
  %SystemRoot%/setupapi.log
789
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   169
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   170
For Windows Vista and later versions of Windows check:
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   171
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   172
  %SystemRoot%\inf\SetupAPI.dev.log     installation events in the device
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   173
  %SystemRoot%\inf\SetupAPI.app.log     application installation
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   174
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   175
  http://msdn.microsoft.com/en-us/library/ff553497.aspx
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   176
                Troubleshooting Install and Load Problems with Signed Driver Packages
458
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   177
  http://www.microsoft.com/whdc/devtools/debugging/debugtips.mspx
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   178
                Improve Driver Debuggability
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   179
  http://msdn.microsoft.com/en-us/library/ff551063.aspx
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   180
                Debugging Tools for Windows
459
13abfab8b41b added link
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 458
diff changeset
   181
  http://msdn.microsoft.com/en-us/library/ff543450%28VS.85%29.aspx
13abfab8b41b added link
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 458
diff changeset
   182
                Checked and Free Build Differences
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   183
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   184
* Driver signing.
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   185
640
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   186
Type of signature:
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   187
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   188
 * Signed by a Windows signing authority.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   189
 * Signed by a trusted publisher.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   190
 * Signed by an untrusted publisher.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   191
 * Signed by a publisher of unknown trust.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   192
 * Altered.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   193
 * Unsigned.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   194
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   195
  http://msdn.microsoft.com/en-us/library/ff544703.aspx
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   196
                Type of signature and performed action.
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   197
  http://www.microsoft.com/whdc/driver/install/drvsign/best-practices.mspx
643
6eeff5c4e2fe Added url.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 642
diff changeset
   198
                Code-Signing Best Practices.
6eeff5c4e2fe Added url.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 642
diff changeset
   199
  http://msdn.microsoft.com/en-us/library/ff550764.aspx
6eeff5c4e2fe Added url.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 642
diff changeset
   200
                Device Installation Signing Requirements.
649
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   201
  http://www.microsoft.com/whdc/winlogo/categories.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   202
                Windows Logo Program Test Categories.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   203
  http://www.microsoft.com/whdc/driver/install/drvsign/crosscert.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   204
                Root Authority Cross-Certificate List
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   205
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   206
** Tools for Signing Drivers.
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   207
629
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   208
'certmgr.msc' present in Windows 2000 and upper.
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   209
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   210
From Windows SDK/WDK:
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   211
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   212
  CertMgr Inf2Cat MakeCat MakeCert Pvk2Pfx SignTool
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   213
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   214
  http://msdn.microsoft.com/en-us/library/ff552958.aspx
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   215
                Tools for Signing Drivers
623
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   216
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   217
* Invoking a Device Properties Dialog Box from a Command-line Prompt.
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   218
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   219
You need get device-instance-ID-parameter:
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   220
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   221
  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
   222
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   223
  http://msdn.microsoft.com/en-us/library/ff548170.aspx
624
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   224
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   225
* Driver Selection Process.
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   226
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   227
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
   228
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   229
 * 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
   230
 * 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
   231
 * 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
   232
 * 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
   233
 * 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
   234
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   235
  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
   236
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   237
* Distributing a Driver Package.
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   238
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   239
** Windows Update.
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   240
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   241
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
   242
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   243
 * 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
   244
 * Qualifies for the Windows Logo program.
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   245
 * 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
   246
   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
   247
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   248
  http://msdn.microsoft.com/en-us/library/ff554874.aspx
649
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   249
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   250
* Hardware ID.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   251
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   252
PCI and AGP buses: Contain subsystem ID and subsystem vendor ID (&SUBSYS in the ID string). Drivers
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   253
must have VID/DID/SVID/SID PNP ID entries to be published via Windows Update.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   254
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   255
PCI Device Subsystem IDs and Windows specifications are available at:
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   256
http://www.microsoft.com/whdc/archive/pciidspec.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   257
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   258
PCMCIA: Always specific; contains PCMCIA in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   259
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   260
USB: Contains VID and &PID in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   261
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   262
IEEE 1394: Always specific; contains 1394 in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   263
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   264
HID: Contains &VID and &PID in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   265
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   266
IDE: Contains IDE\ in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   267
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   268
Parallel Port Printers: Contain LPTENUM\ in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   269
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   270
IrDA Printers: IDs begin with HWP.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   271
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   272
  http://www.microsoft.com/whdc/winlogo/winup/default.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   273
                Windows Update Driver Publishing