Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled.

pull/1469/head
Dean Camera 16 years ago
parent e0985b9950
commit ea74397095

@ -50,6 +50,7 @@ static char PROGMEM AdapterVendorDescription[] = "LUFA RNDIS Adapter";
static const uint32_t PROGMEM AdapterSupportedOIDList[] = static const uint32_t PROGMEM AdapterSupportedOIDList[] =
{ {
OID_GEN_SUPPORTED_LIST, OID_GEN_SUPPORTED_LIST,
OID_GEN_PHYSICAL_MEDIUM,
OID_GEN_HARDWARE_STATUS, OID_GEN_HARDWARE_STATUS,
OID_GEN_MEDIA_SUPPORTED, OID_GEN_MEDIA_SUPPORTED,
OID_GEN_MEDIA_IN_USE, OID_GEN_MEDIA_IN_USE,
@ -252,6 +253,13 @@ static bool ProcessNDISQuery(uint32_t OId, void* QueryData, uint16_t QuerySize,
/* Copy the list of supported NDIS OID tokens to the response buffer */ /* Copy the list of supported NDIS OID tokens to the response buffer */
memcpy_P(ResponseData, AdapterSupportedOIDList, sizeof(AdapterSupportedOIDList)); memcpy_P(ResponseData, AdapterSupportedOIDList, sizeof(AdapterSupportedOIDList));
return true;
case OID_GEN_PHYSICAL_MEDIUM:
*ResponseSize = sizeof(uint32_t);
/* Indicate that the device is a true ethernet link */
*((uint32_t*)ResponseData) = 0;
return true; return true;
case OID_GEN_HARDWARE_STATUS: case OID_GEN_HARDWARE_STATUS:
*ResponseSize = sizeof(uint32_t); *ResponseSize = sizeof(uint32_t);

@ -82,6 +82,7 @@
#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010EUL #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010EUL
#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL
#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114UL #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114UL
#define OID_GEN_PHYSICAL_MEDIUM 0x00010202UL
#define OID_GEN_XMIT_OK 0x00020101UL #define OID_GEN_XMIT_OK 0x00020101UL
#define OID_GEN_RCV_OK 0x00020102UL #define OID_GEN_RCV_OK 0x00020102UL
#define OID_GEN_XMIT_ERROR 0x00020103UL #define OID_GEN_XMIT_ERROR 0x00020103UL

@ -10,6 +10,8 @@
* *
* - Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data * - Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data
* - Fixed documentation showing incorrect USB mode support on the supported AVRs list * - Fixed documentation showing incorrect USB mode support on the supported AVRs list
* - Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled
*
* *
* \section Sec_ChangeLog090510 Version 090510 * \section Sec_ChangeLog090510 Version 090510
* *

Loading…
Cancel
Save