diff --git a/LUFA/CodeTemplates/WindowsINF/CDC-ACM.inf b/LUFA/CodeTemplates/WindowsINF/CDC-ACM.inf new file mode 100644 index 0000000000..34ae08ff5c --- /dev/null +++ b/LUFA/CodeTemplates/WindowsINF/CDC-ACM.inf @@ -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" \ No newline at end of file diff --git a/LUFA/CodeTemplates/WindowsINF/RNDIS.inf b/LUFA/CodeTemplates/WindowsINF/RNDIS.inf new file mode 100644 index 0000000000..2bb0b8f882 --- /dev/null +++ b/LUFA/CodeTemplates/WindowsINF/RNDIS.inf @@ -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" diff --git a/LUFA/DoxygenPages/DevelopingWithLUFA.txt b/LUFA/DoxygenPages/DevelopingWithLUFA.txt index e669e284cc..9a02f95b93 100644 --- a/LUFA/DoxygenPages/DevelopingWithLUFA.txt +++ b/LUFA/DoxygenPages/DevelopingWithLUFA.txt @@ -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 diff --git a/LUFA/DoxygenPages/OSDrivers.txt b/LUFA/DoxygenPages/OSDrivers.txt new file mode 100644 index 0000000000..28c1ca93ad --- /dev/null +++ b/LUFA/DoxygenPages/OSDrivers.txt @@ -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 + * native support on modern operating systems. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
USB ClassAndroidWindowsLinuxOS X
Android Open Accessory2.3.4+N/AN/AN/A
Audio 1.0N/AXP+2.6.?+10.?+
CDC-ACMN/AXP+2.6.?+10.?+
HIDN/AXP+2.6.?+10.?+
MIDIN/AXP+2.6.?+10.?+
Mass StorageN/AXP+2.6.?+10.?+
PrinterN/AXP+2.6.?+10.?+
RNDISN/AXP+2.6.?+N/A
Still ImageN/AXP+2.6.?+10.?+
+ * + * \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 + */ +