aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-05-11 08:58:53 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-05-11 08:58:53 +0000
commitea743970951cbcd6d5206b3136de8c9eb90298a5 (patch)
treec483f329c7dbb6344d0bd6a61633bc53747d9aa1 /Demos/Device
parente0985b995009d71b80d214a66944e76f4e41aadb (diff)
downloadlufa-ea743970951cbcd6d5206b3136de8c9eb90298a5.tar.gz
lufa-ea743970951cbcd6d5206b3136de8c9eb90298a5.tar.bz2
lufa-ea743970951cbcd6d5206b3136de8c9eb90298a5.zip
Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled.
Diffstat (limited to 'Demos/Device')
-rw-r--r--Demos/Device/RNDISEthernet/RNDIS.c8
-rw-r--r--Demos/Device/RNDISEthernet/RNDISConstants.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/Demos/Device/RNDISEthernet/RNDIS.c b/Demos/Device/RNDISEthernet/RNDIS.c
index ee0c8c34b..c5202bcd1 100644
--- a/Demos/Device/RNDISEthernet/RNDIS.c
+++ b/Demos/Device/RNDISEthernet/RNDIS.c
@@ -50,6 +50,7 @@ static char PROGMEM AdapterVendorDescription[] = "LUFA RNDIS Adapter";
static const uint32_t PROGMEM AdapterSupportedOIDList[] =
{
OID_GEN_SUPPORTED_LIST,
+ OID_GEN_PHYSICAL_MEDIUM,
OID_GEN_HARDWARE_STATUS,
OID_GEN_MEDIA_SUPPORTED,
OID_GEN_MEDIA_IN_USE,
@@ -253,6 +254,13 @@ static bool ProcessNDISQuery(uint32_t OId, void* QueryData, uint16_t QuerySize,
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;
case OID_GEN_HARDWARE_STATUS:
*ResponseSize = sizeof(uint32_t);
diff --git a/Demos/Device/RNDISEthernet/RNDISConstants.h b/Demos/Device/RNDISEthernet/RNDISConstants.h
index 91a7e898d..3296666f9 100644
--- a/Demos/Device/RNDISEthernet/RNDISConstants.h
+++ b/Demos/Device/RNDISEthernet/RNDISConstants.h
@@ -82,6 +82,7 @@
#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010EUL
#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL
#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114UL
+ #define OID_GEN_PHYSICAL_MEDIUM 0x00010202UL
#define OID_GEN_XMIT_OK 0x00020101UL
#define OID_GEN_RCV_OK 0x00020102UL
#define OID_GEN_XMIT_ERROR 0x00020103UL