Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RNDISEthernet.txt 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. /** \file
  2. *
  3. * This file contains special DoxyGen information for the generation of the main page and other special
  4. * documentation pages. It is not a project source file.
  5. */
  6. /** \mainpage RNDIS Class Ethernet Demo (with Webserver/Telnet)
  7. *
  8. * \section Sec_Compat Demo Compatibility:
  9. *
  10. * The following list indicates what microcontrollers are compatible with this demo.
  11. *
  12. * \li Series 7 USB AVRs (AT90USBxxx7)
  13. * \li Series 6 USB AVRs (AT90USBxxx6)
  14. * \li Series AU XMEGA AVRs (ATXMEGAxxxAxU)
  15. * \li Series B XMEGA AVRs (ATXMEGAxxxBxU)
  16. * \li Series C XMEGA AVRs (ATXMEGAxxxCxU)
  17. *
  18. * \section Sec_Info USB Information:
  19. *
  20. * The following table gives a rundown of the USB utilization of this demo.
  21. *
  22. * <table>
  23. * <tr>
  24. * <td><b>USB Mode:</b></td>
  25. * <td>Device</td>
  26. * </tr>
  27. * <tr>
  28. * <td><b>USB Class:</b></td>
  29. * <td>Communications Device Class (CDC)</td>
  30. * </tr>
  31. * <tr>
  32. * <td><b>USB Subclass:</b></td>
  33. * <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)</td>
  34. * </tr>
  35. * <tr>
  36. * <td><b>Relevant Standards:</b></td>
  37. * <td>Microsoft RNDIS Specification</td>
  38. * </tr>
  39. * <tr>
  40. * <td><b>Supported USB Speeds:</b></td>
  41. * <td>Full Speed Mode</td>
  42. * </tr>
  43. * </table>
  44. *
  45. * \section Sec_Description Project Description:
  46. *
  47. * Remote Network Driver Interface demonstration application.
  48. * This gives a simple reference application for implementing
  49. * a CDC RNDIS device acting as a simple network interface for
  50. * ethernet packet exchange. RNDIS is a proprietary Microsoft
  51. * standard; this demo will only work on Windows 2000 (manually
  52. * patched with the Microsoft RNDIS hotfix) and above (with no
  53. * manual patches), or on the latest Linux kernels.
  54. *
  55. * Before running, you will need to install the INF file that
  56. * is located in the RNDISEthernet project directory. This will
  57. * enable Windows to use its inbuilt RNDIS drivers, negating the
  58. * need for special Windows drivers for the device. To install,
  59. * right-click the .INF file and choose the Install option. If
  60. * Windows 2000 is used, the Microsoft INF file in the hotfix
  61. * will need to be altered to use the VID/PID of the demo and
  62. * then chosen instead of the LUFA RNDIS INF file when prompted.
  63. *
  64. * When enumerated, this demo will install as a new network
  65. * adapter which ethernet packets can be sent to and received
  66. * from. Running on top of the adapter is a very simple TCP/IP
  67. * stack with a HTTP webserver and TELNET host which can be
  68. * accessed through a web browser at IP address 10.0.0.2:80 or
  69. * through a TELNET client at 10.0.0.2:25. This device also supports
  70. * ping echos via the ICMP protocol.
  71. *
  72. * \note The TCP/IP stack in this demo has a number of limitations
  73. * and should serve as an example only - it is not fully featured nor
  74. * compliant to the TCP/IP specification. For complete projects, it is
  75. * recommended that it be replaced with an external open source TCP/IP
  76. * stack that is feature complete, such as the uIP stack.
  77. *
  78. * \section Sec_Options Project Options
  79. *
  80. * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
  81. *
  82. * <table>
  83. * <tr>
  84. * <th><b>Define Name:</b></th>
  85. * <th><b>Location:</b></th>
  86. * <th><b>Description:</b></th>
  87. * </tr>
  88. * <tr>
  89. * <td>CLIENT_IP_ADDRESS</td>
  90. * <td>AppConfig.h</td>
  91. * <td>Configures the IP address given to the client (PC) via the DHCP server.</td>
  92. * </tr>
  93. * <tr>
  94. * <td>SERVER_IP_ADDRESS</td>
  95. * <td>AppConfig.h</td>
  96. * <td>Configures the IP address of the virtual server.</td>
  97. * </tr>
  98. * <tr>
  99. * <td>ADAPTER_MAC_ADDRESS</td>
  100. * <td>AppConfig.h</td>
  101. * <td>Configures the MAC address of the RNDIS adapter on the host (PC) side.</td>
  102. * </tr>
  103. * <tr>
  104. * <td>SERVER_MAC_ADDRESS</td>
  105. * <td>AppConfig.h</td>
  106. * <td>Configures the MAC address of the virtual server on the network.</td>
  107. * </tr>
  108. * <tr>
  109. * <td>NO_DECODE_ETHERNET</td>
  110. * <td>AppConfig.h</td>
  111. * <td>When defined, received Ethernet headers will not be decoded and printed to the device serial port.</td>
  112. * </tr>
  113. * <tr>
  114. * <td>NO_DECODE_ARP</td>
  115. * <td>AppConfig.h</td>
  116. * <td>When defined, received ARP headers will not be decoded and printed to the device serial port.</td>
  117. * </tr>
  118. * <tr>
  119. * <td>NO_DECODE_IP</td>
  120. * <td>AppConfig.h</td>
  121. * <td>When defined, received IP headers will not be decoded and printed to the device serial port.</td>
  122. * </tr>
  123. * <tr>
  124. * <td>NO_DECODE_ICMP</td>
  125. * <td>AppConfig.h</td>
  126. * <td>When defined, received ICMP headers will not be decoded and printed to the device serial port.</td>
  127. * </tr>
  128. * <tr>
  129. * <td>NO_DECODE_TCP</td>
  130. * <td>AppConfig.h</td>
  131. * <td>When defined, received TCP headers will not be decoded and printed to the device serial port.</td>
  132. * </tr>
  133. * <tr>
  134. * <td>NO_DECODE_UDP</td>
  135. * <td>AppConfig.h</td>
  136. * <td>When defined, received UDP headers will not be decoded and printed to the device serial port.</td>
  137. * </tr>
  138. * <tr>
  139. * <td>NO_DECODE_DHCP</td>
  140. * <td>AppConfig.h</td>
  141. * <td>When defined, received DHCP headers will not be decoded and printed to the device serial port.</td>
  142. * </tr>
  143. * </table>
  144. */