aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/RNDISEthernet/RNDIS.c
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/RNDISEthernet/RNDIS.c
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/RNDISEthernet/RNDIS.c')
-rw-r--r--Demos/Device/RNDISEthernet/RNDIS.c8
1 files changed, 8 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);