Add Windows INF driver templates and class driver OS support information to the documentation.

pull/1469/head
Dean Camera 12 years ago
parent 91eb7c34c7
commit 44ecc034c1

@ -0,0 +1,61 @@
; Windows LUFA CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MFGNAME%
DriverVer=7/1/2012,10.0.0.0
[Manufacturer]
%MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
[SourceDisksNames]
[SourceDisksFiles]
[DestinationDirs]
DefaultDestDir=12
[DriverInstall]
Include=mdmcpq.inf
CopyFiles=FakeModemCopyFileSection
AddReg=DriverInstall.AddReg
[DriverInstall.Services]
Include=mdmcpq.inf
AddService=usbser, 0x00000002, LowerFilter_Service_Inst
[DriverInstall.AddReg]
HKR,,EnumPropPages32,,"msports.dll,SerialPortPropPageProvider"
;------------------------------------------------------------------------------
; Vendor and Product ID Definitions
;------------------------------------------------------------------------------
; When developing your USB device, the VID and PID used in the PC side
; application program and the firmware on the microcontroller must match.
; Modify the below line to use your VID and PID. Use the format as shown below.
; Note: One INF file can be used for multiple devices with different VID and PIDs.
; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
;------------------------------------------------------------------------------
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
[DeviceList.NTx86]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
[DeviceList.NTia64]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
;------------------------------------------------------------------------------
; String Definitions
;------------------------------------------------------------------------------
;Modify these strings to customize your device
;------------------------------------------------------------------------------
[Strings]
MFGNAME="http://www.lufa-lib.org"
DESCRIPTION="LUFA CDC-ACM Virtual Serial Port"

@ -0,0 +1,56 @@
; Windows LUFA RNDIS Setup File
; Copyright (c) 2000 Microsoft Corporation
[Version]
Signature="$Windows NT$"
Class=Net
ClassGUID={4d36e972-e325-11ce-bfc1-08002be10318}
Provider=%MFGNAME%
DriverVer=7/1/2012,10.0.0.0
[Manufacturer]
%MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
[ControlFlags]
ExcludeFromSelect=*
[DriverInstall]
Characteristics=0x84 ; NCF_PHYSICAL + NCF_HAS_UI
BusType=15
include=netrndis.inf
needs=Usb_Rndis.ndi
AddReg=Rndis_AddReg_Vista
[DriverInstall.Services]
include=netrndis.inf
needs=Usb_Rndis.ndi.Services
;------------------------------------------------------------------------------
; Vendor and Product ID Definitions
;------------------------------------------------------------------------------
; When developing your USB device, the VID and PID used in the PC side
; application program and the firmware on the microcontroller must match.
; Modify the below line to use your VID and PID. Use the format as shown below.
; Note: One INF file can be used for multiple devices with different VID and PIDs.
; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
;------------------------------------------------------------------------------
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
[DeviceList.NTx86]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
[DeviceList.NTia64]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204C
;------------------------------------------------------------------------------
; String Definitions
;------------------------------------------------------------------------------
;Modify these strings to customize your device
;------------------------------------------------------------------------------
[Strings]
MFGNAME="http://www.lufa-lib.org"
DESCRIPTION="LUFA RNDIS USB Ethernet Adapter"

@ -15,6 +15,7 @@
* \li \subpage Page_TokenSummary - Summary of Compile Time Tokens
* \li \subpage Page_Migration - Migrating from an Older LUFA Version
* \li \subpage Page_VIDPID - Allocated USB VID and PID Values
* \li \subpage Page_OSDrivers - Operating System Driver Information
* \li \subpage Page_BuildLibrary - Building as a Linkable Library
* \li \subpage Page_ExportingLibrary - Exporting LUFA for IDE Use
* \li \subpage Page_WritingBoardDrivers - How to Write Custom Board Drivers

@ -0,0 +1,111 @@
/** \file
*
* This file contains special DoxyGen information for the generation of the main page and other special
* documentation pages. It is not a project source file.
*/
/** \page Page_OSDrivers Operating System Drivers
*
* Most of the USB classes supported by LUFA are also supported natively in
* most operating systems, without extra drivers being required. However, in
* some cases, a driver file is required in order for the device to enumerate
* and function correctly.
*
* \section Sec_OSClassSupport Operating System USB Class Support
* The table below lists the supported LUFA USB classes, and their associated
* <i>native</i> support on modern operating systems.
*
* <table>
* <tr>
* <th width="200px">USB Class</th>
* <th width="200px">Android</th>
* <th width="200px">Windows</th>
* <th width="200px">Linux</th>
* <th width="200px">OS X</th>
* </tr>
* <tr>
* <td>Android Open Accessory</td>
* <td>2.3.4+</td>
* <td>N/A</td>
* <td>N/A</td>
* <td>N/A</td>
* </tr>
* <tr>
* <td>Audio 1.0</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* <tr>
* <td>CDC-ACM</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* <tr>
* <td>HID</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* <tr>
* <td>MIDI</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* <tr>
* <td>Mass Storage</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* <tr>
* <td>Printer</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* <tr>
* <td>RNDIS</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>N/A</td>
* </tr>
* <tr>
* <td>Still Image</td>
* <td>N/A</td>
* <td>XP+</td>
* <td>2.6.?+</td>
* <td>10.?+</td>
* </tr>
* </table>
*
* \section Sec_WinINFTemplates Windows INF Drivers
* Windows uses INF driver files to associate a USB device of a specific class,
* Vendor and Product ID, compatibility ID or other characteristic to a kernel
* driver. In most cases these files are build into the operating system, and
* no special user action or driver files are required for a device using a
* standard USB class to enumerate. However, for some classes, a specific INF
* driver must be created and given to the operating system for the device to
* enumerate.
*
* Those USB classes requiring a custom INF driver file in Windows are listed
* below, along with a basic INF template for each class.
*
* \subsection SSec_WinINF_CDC Windows CDC INF Template
* This template is required for all CDC-ACM devices on Windows XP or newer.
* \verbinclude WindowsINF/CDC-ACM.inf
*
* \subsection SSec_WinINF_RNDIS Windows RNDIS INF Template
* This template is required for all CDC-RNDIS devices on Windows XP or newer.
* \verbinclude WindowsINF/RNDIS.inf
*/
Loading…
Cancel
Save