summaryrefslogtreecommitdiffstats
path: root/drivers/net/usb/Kconfig
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2010-09-04 02:39:34 +0000
committerDavid S. Miller <davem@davemloft.net>2010-09-08 13:10:53 -0700
commitcc28a20e77b261eb4e80c84abd621e810302f435 (patch)
tree184deb1e0ebbc63a0e04c3b57c38ee564ab9670d /drivers/net/usb/Kconfig
parent6febfca98f25c7ee5c3ff7fc85e048bf82230ad5 (diff)
downloadop-kernel-dev-cc28a20e77b261eb4e80c84abd621e810302f435.zip
op-kernel-dev-cc28a20e77b261eb4e80c84abd621e810302f435.tar.gz
introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver
This patch introduces cx82310_eth driver - driver for USB ethernet port of ADSL routers based on Conexant CX82310 chips. Such routers usually have ethernet port(s) too which are bridged together with the USB ethernet port, allowing the USB-connected machine to communicate to the network (and also internet through the ADSL, of course). This is my first driver, so please check thoroughly. As there's no protocol documentation, it was done with usbsnoop dumps from Windows driver, some parts (the commands) inspired by cxacru driver and also other usbnet drivers. The driver passed my testing - some real work and also pings sized from 0 to 65507 B. The only problem I found is the ifconfig error counter. When I return 0 (or 1 but empty skb) from rx_fixup(), usbnet increases the error counter although it's not an error condition (because packets can cross URB boundaries). Maybe the usbnet should be fixed to allow rx_fixup() to return empty skbs (or some other value, e.g. 2)? The USB ID of my device is 0x0572:0xcb01 which conflicts with some ADSL modems using cxacru driver (they probably use the same chipset but simpler firmware). The modems seem to use bDeviceClass 0 and iProduct "ADSL USB MODEM", my router uses bDeviceClass 255 and iProduct "USB NET CARD". The driver matches only devices with class 255 and checks for the iProduct string during init. I already posted a patch for the cxacru driver to ignore these devices. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/Kconfig')
-rw-r--r--drivers/net/usb/Kconfig8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index d7b7018..52ffabe6 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -358,6 +358,14 @@ config USB_NET_ZAURUS
really need this non-conformant variant of CDC Ethernet (or in
some cases CDC MDLM) protocol, not "g_ether".
+config USB_NET_CX82310_ETH
+ tristate "Conexant CX82310 USB ethernet port"
+ depends on USB_USBNET
+ help
+ Choose this option if you're using a Conexant CX82310-based ADSL
+ router with USB ethernet port. This driver is for routers only,
+ it will not work with ADSL modems (use cxacru driver instead).
+
config USB_HSO
tristate "Option USB High Speed Mobile Devices"
depends on USB && RFKILL
OpenPOWER on IntegriCloud