Commit 64e04910 authored by David Brownell's avatar David Brownell Committed by Greg Kroah-Hartman

[PATCH] USB: usbnet (8/9) module for RNDIS devices

This adds host-side RNDIS support to the "usbnet" driver, so Linux can talk
to various devices (often based on WinCE) that otherwise only Windows could
talk to.

Tested with little-endian Linux talking to a Linux-USB Ethernet/RNDIS based
peripheral.  This also includes updates from Eddie C. Dost <ecd@brainaid.de>
for big-endian SPARC Linux talking to a Nokia 9500 Communicator.

It's still marked as EXPERIMENTAL because this code is so young.  This
ought to let Linux to work with various cable modems that previously
would have been "Windows Only".
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4324fd49
...@@ -212,6 +212,19 @@ config USB_NET_NET1080 ...@@ -212,6 +212,19 @@ config USB_NET_NET1080
on this design: one NetChip 1080 chip and supporting logic, on this design: one NetChip 1080 chip and supporting logic,
optionally with LEDs that indicate traffic optionally with LEDs that indicate traffic
config USB_NET_RNDIS_HOST
tristate "Host for RNDIS devices (EXPERIMENTAL)"
depends on USB_USBNET && EXPERIMENTAL
select USB_NET_CDCETHER
help
This option enables hosting "Remote NDIS" USB networking links,
as encouraged by Microsoft (instead of CDC Ethernet!) for use in
various devices that may only support this protocol.
Avoid using this protocol unless you have no better options.
The protocol specification is incomplete, and is controlled by
(and for) Microsoft; it isn't an "Open" ecosystem or market.
config USB_NET_CDC_SUBSET config USB_NET_CDC_SUBSET
tristate "Simple USB Network Links (CDC Ethernet subset)" tristate "Simple USB Network Links (CDC Ethernet subset)"
depends on USB_USBNET depends on USB_USBNET
......
...@@ -10,6 +10,7 @@ obj-$(CONFIG_USB_NET_AX8817X) += asix.o ...@@ -10,6 +10,7 @@ obj-$(CONFIG_USB_NET_AX8817X) += asix.o
obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
obj-$(CONFIG_USB_NET_GL620A) += gl620a.o obj-$(CONFIG_USB_NET_GL620A) += gl620a.o
obj-$(CONFIG_USB_NET_NET1080) += net1080.o obj-$(CONFIG_USB_NET_NET1080) += net1080.o
obj-$(CONFIG_USB_NET_RNDIS_HOST) += rndis_host.o
obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o
obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o
obj-$(CONFIG_USB_USBNET) += usbnet.o obj-$(CONFIG_USB_USBNET) += usbnet.o
......
This diff is collapsed.
...@@ -103,6 +103,7 @@ ...@@ -103,6 +103,7 @@
* disconnect; other cleanups. (db) Flush net1080 fifos * disconnect; other cleanups. (db) Flush net1080 fifos
* after several sequential framing errors. (Johannes Erdfelt) * after several sequential framing errors. (Johannes Erdfelt)
* 22-aug-2003 AX8817X support (Dave Hollis). * 22-aug-2003 AX8817X support (Dave Hollis).
*
* 14-jun-2004 Trivial patch for AX8817X based Buffalo LUA-U2-KTX in Japan * 14-jun-2004 Trivial patch for AX8817X based Buffalo LUA-U2-KTX in Japan
* (Neil Bortnak) * (Neil Bortnak)
* 03-nov-2004 Trivial patch for KC2190 (KC-190) chip. (Jonathan McDowell) * 03-nov-2004 Trivial patch for KC2190 (KC-190) chip. (Jonathan McDowell)
...@@ -1374,14 +1375,6 @@ static const struct usb_device_id products [] = { ...@@ -1374,14 +1375,6 @@ static const struct usb_device_id products [] = {
USB_DEVICE (0x067b, 0x0001), // PL-2302 USB_DEVICE (0x067b, 0x0001), // PL-2302
.driver_info = (unsigned long) &prolific_info, .driver_info = (unsigned long) &prolific_info,
}, },
#endif
#ifdef CONFIG_USB_RNDIS
{
/* RNDIS is MSFT's un-official variant of CDC ACM */
USB_INTERFACE_INFO (USB_CLASS_COMM, 2 /* ACM */, 0x0ff),
.driver_info = (unsigned long) &rndis_info,
},
#endif #endif
{ }, // END { }, // END
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment