linux/drivers/net/usb/Kconfig
<<
>>
Prefs
   1#
   2# USB Network devices configuration
   3#
   4comment "Host-side USB support is needed for USB Network Adapter support"
   5        depends on !USB && NET
   6
   7menuconfig USB_NET_DRIVERS
   8        tristate "USB Network Adapters"
   9        default USB if USB
  10        depends on USB && NET
  11
  12if USB_NET_DRIVERS
  13
  14config USB_CATC
  15        tristate "USB CATC NetMate-based Ethernet device support"
  16        select CRC32
  17        ---help---
  18          Say Y if you want to use one of the following 10Mbps USB Ethernet
  19          device based on the EL1210A chip. Supported devices are:
  20          Belkin F5U011
  21          Belkin F5U111
  22          CATC NetMate
  23          CATC NetMate II
  24          smartBridges smartNIC
  25
  26          This driver makes the adapter appear as a normal Ethernet interface,
  27          typically on eth0, if it is the only ethernet device, or perhaps on
  28          eth1, if you have a PCI or ISA ethernet card installed.
  29
  30          To compile this driver as a module, choose M here: the
  31          module will be called catc.
  32
  33config USB_KAWETH
  34        tristate "USB KLSI KL5USB101-based ethernet device support"
  35        ---help---
  36          Say Y here if you want to use one of the following 10Mbps only
  37          USB Ethernet adapters based on the KLSI KL5KUSB101B chipset:
  38          3Com 3C19250
  39          ADS USB-10BT
  40          ATEN USB Ethernet
  41          ASANTE USB To Ethernet Adapter
  42          AOX Endpoints USB Ethernet
  43          Correga K.K.
  44          D-Link DSB-650C and DU-E10
  45          Entrega / Portgear E45
  46          I-O DATA USB-ET/T
  47          Jaton USB Ethernet Device Adapter
  48          Kingston Technology USB Ethernet Adapter
  49          Linksys USB10T
  50          Mobility USB-Ethernet Adapter
  51          NetGear EA-101
  52          Peracom Enet and Enet2
  53          Portsmith Express Ethernet Adapter
  54          Shark Pocket Adapter
  55          SMC 2202USB
  56          Sony Vaio port extender
  57
  58          This driver is likely to work with most 10Mbps only USB Ethernet
  59          adapters, including some "no brand" devices. It does NOT work on
  60          SmartBridges smartNIC or on Belkin F5U111 devices - you should use
  61          the CATC NetMate driver for those. If you are not sure which one
  62          you need, select both, and the correct one should be selected for
  63          you.
  64
  65          This driver makes the adapter appear as a normal Ethernet interface,
  66          typically on eth0, if it is the only ethernet device, or perhaps on
  67          eth1, if you have a PCI or ISA ethernet card installed.
  68
  69          To compile this driver as a module, choose M here: the
  70          module will be called kaweth.
  71
  72config USB_PEGASUS
  73        tristate "USB Pegasus/Pegasus-II based ethernet device support"
  74        select MII
  75        ---help---
  76          Say Y here if you know you have Pegasus or Pegasus-II based adapter.
  77          If in doubt then look at <file:drivers/net/usb/pegasus.h> for the
  78          complete list of supported devices.
  79
  80          If your particular adapter is not in the list and you are _sure_ it
  81          is Pegasus or Pegasus II based then send me
  82          <petkan@users.sourceforge.net> vendor and device IDs.
  83
  84          To compile this driver as a module, choose M here: the
  85          module will be called pegasus.
  86
  87config USB_RTL8150
  88        tristate "USB RTL8150 based ethernet device support"
  89        select MII
  90        help
  91          Say Y here if you have RTL8150 based usb-ethernet adapter.
  92          Send me <petkan@users.sourceforge.net> any comments you may have.
  93          You can also check for updates at <http://pegasus2.sourceforge.net/>.
  94
  95          To compile this driver as a module, choose M here: the
  96          module will be called rtl8150.
  97
  98config USB_RTL8152
  99        tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
 100        select MII
 101        help
 102          This option adds support for Realtek RTL8152 based USB 2.0
 103          10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000
 104          Ethernet adapters.
 105
 106          To compile this driver as a module, choose M here: the
 107          module will be called r8152.
 108
 109config USB_LAN78XX
 110        tristate "Microchip LAN78XX Based USB Ethernet Adapters"
 111        select MII
 112        select PHYLIB
 113        select MICROCHIP_PHY
 114        help
 115          This option adds support for Microchip LAN78XX based USB 2
 116          & USB 3 10/100/1000 Ethernet adapters.
 117          LAN7800 : USB 3 to 10/100/1000 Ethernet adapter
 118          LAN7850 : USB 2 to 10/100/1000 Ethernet adapter
 119          LAN7801 : USB 3 to 10/100/1000 Ethernet adapter (MAC only)
 120
 121          Proper PHY driver is required for LAN7801.
 122
 123          To compile this driver as a module, choose M here: the
 124          module will be called lan78xx.
 125
 126config USB_USBNET
 127        tristate "Multi-purpose USB Networking Framework"
 128        select MII
 129        ---help---
 130          This driver supports several kinds of network links over USB,
 131          with "minidrivers" built around a common network driver core
 132          that supports deep queues for efficient transfers.  (This gives
 133          better performance with small packets and at high speeds).
 134
 135          The USB host runs "usbnet", and the other end of the link might be:
 136
 137          - Another USB host, when using USB "network" or "data transfer"
 138            cables.  These are often used to network laptops to PCs, like
 139            "Laplink" parallel cables or some motherboards.  These rely
 140            on specialized chips from many suppliers.
 141
 142          - An intelligent USB gadget, perhaps embedding a Linux system.
 143            These include PDAs running Linux (iPaq, Yopy, Zaurus, and
 144            others), and devices that interoperate using the standard
 145            CDC-Ethernet specification (including many cable modems).
 146
 147          - Network adapter hardware (like those for 10/100 Ethernet) which
 148            uses this driver framework.
 149
 150          The link will appear with a name like "usb0", when the link is
 151          a two-node link, or "eth0" for most CDC-Ethernet devices.  Those
 152          two-node links are most easily managed with Ethernet Bridging
 153          (CONFIG_BRIDGE) instead of routing.
 154
 155          For more information see <http://www.linux-usb.org/usbnet/>.
 156
 157          To compile this driver as a module, choose M here: the
 158          module will be called usbnet.
 159
 160config USB_NET_AX8817X
 161        tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
 162        depends on USB_USBNET
 163        select CRC32
 164        select PHYLIB
 165        default y
 166        help
 167          This option adds support for ASIX AX88xxx based USB 2.0
 168          10/100 Ethernet adapters.
 169
 170          This driver should work with at least the following devices:
 171            * Aten UC210T
 172            * ASIX AX88172
 173            * Billionton Systems, USB2AR
 174            * Billionton Systems, GUSB2AM-1G-B
 175            * Buffalo LUA-U2-KTX
 176            * Corega FEther USB2-TX
 177            * D-Link DUB-E100
 178            * Hawking UF200
 179            * Linksys USB200M
 180            * Netgear FA120
 181            * Sitecom LN-029
 182            * Sitecom LN-028
 183            * Intellinet USB 2.0 Ethernet
 184            * ST Lab USB 2.0 Ethernet
 185            * TrendNet TU2-ET100
 186
 187          This driver creates an interface named "ethX", where X depends on
 188          what other networking devices you have in use.
 189
 190config USB_NET_AX88179_178A
 191        tristate "ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet"
 192        depends on USB_USBNET
 193        select CRC32
 194        select PHYLIB
 195        default y
 196        help
 197          This option adds support for ASIX AX88179 based USB 3.0/2.0
 198          to Gigabit Ethernet adapters.
 199
 200          This driver should work with at least the following devices:
 201            * ASIX AX88179
 202            * ASIX AX88178A
 203            * Sitcomm LN-032
 204
 205          This driver creates an interface named "ethX", where X depends on
 206          what other networking devices you have in use.
 207
 208config USB_NET_CDCETHER
 209        tristate "CDC Ethernet support (smart devices such as cable modems)"
 210        depends on USB_USBNET
 211        default y
 212        help
 213          This option supports devices conforming to the Communication Device
 214          Class (CDC) Ethernet Control Model, a specification that's easy to
 215          implement in device firmware.  The CDC specifications are available
 216          from <http://www.usb.org/>.
 217
 218          CDC Ethernet is an implementation option for DOCSIS cable modems
 219          that support USB connectivity, used for non-Microsoft USB hosts.
 220          The Linux-USB CDC Ethernet Gadget driver is an open implementation.
 221          This driver should work with at least the following devices:
 222
 223            * Dell Wireless 5530 HSPA
 224            * Ericsson PipeRider (all variants)
 225            * Ericsson Mobile Broadband Module (all variants)
 226            * Motorola (DM100 and SB4100)
 227            * Broadcom Cable Modem (reference design)
 228            * Toshiba (PCX1100U and F3507g/F3607gw)
 229            * ...
 230
 231          This driver creates an interface named "ethX", where X depends on
 232          what other networking devices you have in use.  However, if the
 233          IEEE 802 "local assignment" bit is set in the address, a "usbX"
 234          name is used instead.
 235
 236config USB_NET_CDC_EEM
 237        tristate "CDC EEM support"
 238        depends on USB_USBNET
 239        help
 240          This option supports devices conforming to the Communication Device
 241          Class (CDC) Ethernet Emulation Model, a specification that's easy to
 242          implement in device firmware.  The CDC EEM specifications are available
 243          from <http://www.usb.org/>.
 244
 245          This driver creates an interface named "ethX", where X depends on
 246          what other networking devices you have in use.  However, if the
 247          IEEE 802 "local assignment" bit is set in the address, a "usbX"
 248          name is used instead.
 249
 250config USB_NET_CDC_NCM
 251        tristate "CDC NCM support"
 252        depends on USB_USBNET
 253        default y
 254        help
 255          This driver provides support for CDC NCM (Network Control Model
 256          Device USB Class Specification). The CDC NCM specification is
 257          available from <http://www.usb.org/>.
 258
 259          Say "y" to link the driver statically, or "m" to build a
 260          dynamically linked module.
 261
 262          This driver should work with at least the following devices:
 263            * ST-Ericsson M700 LTE FDD/TDD Mobile Broadband Modem (ref. design)
 264            * ST-Ericsson M5730 HSPA+ Mobile Broadband Modem (reference design)
 265            * ST-Ericsson M570 HSPA+ Mobile Broadband Modem (reference design)
 266            * ST-Ericsson M343 HSPA Mobile Broadband Modem (reference design)
 267            * Ericsson F5521gw Mobile Broadband Module
 268
 269config USB_NET_HUAWEI_CDC_NCM
 270        tristate "Huawei NCM embedded AT channel support"
 271        depends on USB_USBNET
 272        select USB_WDM
 273        select USB_NET_CDC_NCM
 274        help
 275                This driver supports huawei-style NCM devices, that use NCM as a
 276                transport for other protocols, usually an embedded AT channel.
 277                Good examples are:
 278                * Huawei E3131
 279                * Huawei E3251
 280
 281                To compile this driver as a module, choose M here: the module will be
 282                called huawei_cdc_ncm.ko.
 283
 284config USB_NET_CDC_MBIM
 285        tristate "CDC MBIM support"
 286        depends on USB_USBNET
 287        select USB_WDM
 288        select USB_NET_CDC_NCM
 289        help
 290          This driver provides support for CDC MBIM (Mobile Broadband
 291          Interface Model) devices. The CDC MBIM specification is
 292          available from <http://www.usb.org/>.
 293
 294          MBIM devices require configuration using the management
 295          protocol defined by the MBIM specification.  This driver
 296          provides unfiltered access to the MBIM control channel
 297          through the associated /dev/cdc-wdmx character device.
 298
 299          To compile this driver as a module, choose M here: the
 300          module will be called cdc_mbim.
 301
 302config USB_NET_DM9601
 303        tristate "Davicom DM96xx based USB 10/100 ethernet devices"
 304        depends on USB_USBNET
 305        select CRC32
 306        help
 307          This option adds support for Davicom DM9601/DM9620/DM9621A
 308          based USB 10/100 Ethernet adapters.
 309
 310config USB_NET_SR9700
 311        tristate "CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices"
 312        depends on USB_USBNET
 313        select CRC32
 314        help
 315          This option adds support for CoreChip-sz SR9700 based USB 1.1
 316          10/100 Ethernet adapters.
 317
 318config USB_NET_SR9800
 319        tristate "CoreChip-sz SR9800 based USB 2.0 10/100 ethernet devices"
 320        depends on USB_USBNET
 321        select CRC32
 322        ---help---
 323          Say Y if you want to use one of the following 100Mbps USB Ethernet
 324          device based on the CoreChip-sz SR9800 chip.
 325
 326          This driver makes the adapter appear as a normal Ethernet interface,
 327          typically on eth0, if it is the only ethernet device, or perhaps on
 328          eth1, if you have a PCI or ISA ethernet card installed.
 329
 330          To compile this driver as a module, choose M here: the
 331          module will be called sr9800.
 332
 333config USB_NET_SMSC75XX
 334        tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices"
 335        depends on USB_USBNET
 336        select BITREVERSE
 337        select CRC16
 338        select CRC32
 339        help
 340          This option adds support for SMSC LAN75XX based USB 2.0
 341          Gigabit Ethernet adapters.
 342
 343config USB_NET_SMSC95XX
 344        tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices"
 345        depends on USB_USBNET
 346        select BITREVERSE
 347        select CRC16
 348        select CRC32
 349        help
 350          This option adds support for SMSC LAN95XX based USB 2.0
 351          10/100 Ethernet adapters.
 352
 353config USB_NET_GL620A
 354        tristate "GeneSys GL620USB-A based cables"
 355        depends on USB_USBNET
 356        help
 357          Choose this option if you're using a host-to-host cable,
 358          or PC2PC motherboard, with this chip.
 359
 360          Note that the half-duplex "GL620USB" is not supported.
 361
 362config USB_NET_NET1080
 363        tristate "NetChip 1080 based cables (Laplink, ...)"
 364        default y
 365        depends on USB_USBNET
 366        help
 367          Choose this option if you're using a host-to-host cable based
 368          on this design:  one NetChip 1080 chip and supporting logic,
 369          optionally with LEDs that indicate traffic
 370
 371config USB_NET_PLUSB
 372        tristate "Prolific PL-2301/2302/25A1/27A1 based cables"
 373        # if the handshake/init/reset problems, from original 'plusb',
 374        # are ever resolved ... then remove "experimental"
 375        depends on USB_USBNET
 376        help
 377          Choose this option if you're using a host-to-host cable
 378          with one of these chips.
 379
 380config USB_NET_MCS7830
 381        tristate "MosChip MCS7830 based Ethernet adapters"
 382        depends on USB_USBNET
 383        help
 384          Choose this option if you're using a 10/100 Ethernet USB2
 385          adapter based on the MosChip 7830 controller. This includes
 386          adapters marketed under the DeLOCK brand.
 387
 388config USB_NET_RNDIS_HOST
 389        tristate "Host for RNDIS and ActiveSync devices"
 390        depends on USB_USBNET
 391        select USB_NET_CDCETHER
 392        help
 393          This option enables hosting "Remote NDIS" USB networking links,
 394          as encouraged by Microsoft (instead of CDC Ethernet!) for use in
 395          various devices that may only support this protocol.  A variant
 396          of this protocol (with even less public documentation) seems to
 397          be at the root of Microsoft's "ActiveSync" too.
 398
 399          Avoid using this protocol unless you have no better options.
 400          The protocol specification is incomplete, and is controlled by
 401          (and for) Microsoft; it isn't an "Open" ecosystem or market.
 402
 403config USB_NET_CDC_SUBSET_ENABLE
 404        tristate
 405        depends on USB_NET_CDC_SUBSET
 406
 407config USB_NET_CDC_SUBSET
 408        tristate "Simple USB Network Links (CDC Ethernet subset)"
 409        depends on USB_USBNET
 410        default y
 411        help
 412          This driver module supports USB network devices that can work
 413          without any device-specific information.  Select it if you have
 414          one of these drivers.
 415
 416          Note that while many USB host-to-host cables can work in this mode,
 417          that may mean not being able to talk to Win32 systems or more
 418          commonly not being able to handle certain events (like replugging
 419          the host on the other end) very well.  Also, these devices will
 420          not generally have permanently assigned Ethernet addresses.
 421
 422config USB_ALI_M5632
 423        bool "ALi M5632 based 'USB 2.0 Data Link' cables"
 424        depends on USB_NET_CDC_SUBSET
 425        select USB_NET_CDC_SUBSET_ENABLE
 426        help
 427          Choose this option if you're using a host-to-host cable
 428          based on this design, which supports USB 2.0 high speed.
 429
 430config USB_AN2720
 431        bool "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
 432        depends on USB_NET_CDC_SUBSET
 433        select USB_NET_CDC_SUBSET_ENABLE
 434        help
 435          Choose this option if you're using a host-to-host cable
 436          based on this design.  Note that AnchorChips is now a
 437          Cypress brand.
 438
 439config USB_BELKIN
 440        bool "eTEK based host-to-host cables (Advance, Belkin, ...)"
 441        depends on USB_NET_CDC_SUBSET
 442        select USB_NET_CDC_SUBSET_ENABLE
 443        default y
 444        help
 445          Choose this option if you're using a host-to-host cable
 446          based on this design:  two NetChip 2890 chips and an Atmel
 447          microcontroller, with LEDs that indicate traffic.
 448
 449config USB_ARMLINUX
 450        bool "Embedded ARM Linux links (iPaq, ...)"
 451        depends on USB_NET_CDC_SUBSET
 452        select USB_NET_CDC_SUBSET_ENABLE
 453        default y
 454        help
 455          Choose this option to support the "usb-eth" networking driver
 456          used by most of the ARM Linux community with device controllers
 457          such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
 458          in some PXA versions of the "blob" boot loader.
 459
 460          Linux-based "Gumstix" PXA-25x based systems use this protocol
 461          to talk with other Linux systems.
 462
 463          Although the ROMs shipped with Sharp Zaurus products use a
 464          different link level framing protocol, you can have them use
 465          this simpler protocol by installing a different kernel.
 466
 467config USB_EPSON2888
 468        bool "Epson 2888 based firmware (DEVELOPMENT)"
 469        depends on USB_NET_CDC_SUBSET
 470        select USB_NET_CDC_SUBSET_ENABLE
 471        help
 472          Choose this option to support the usb networking links used
 473          by some sample firmware from Epson.
 474
 475config USB_KC2190
 476        bool "KT Technology KC2190 based cables (InstaNet)"
 477        depends on USB_NET_CDC_SUBSET
 478        select USB_NET_CDC_SUBSET_ENABLE
 479        help
 480          Choose this option if you're using a host-to-host cable
 481          with one of these chips.
 482
 483config USB_NET_ZAURUS
 484        tristate "Sharp Zaurus (stock ROMs) and compatible"
 485        depends on USB_USBNET
 486        select USB_NET_CDCETHER
 487        select CRC32
 488        default y
 489        help
 490          Choose this option to support the usb networking links used by
 491          Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
 492          This also supports some related device firmware, as used in some
 493          PDAs from Olympus and some cell phones from Motorola.
 494
 495          If you install an alternate image, such as the Linux 2.6 based
 496          versions of OpenZaurus, you should no longer need to support this
 497          protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
 498          really need this non-conformant variant of CDC Ethernet (or in
 499          some cases CDC MDLM) protocol, not "g_ether".
 500
 501config USB_NET_CX82310_ETH
 502        tristate "Conexant CX82310 USB ethernet port"
 503        depends on USB_USBNET
 504        help
 505          Choose this option if you're using a Conexant CX82310-based ADSL
 506          router with USB ethernet port. This driver is for routers only,
 507          it will not work with ADSL modems (use cxacru driver instead).
 508
 509config USB_NET_KALMIA
 510        tristate "Samsung Kalmia based LTE USB modem"
 511        depends on USB_USBNET
 512        help
 513          Choose this option if you have a Samsung Kalmia based USB modem
 514          as Samsung GT-B3730.
 515
 516          To compile this driver as a module, choose M here: the
 517          module will be called kalmia.
 518
 519config USB_NET_QMI_WWAN
 520        tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems"
 521        depends on USB_USBNET
 522        select USB_WDM
 523        help
 524          Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem
 525          (MDM) chipsets.  Examples of such devices are
 526            * Huawei E392/E398
 527
 528          This driver will only drive the ethernet part of the chips.
 529          The devices require additional configuration to be usable.
 530          Multiple management interfaces with linux drivers are
 531          available:
 532
 533            * option: AT commands on /dev/ttyUSBx
 534            * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx
 535
 536          A modem manager with support for QMI is recommended.
 537
 538          To compile this driver as a module, choose M here: the
 539          module will be called qmi_wwan.
 540
 541config USB_HSO
 542        tristate "Option USB High Speed Mobile Devices"
 543        depends on USB && RFKILL && TTY
 544        default n
 545        help
 546          Choose this option if you have an Option HSDPA/HSUPA card.
 547          These cards support downlink speeds of 7.2Mbps or greater.
 548
 549          To compile this driver as a module, choose M here: the
 550          module will be called hso.
 551
 552config USB_NET_INT51X1
 553        tristate "Intellon PLC based usb adapter"
 554        depends on USB_USBNET
 555        help
 556          Choose this option if you're using a 14Mb USB-based PLC
 557          (Powerline Communications) solution with an Intellon
 558          INT51x1/INT5200 chip, like the "devolo dLan duo".
 559
 560config USB_CDC_PHONET
 561        tristate "CDC Phonet support"
 562        depends on PHONET && USB_USBNET
 563        help
 564          Choose this option to support the Phonet interface to a Nokia
 565          cellular modem, as found on most Nokia handsets with the
 566          "PC suite" USB profile.
 567
 568config USB_IPHETH
 569        tristate "Apple iPhone USB Ethernet driver"
 570        default n
 571        ---help---
 572          Module used to share Internet connection (tethering) from your
 573          iPhone (Original, 3G and 3GS) to your system.
 574          Note that you need userspace libraries and programs that are needed
 575          to pair your device with your system and that understand the iPhone
 576          protocol.
 577
 578          For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
 579
 580config USB_SIERRA_NET
 581        tristate "USB-to-WWAN Driver for Sierra Wireless modems"
 582        depends on USB_USBNET
 583        help
 584          Choose this option if you have a Sierra Wireless USB-to-WWAN device.
 585
 586          To compile this driver as a module, choose M here: the
 587          module will be called sierra_net.
 588
 589config USB_VL600
 590        tristate "LG VL600 modem dongle"
 591        depends on USB_NET_CDCETHER && TTY
 592        select USB_ACM
 593        help
 594          Select this if you want to use an LG Electronics 4G/LTE usb modem
 595          called VL600.  This driver only handles the ethernet
 596          interface exposed by the modem firmware.  To establish a connection
 597          you will first need a userspace program that sends the right
 598          command to the modem through its CDC ACM port, and most
 599          likely also a DHCP client.  See this thread about using the
 600          4G modem from Verizon:
 601
 602          http://ubuntuforums.org/showpost.php?p=10589647&postcount=17
 603
 604config USB_NET_CH9200
 605        tristate "QingHeng CH9200 USB ethernet support"
 606        depends on USB_USBNET
 607        select MII
 608        help
 609          Choose this option if you have a USB ethernet adapter with a QinHeng
 610          CH9200 chipset.
 611
 612          To compile this driver as a module, choose M here: the
 613          module will be called ch9200.
 614
 615endif # USB_NET_DRIVERS
 616