07 Aug, 2014

1 commit

  • It must be tristate to avoid broken dependencies with kernel built-in
    usb network drivers when usb support is module only.

    When net config option is set, least surprize default should match usb.

    Wireless RNDIS USB driver used to select USB_USBNET. USB_USBNET now
    depends on USB_NET_DRIVERS so the latter should be selected as well.

    Signed-off-by: Francois Romieu
    Signed-off-by: David S. Miller

    Francois Romieu
     

06 Aug, 2014

1 commit

  • USB network drivers are already handled in drivers/net/usb/Kconfig.
    Let's save the maintenance burden of dependencies in drivers/net/Makefile.

    The newly introduced USB_NET_DRIVERS umbrella config option defaults
    to 'y' so as to minimize the changes of behavior.

    Signed-off-by: Francois Romieu
    Signed-off-by: David S. Miller

    Francois Romieu
     

14 Feb, 2014

1 commit


11 Feb, 2014

1 commit


15 Jan, 2014

1 commit


19 Dec, 2013

1 commit


06 Nov, 2013

1 commit

  • This driver supports devices using the NCM protocol as an encapsulation layer
    for other protocols, like the E3131 Huawei 3G modem. This drivers approach was
    heavily inspired by the qmi_wwan/cdc_mbim approach & code model.

    Signed-off-by: Enrico Mioso
    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Enrico Mioso
     

04 Sep, 2013

1 commit


20 Jun, 2013

1 commit

  • All drivers that select MII also need to select NET_CORE because MII
    depends on it. This is a bit ridiculous because NET_CORE is just a
    menu option that doesn't enable any code by itself.

    There is also no need for it to be a visible option, since its users
    all select it.

    Signed-off-by: Ben Hutchings
    Acked-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Ben Hutchings
     

07 May, 2013

1 commit


15 Mar, 2013

1 commit


03 Mar, 2013

1 commit

  • This is a resubmission.
    Added kfree() in ax88179_get_eeprom to prevent memory leakage.
    Modified "__le16 rxctl" to "u16 rxctl" in "struct ax88179_data" and removed pointless casts.
    Removed asix_init and asix_exit functions and added "module_usb_driver(ax88179_178a_driver)".
    Fixed endianness issue on big endian systems and verified this driver on iBook G4.
    Removed steps that change net->features in ax88179_set_features function.
    Added "const" to ethtool_ops structure and fixed the coding style of AX88179_BULKIN_SIZE array.
    Fixed the issue that the default MTU is not 1500.
    Added ax88179_change_mtu function and enabled the hardware jumbo frame function to support an
    MTU higher than 1500.
    Fixed indentation and empty line coding style errors.
    The _nopm version usb functions were added to access register in suspend and resume functions.
    Serveral variables allocted dynamically were removed and replaced by stack variables.
    ax88179_get_eeprom were modified from asix_get_eeprom in asix_common.

    This patch adds a driver for ASIX's AX88179 family of USB 3.0/2.0
    to gigabit ethernet adapters. It's based on the AX88xxx driver but
    the usb commands used to access registers for AX88179 are completely different.
    This driver had been verified on x86 system with AX88179/AX88178A and
    Sitcomm LN-032 USB dongles.

    Signed-off-by: Freddy Xin
    Signed-off-by: David S. Miller

    Freddy Xin
     

22 Feb, 2013

1 commit

  • Pull tty/serial patches from Greg Kroah-Hartman:
    "Here's the big tty/serial driver patches for 3.9-rc1.

    More tty port rework and fixes from Jiri here, as well as lots of
    individual serial driver updates and fixes.

    All of these have been in the linux-next tree for a while."

    * tag 'tty-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (140 commits)
    tty: mxser: improve error handling in mxser_probe() and mxser_module_init()
    serial: imx: fix uninitialized variable warning
    serial: tegra: assume CONFIG_OF
    TTY: do not update atime/mtime on read/write
    lguest: select CONFIG_TTY to build properly.
    ARM defconfigs: add missing inclusions of linux/platform_device.h
    fb/exynos: include platform_device.h
    ARM: sa1100/assabet: include platform_device.h directly
    serial: imx: Fix recursive locking bug
    pps: Fix build breakage from decoupling pps from tty
    tty: Remove ancient hardpps()
    pps: Additional cleanups in uart_handle_dcd_change
    pps: Move timestamp read into PPS code proper
    pps: Don't crash the machine when exiting will do
    pps: Fix a use-after free bug when unregistering a source.
    pps: Use pps_lookup_dev to reduce ldisc coupling
    pps: Add pps_lookup_dev() function
    tty: serial: uartlite: Support uartlite on big and little endian systems
    tty: serial: uartlite: Fix sparse and checkpatch warnings
    serial/arc-uart: Miscll DT related updates (Grant's review comments)
    ...

    Fix up trivial conflicts, mostly just due to the TTY config option
    clashing with the EXPERIMENTAL removal.

    Linus Torvalds
     

19 Jan, 2013

1 commit

  • The option allows you to remove TTY and compile without errors. This
    saves space on systems that won't support TTY interfaces anyway.
    bloat-o-meter output is below.

    The bulk of this patch consists of Kconfig changes adding "depends on
    TTY" to various serial devices and similar drivers that require the TTY
    layer. Ideally, these dependencies would occur on a common intermediate
    symbol such as SERIO, but most drivers "select SERIO" rather than
    "depends on SERIO", and "select" does not respect dependencies.

    bloat-o-meter output comparing our previous minimal to new minimal by
    removing TTY. The list is filtered to not show removed entries with awk
    '$3 != "-"' as the list was very long.

    add/remove: 0/226 grow/shrink: 2/14 up/down: 6/-35356 (-35350)
    function old new delta
    chr_dev_init 166 170 +4
    allow_signal 80 82 +2
    static.__warned 143 142 -1
    disallow_signal 63 62 -1
    __set_special_pids 95 94 -1
    unregister_console 126 121 -5
    start_kernel 546 541 -5
    register_console 593 588 -5
    copy_from_user 45 40 -5
    sys_setsid 128 120 -8
    sys_vhangup 32 19 -13
    do_exit 1543 1526 -17
    bitmap_zero 60 40 -20
    arch_local_irq_save 137 117 -20
    release_task 674 652 -22
    static.spin_unlock_irqrestore 308 260 -48

    Signed-off-by: Joe Millenbach
    Reviewed-by: Jamey Sharp
    Reviewed-by: Josh Triplett
    Signed-off-by: Greg Kroah-Hartman

    Joe Millenbach
     

12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Greg Kroah-Hartman
    Signed-off-by: Kees Cook
    Acked-by: Greg Kroah-Hartman

    Kees Cook
     

04 Nov, 2012

1 commit


01 Nov, 2012

1 commit


23 Oct, 2012

1 commit


20 Jul, 2012

1 commit

  • Since commit 16626b0cc3d5afe250850f96759b241f8a403b52 the asix
    driver depends on the phylib. Select phylib when the asix driver is
    selected.

    Reported-by: Fengguang Wu
    Cc: kernel-janitors@vger.kernel.org
    Signed-off-by: Christian Riesch
    Tested-by: Fengguang Wu
    Signed-off-by: David S. Miller

    Christian Riesch
     

20 Mar, 2012

1 commit


26 Jan, 2012

1 commit

  • Some WWAN LTE/3G devices based on chipsets from Qualcomm provide
    near standard CDC ECM interfaces in addition to the usual serial
    interfaces. The Huawei E392/E398 are examples of such devices.

    These typically cannot be fully configured using AT commands
    over a serial interface. It is necessary to speak the proprietary
    Qualcomm MSM Interface (QMI) protocol to the device to enable the
    ethernet proxy functionality.

    The devices embed the QMI protocol in CDC on the control interface,
    using standard CDC commands and notifications. The do not otherwise
    use CDC commands for the ethernet function. This driver does
    therefore not need access to any other aspects of the control
    interface than the descriptors attached to it.

    Another driver, cdc-wdm, will provide userspace access to the
    QMI protocol independently of this driver. To facilitate this,
    this driver avoids binding to the control interface, and uses
    only the associated data interface after parsing the common CDC
    functional descriptors on the control interface.

    You will want both the cdc-wdm and option drivers as companions to
    this driver, to have full access to all interfaces and protocols
    exported by the device.

    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     

16 Sep, 2011

1 commit

  • MII Kconfig option is apart of the core networking drivers and
    by default NET_CORE is enabled so drivers selecting MII will
    have MII enabled as well. It was found using the randconfig
    option during testing, MII would be selected but NET_CORE
    could be disabled. This caused a dependency error.

    Resolved the dependency by selecting NET_CORE when MII is
    selected.

    Reported-by: Emil Tantilov
    Signed-off-by: Jeff Kirsher
    Tested-by: Aaron Brown
    Signed-off-by: David S. Miller

    Jeff Kirsher
     

17 Jun, 2011

1 commit

  • Introducing driver for the network port of Samsung Kalmia based USB LTE modems.
    It has also an ACM interface that previous patches associates with the "option"
    module. To access those interfaces, the modem must first be switched from modem
    mode using a tool like usb_modeswitch.

    As the proprietary protocol has been discovered by watching the MS Windows driver
    behavior, there might be errors in the protocol handling, but stable and fast
    connection has been established for hours with Norwegian operator NetCom that
    distributes this modem with their LTE/4G subscription.

    More and updated information about how to use this driver is available here:

    http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=465
    https://github.com/mkotsbak/Samsung-GT-B3730-linux-driver

    Signed-off-by: Marius B. Kotsbak
    Signed-off-by: David S. Miller

    Marius B. Kotsbak
     

11 Apr, 2011

1 commit

  • This patch adds support for the PL-25A1 by adding the appropriate
    USB ID's. This chip is used in the Belkin 'Windows Easy Transfer'
    Cables.

    Signed-off-by: Simon Wood
    Signed-off-by: David S. Miller

    simon
     

30 Mar, 2011

1 commit

  • This adds a driver for the CDC Ethernet part of this modem. The
    device's ID is blacklisted in cdc_ether.c and is white-listed in
    this new driver because of the quirks needed to make it useful.
    The modem's firmware exposes a CDC ACM port for modem control and a
    CDC Ethernet port for network data. The descriptors look fine but
    both ports actually are some sort of multiplexers requiring non-
    standard headers added/removed from every packet or they get
    ignored. All information is based on a usb traffic log from a
    Windows machine.

    On the Verizon 4G network I've seen speeds up to 1.1MB/s so far with
    this driver, a speed-o-meter site reports 16.2Mbps/10.5Mbps.
    Userspace scripts are required to talk to the CDC ACM port.

    Signed-off-by: Andrzej Zaborowski
    Signed-off-by: David S. Miller

    Andrzej Zaborowski
     

07 Dec, 2010

1 commit

  • The patch provides USB CDC NCM host driver support in the Linux Kernel.

    Changes:
    drivers/net/usb/cdc_ncm.c:
    - initial submission of the CDC NCM host driver;
    - verified on Intel 32/64 bit, Intel Atom, ST-Ericsson U8500 (ARM)
    - throughput measured over 100 Mbits duplex;
    - driver supports 16-bit NTB format only, but it is more than enough for
    transfers up to 64K;
    - driver can handle up to 32 datagrams in received NTB;
    - timer is used to collect several packets in Tx direction

    drivers/net/usb/Kconfig:
    - a new entry to compile CDC NCM host driver
    drivers/net/usb/Makefile:
    - a new entry to compile CDC NCM host driver

    Signed-off-by: Alexey Orishko
    Signed-off-by: David S. Miller

    Alexey Orishko
     

09 Sep, 2010

1 commit

  • 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
    Signed-off-by: David S. Miller

    Ondrej Zary
     

01 May, 2010

1 commit


28 Apr, 2010

1 commit

  • Re-submitted based on comments from netdev community.
    Summary of the changes:
    1. Improved error handling.
    2. Added the missing timeout arguments to usb_control_msg().

    The following is a new Linux driver which exposes certain models of Sierra
    Wireless modems to the operating system as Network Interface Cards (NICs).

    This driver requires a version of the sierra.c driver which supports
    blacklisting to work properly. The blacklist in sierra.c rejects the interfaces
    claimed by sierra_net.c. Likewise, the sierra_net.c driver only accepts
    (i.e. whitelists) the interface(s) used for USB-to-WWAN traffic.
    The version of sierra.c which supports blacklisting is
    available from the sierra wireless knowledge base page for older kernels. It is
    also available in Linux kernel starting from version 2.6.31.

    This driver works with all Sierra Wireless devices configured with PID=68A3
    like USB305, USB306 provided the corresponding firmware version is I2.0
    (for USB305) or M3.0 (for USB306) and later.
    This driver will not work with earlier firmware versions than the ones shown
    above. In this case the driver will issue an error message indicating
    incompatibility and will not serve the device's USB-to-WWAN interface.

    Sierra_net.c sits atop a pre-existing Linux driver called usbnet.c.
    A series of hook functions are provided in sierra_net.c which are called by
    usbnet.c in response to a particular condition such as receipt or transmission
    of a data packet. As such, usbnet.c does most of the work of making
    a modem appear to the system as a network device and for properly exchanging
    traffic between the USB subsystem and the Network card interface.
    Sierra_net.c is concerned with managing the data exchanged between the
    USB-to-WWAN interface and the upper layers of the operating system.

    Signed-off-by: Elina Pasheva
    Signed-off-by: Rory Filer
    Signed-off-by: David S. Miller

    Elina Pasheva
     

22 Apr, 2010

1 commit

  • Add new driver to use tethering with an iPhone device. After initial submission,
    apply fixes to fit the new driver into the kernel standards.

    There are still a couple of minor (almost cosmetic-level) issues, but the driver
    is fully functional right now.

    Signed-off-by: L. Alberto Giménez
    Signed-off-by: Diego Giagio
    Signed-off-by: David S. Miller

    Diego Giagio
     

17 Mar, 2010

1 commit


04 Nov, 2009

1 commit


22 Jul, 2009

1 commit

  • Many Nokia handsets support a Phonet interface to the cellular modem
    via a vendor-specific USB interface. CDC Phonet follows the
    Communications Device Class model, with one control interface, and
    and a pair of inactive and active data alternative interface. The later
    has two bulk endpoint, one per direction.

    This was tested against Nokia E61, Nokia N95, and the existing Phonet
    gadget function for the Linux composite USB gadget framework.

    Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     

19 Jun, 2009

1 commit


08 May, 2009

1 commit


05 May, 2009

1 commit

  • This introduces a CDC Ethernet Emulation Model (EEM) host side
    driver to support USB EEM devices.

    EEM is different from the Ethernet Control Model (ECM) currently
    supported by the "CDC Ethernet" driver. One key difference is
    that it doesn't require of USB interface alternate settings to
    manage interface state; some maldesigned hardware can't handle
    that part of USB. It also avoids a separate USB interface for
    control and status updates.

    [ dbrownell@users.sourceforge.net: fix skb leaks, add rx packet
    checks, improve fault handling, EEM conformance updates, cleanup ]

    Signed-off-by: Omar Laazimani
    Signed-off-by: David Brownell
    Signed-off-by: David S. Miller

    Omar Laazimani
     

21 Apr, 2009

1 commit

  • usb driver for intellon int51x1 based PLC like devolo dlan duo
    with improvements suggested by the guys of the mailinglist:
    - name and prefix with int51x1 (Florian Fainelli)
    - use conversion functions cpu_to_le16 / le16_to_cpu (Oliver Neukum)
    - use pskb_may_pull instead of skb->len (Ilpo Järvinen)
    - better code in tx_fixup (Ilpo Järvinen)
    - use gotos for error handling (Ilpo Järvinen)
    - better description (Jon Smirl)

    Signed-off-by: Peter Holik
    Signed-off-by: David S. Miller

    Peter Holik
     

09 Oct, 2008

1 commit


14 Aug, 2008

1 commit


12 Jun, 2008

1 commit

  • This driver is for a number of different Option devices. Originally
    written by Option and Andrew Bird, but cleaned up massivly for
    acceptance into mainline by me and others.

    Many thanks to the following for their help in cleaning up the driver by
    providing feedback and patches to it:
    - Paulius Zaleckas
    - Oliver Neukum
    - Alan Cox
    - Javier Marcet

    Cc: Andrew Bird
    Cc: Javier Marcet
    Cc: Filip Aben
    Cc: Paulius Zaleckas
    Cc: Oliver Neukum
    Acked-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jeff Garzik

    Greg Kroah-Hartman