Skip to content
Snippets Groups Projects
  1. Sep 13, 2010
  2. Sep 08, 2010
    • Ondrej Zary's avatar
      introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver · cc28a20e
      Ondrej Zary authored
      
      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: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cc28a20e
Loading