linux/drivers/net/usb
Ondrej Zary cc28a20e77 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>
2010-09-08 13:10:53 -07:00
..
asix.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-06-11 13:32:31 -07:00
catc.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
cdc_eem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cdc_ether.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-05-02 22:02:06 -07:00
cdc_subset.c
cdc-phonet.c usbnet: remove direct access to urb->status 2010-07-05 18:50:55 -07:00
cx82310_eth.c introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver 2010-09-08 13:10:53 -07:00
dm9601.c drivers/net/usb: Use kmemdup 2010-05-17 17:44:48 -07:00
gl620a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hso.c ethtool: Provide a default implementation of ethtool_ops::get_drvinfo 2010-08-17 02:31:15 -07:00
int51x1.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ipheth.c usbnet: remove direct access to urb->status 2010-07-05 18:50:55 -07:00
kaweth.c ethtool: Provide a default implementation of ethtool_ops::get_drvinfo 2010-08-17 02:31:15 -07:00
Kconfig introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver 2010-09-08 13:10:53 -07:00
Makefile introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver 2010-09-08 13:10:53 -07:00
mcs7830.c drivers/net/usb: Use kmemdup 2010-05-17 17:44:47 -07:00
net1080.c drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
pegasus.c usb: pegasus: fixed coding style issues 2010-06-30 10:26:16 -07:00
pegasus.h usb: pegasus: fixed coding style issues 2010-06-30 10:26:16 -07:00
plusb.c
rndis_host.c net: Revert "rndis_host: Poll status channel before control channel" 2010-07-02 21:47:54 -07:00
rtl8150.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
sierra_net.c drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
smsc75xx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
smsc75xx.h smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver 2010-03-16 14:15:42 -07:00
smsc95xx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
smsc95xx.h
usbnet.c usbnet: rx_submit() should return an error code. 2010-08-10 02:50:55 -07:00
zaurus.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00