/** \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="150px">Android</th> * <th width="150px">Windows</th> * <th width="150px">Linux</th> * <th width="150px">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>3.?+</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, * VID/PID ID pair, Windows 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/LUFA CDC-ACM.inf" * * \subsection SSec_WinINF_RNDIS Windows RNDIS INF Template * This template is required for all RNDIS devices on Windows XP or newer. * \verbinclude "WindowsINF/LUFA RNDIS.inf" */