xref: /kernel/linux/linux-6.6/drivers/net/usb/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# USB Network devices configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_cicomment "Host-side USB support is needed for USB Network Adapter support"
662306a36Sopenharmony_ci	depends on !USB && NET
762306a36Sopenharmony_ci
862306a36Sopenharmony_cimenuconfig USB_NET_DRIVERS
962306a36Sopenharmony_ci	tristate "USB Network Adapters"
1062306a36Sopenharmony_ci	default USB if USB
1162306a36Sopenharmony_ci	depends on USB && NET
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciif USB_NET_DRIVERS
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciconfig USB_CATC
1662306a36Sopenharmony_ci	tristate "USB CATC NetMate-based Ethernet device support"
1762306a36Sopenharmony_ci	select CRC32
1862306a36Sopenharmony_ci	help
1962306a36Sopenharmony_ci	  Say Y if you want to use one of the following 10Mbps USB Ethernet
2062306a36Sopenharmony_ci	  device based on the EL1210A chip. Supported devices are:
2162306a36Sopenharmony_ci	  Belkin F5U011
2262306a36Sopenharmony_ci	  Belkin F5U111
2362306a36Sopenharmony_ci	  CATC NetMate
2462306a36Sopenharmony_ci	  CATC NetMate II
2562306a36Sopenharmony_ci	  smartBridges smartNIC
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	  This driver makes the adapter appear as a normal Ethernet interface,
2862306a36Sopenharmony_ci	  typically on eth0, if it is the only ethernet device, or perhaps on
2962306a36Sopenharmony_ci	  eth1, if you have a PCI or ISA ethernet card installed.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3262306a36Sopenharmony_ci	  module will be called catc.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig USB_KAWETH
3562306a36Sopenharmony_ci	tristate "USB KLSI KL5USB101-based ethernet device support"
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  Say Y here if you want to use one of the following 10Mbps only
3862306a36Sopenharmony_ci	  USB Ethernet adapters based on the KLSI KL5KUSB101B chipset:
3962306a36Sopenharmony_ci	  3Com 3C19250
4062306a36Sopenharmony_ci	  ADS USB-10BT
4162306a36Sopenharmony_ci	  ATEN USB Ethernet
4262306a36Sopenharmony_ci	  ASANTE USB To Ethernet Adapter
4362306a36Sopenharmony_ci	  AOX Endpoints USB Ethernet
4462306a36Sopenharmony_ci	  Correga K.K.
4562306a36Sopenharmony_ci	  D-Link DSB-650C and DU-E10
4662306a36Sopenharmony_ci	  Entrega / Portgear E45
4762306a36Sopenharmony_ci	  I-O DATA USB-ET/T
4862306a36Sopenharmony_ci	  Jaton USB Ethernet Device Adapter
4962306a36Sopenharmony_ci	  Kingston Technology USB Ethernet Adapter
5062306a36Sopenharmony_ci	  Linksys USB10T
5162306a36Sopenharmony_ci	  Mobility USB-Ethernet Adapter
5262306a36Sopenharmony_ci	  NetGear EA-101
5362306a36Sopenharmony_ci	  Peracom Enet and Enet2
5462306a36Sopenharmony_ci	  Portsmith Express Ethernet Adapter
5562306a36Sopenharmony_ci	  Shark Pocket Adapter
5662306a36Sopenharmony_ci	  SMC 2202USB
5762306a36Sopenharmony_ci	  Sony Vaio port extender
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	  This driver is likely to work with most 10Mbps only USB Ethernet
6062306a36Sopenharmony_ci	  adapters, including some "no brand" devices. It does NOT work on
6162306a36Sopenharmony_ci	  SmartBridges smartNIC or on Belkin F5U111 devices - you should use
6262306a36Sopenharmony_ci	  the CATC NetMate driver for those. If you are not sure which one
6362306a36Sopenharmony_ci	  you need, select both, and the correct one should be selected for
6462306a36Sopenharmony_ci	  you.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	  This driver makes the adapter appear as a normal Ethernet interface,
6762306a36Sopenharmony_ci	  typically on eth0, if it is the only ethernet device, or perhaps on
6862306a36Sopenharmony_ci	  eth1, if you have a PCI or ISA ethernet card installed.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7162306a36Sopenharmony_ci	  module will be called kaweth.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciconfig USB_PEGASUS
7462306a36Sopenharmony_ci	tristate "USB Pegasus/Pegasus-II based ethernet device support"
7562306a36Sopenharmony_ci	select MII
7662306a36Sopenharmony_ci	help
7762306a36Sopenharmony_ci	  Say Y here if you know you have Pegasus or Pegasus-II based adapter.
7862306a36Sopenharmony_ci	  If in doubt then look at <file:drivers/net/usb/pegasus.h> for the
7962306a36Sopenharmony_ci	  complete list of supported devices.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	  If your particular adapter is not in the list and you are _sure_ it
8262306a36Sopenharmony_ci	  is Pegasus or Pegasus II based then send me
8362306a36Sopenharmony_ci	  <petkan@users.sourceforge.net> vendor and device IDs.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
8662306a36Sopenharmony_ci	  module will be called pegasus.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig USB_RTL8150
8962306a36Sopenharmony_ci	tristate "USB RTL8150 based ethernet device support"
9062306a36Sopenharmony_ci	select MII
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  Say Y here if you have RTL8150 based usb-ethernet adapter.
9362306a36Sopenharmony_ci	  Send me <petkan@users.sourceforge.net> any comments you may have.
9462306a36Sopenharmony_ci	  You can also check for updates at <http://pegasus2.sourceforge.net/>.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
9762306a36Sopenharmony_ci	  module will be called rtl8150.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciconfig USB_RTL8152
10062306a36Sopenharmony_ci	tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
10162306a36Sopenharmony_ci	select MII
10262306a36Sopenharmony_ci	select CRC32
10362306a36Sopenharmony_ci	select CRYPTO
10462306a36Sopenharmony_ci	select CRYPTO_HASH
10562306a36Sopenharmony_ci	select CRYPTO_SHA256
10662306a36Sopenharmony_ci	help
10762306a36Sopenharmony_ci	  This option adds support for Realtek RTL8152 based USB 2.0
10862306a36Sopenharmony_ci	  10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000
10962306a36Sopenharmony_ci	  Ethernet adapters.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
11262306a36Sopenharmony_ci	  module will be called r8152.
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ciconfig USB_LAN78XX
11562306a36Sopenharmony_ci	tristate "Microchip LAN78XX Based USB Ethernet Adapters"
11662306a36Sopenharmony_ci	select MII
11762306a36Sopenharmony_ci	select PHYLIB
11862306a36Sopenharmony_ci	select MICROCHIP_PHY
11962306a36Sopenharmony_ci	select FIXED_PHY
12062306a36Sopenharmony_ci	select CRC32
12162306a36Sopenharmony_ci	help
12262306a36Sopenharmony_ci	  This option adds support for Microchip LAN78XX based USB 2
12362306a36Sopenharmony_ci	  & USB 3 10/100/1000 Ethernet adapters.
12462306a36Sopenharmony_ci	  LAN7800 : USB 3 to 10/100/1000 Ethernet adapter
12562306a36Sopenharmony_ci	  LAN7850 : USB 2 to 10/100/1000 Ethernet adapter
12662306a36Sopenharmony_ci	  LAN7801 : USB 3 to 10/100/1000 Ethernet adapter (MAC only)
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	  Proper PHY driver is required for LAN7801.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
13162306a36Sopenharmony_ci	  module will be called lan78xx.
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ciconfig USB_USBNET
13462306a36Sopenharmony_ci	tristate "Multi-purpose USB Networking Framework"
13562306a36Sopenharmony_ci	select MII
13662306a36Sopenharmony_ci	help
13762306a36Sopenharmony_ci	  This driver supports several kinds of network links over USB,
13862306a36Sopenharmony_ci	  with "minidrivers" built around a common network driver core
13962306a36Sopenharmony_ci	  that supports deep queues for efficient transfers.  (This gives
14062306a36Sopenharmony_ci	  better performance with small packets and at high speeds).
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	  The USB host runs "usbnet", and the other end of the link might be:
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci	  - Another USB host, when using USB "network" or "data transfer"
14562306a36Sopenharmony_ci	    cables.  These are often used to network laptops to PCs, like
14662306a36Sopenharmony_ci	    "Laplink" parallel cables or some motherboards.  These rely
14762306a36Sopenharmony_ci	    on specialized chips from many suppliers.
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci	  - An intelligent USB gadget, perhaps embedding a Linux system.
15062306a36Sopenharmony_ci	    These include PDAs running Linux (iPaq, Yopy, Zaurus, and
15162306a36Sopenharmony_ci	    others), and devices that interoperate using the standard
15262306a36Sopenharmony_ci	    CDC-Ethernet specification (including many cable modems).
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	  - Network adapter hardware (like those for 10/100 Ethernet) which
15562306a36Sopenharmony_ci	    uses this driver framework.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	  The link will appear with a name like "usb0", when the link is
15862306a36Sopenharmony_ci	  a two-node link, or "eth0" for most CDC-Ethernet devices.  Those
15962306a36Sopenharmony_ci	  two-node links are most easily managed with Ethernet Bridging
16062306a36Sopenharmony_ci	  (CONFIG_BRIDGE) instead of routing.
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	  For more information see <http://www.linux-usb.org/usbnet/>.
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
16562306a36Sopenharmony_ci	  module will be called usbnet.
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ciconfig USB_NET_AX8817X
16862306a36Sopenharmony_ci	tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
16962306a36Sopenharmony_ci	depends on USB_USBNET
17062306a36Sopenharmony_ci	select CRC32
17162306a36Sopenharmony_ci	select PHYLINK
17262306a36Sopenharmony_ci	select AX88796B_PHY
17362306a36Sopenharmony_ci	imply NET_SELFTESTS
17462306a36Sopenharmony_ci	default y
17562306a36Sopenharmony_ci	help
17662306a36Sopenharmony_ci	  This option adds support for ASIX AX88xxx based USB 2.0
17762306a36Sopenharmony_ci	  10/100 Ethernet adapters.
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci	  This driver should work with at least the following devices:
18062306a36Sopenharmony_ci	    * Aten UC210T
18162306a36Sopenharmony_ci	    * ASIX AX88172
18262306a36Sopenharmony_ci	    * Billionton Systems, USB2AR
18362306a36Sopenharmony_ci	    * Billionton Systems, GUSB2AM-1G-B
18462306a36Sopenharmony_ci	    * Buffalo LUA-U2-KTX
18562306a36Sopenharmony_ci	    * Corega FEther USB2-TX
18662306a36Sopenharmony_ci	    * D-Link DUB-E100
18762306a36Sopenharmony_ci	    * Hawking UF200
18862306a36Sopenharmony_ci	    * Linksys USB200M
18962306a36Sopenharmony_ci	    * Netgear FA120
19062306a36Sopenharmony_ci	    * Sitecom LN-029
19162306a36Sopenharmony_ci	    * Sitecom LN-028
19262306a36Sopenharmony_ci	    * Intellinet USB 2.0 Ethernet
19362306a36Sopenharmony_ci	    * ST Lab USB 2.0 Ethernet
19462306a36Sopenharmony_ci	    * TrendNet TU2-ET100
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci	  This driver creates an interface named "ethX", where X depends on
19762306a36Sopenharmony_ci	  what other networking devices you have in use.
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ciconfig USB_NET_AX88179_178A
20062306a36Sopenharmony_ci	tristate "ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet"
20162306a36Sopenharmony_ci	depends on USB_USBNET
20262306a36Sopenharmony_ci	select CRC32
20362306a36Sopenharmony_ci	select PHYLIB
20462306a36Sopenharmony_ci	default y
20562306a36Sopenharmony_ci	help
20662306a36Sopenharmony_ci	  This option adds support for ASIX AX88179 based USB 3.0/2.0
20762306a36Sopenharmony_ci	  to Gigabit Ethernet adapters.
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci	  This driver should work with at least the following devices:
21062306a36Sopenharmony_ci	    * ASIX AX88179
21162306a36Sopenharmony_ci	    * ASIX AX88178A
21262306a36Sopenharmony_ci	    * Sitcomm LN-032
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci	  This driver creates an interface named "ethX", where X depends on
21562306a36Sopenharmony_ci	  what other networking devices you have in use.
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ciconfig USB_NET_CDCETHER
21862306a36Sopenharmony_ci	tristate "CDC Ethernet support (smart devices such as cable modems)"
21962306a36Sopenharmony_ci	depends on USB_USBNET
22062306a36Sopenharmony_ci	default y
22162306a36Sopenharmony_ci	help
22262306a36Sopenharmony_ci	  This option supports devices conforming to the Communication Device
22362306a36Sopenharmony_ci	  Class (CDC) Ethernet Control Model, a specification that's easy to
22462306a36Sopenharmony_ci	  implement in device firmware.  The CDC specifications are available
22562306a36Sopenharmony_ci	  from <http://www.usb.org/>.
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci	  CDC Ethernet is an implementation option for DOCSIS cable modems
22862306a36Sopenharmony_ci	  that support USB connectivity, used for non-Microsoft USB hosts.
22962306a36Sopenharmony_ci	  The Linux-USB CDC Ethernet Gadget driver is an open implementation.
23062306a36Sopenharmony_ci	  This driver should work with at least the following devices:
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci	    * Dell Wireless 5530 HSPA
23362306a36Sopenharmony_ci	    * Ericsson PipeRider (all variants)
23462306a36Sopenharmony_ci	    * Ericsson Mobile Broadband Module (all variants)
23562306a36Sopenharmony_ci	    * Motorola (DM100 and SB4100)
23662306a36Sopenharmony_ci	    * Broadcom Cable Modem (reference design)
23762306a36Sopenharmony_ci	    * Toshiba (PCX1100U and F3507g/F3607gw)
23862306a36Sopenharmony_ci	    * ...
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci	  This driver creates an interface named "ethX", where X depends on
24162306a36Sopenharmony_ci	  what other networking devices you have in use.  However, if the
24262306a36Sopenharmony_ci	  IEEE 802 "local assignment" bit is set in the address, a "usbX"
24362306a36Sopenharmony_ci	  name is used instead.
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ciconfig USB_NET_CDC_EEM
24662306a36Sopenharmony_ci	tristate "CDC EEM support"
24762306a36Sopenharmony_ci	depends on USB_USBNET
24862306a36Sopenharmony_ci	help
24962306a36Sopenharmony_ci	  This option supports devices conforming to the Communication Device
25062306a36Sopenharmony_ci	  Class (CDC) Ethernet Emulation Model, a specification that's easy to
25162306a36Sopenharmony_ci	  implement in device firmware.  The CDC EEM specifications are available
25262306a36Sopenharmony_ci	  from <http://www.usb.org/>.
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci	  This driver creates an interface named "ethX", where X depends on
25562306a36Sopenharmony_ci	  what other networking devices you have in use.  However, if the
25662306a36Sopenharmony_ci	  IEEE 802 "local assignment" bit is set in the address, a "usbX"
25762306a36Sopenharmony_ci	  name is used instead.
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ciconfig USB_NET_CDC_NCM
26062306a36Sopenharmony_ci	tristate "CDC NCM support"
26162306a36Sopenharmony_ci	depends on USB_USBNET
26262306a36Sopenharmony_ci	select USB_NET_CDCETHER
26362306a36Sopenharmony_ci	default y
26462306a36Sopenharmony_ci	help
26562306a36Sopenharmony_ci	  This driver provides support for CDC NCM (Network Control Model
26662306a36Sopenharmony_ci	  Device USB Class Specification). The CDC NCM specification is
26762306a36Sopenharmony_ci	  available from <http://www.usb.org/>.
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	  Say "y" to link the driver statically, or "m" to build a
27062306a36Sopenharmony_ci	  dynamically linked module.
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci	  This driver should work with at least the following devices:
27362306a36Sopenharmony_ci	    * ST-Ericsson M700 LTE FDD/TDD Mobile Broadband Modem (ref. design)
27462306a36Sopenharmony_ci	    * ST-Ericsson M5730 HSPA+ Mobile Broadband Modem (reference design)
27562306a36Sopenharmony_ci	    * ST-Ericsson M570 HSPA+ Mobile Broadband Modem (reference design)
27662306a36Sopenharmony_ci	    * ST-Ericsson M343 HSPA Mobile Broadband Modem (reference design)
27762306a36Sopenharmony_ci	    * Ericsson F5521gw Mobile Broadband Module
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ciconfig USB_NET_HUAWEI_CDC_NCM
28062306a36Sopenharmony_ci	tristate "Huawei NCM embedded AT channel support"
28162306a36Sopenharmony_ci	depends on USB_USBNET
28262306a36Sopenharmony_ci	select USB_WDM
28362306a36Sopenharmony_ci	select USB_NET_CDC_NCM
28462306a36Sopenharmony_ci	help
28562306a36Sopenharmony_ci		This driver supports huawei-style NCM devices, that use NCM as a
28662306a36Sopenharmony_ci		transport for other protocols, usually an embedded AT channel.
28762306a36Sopenharmony_ci		Good examples are:
28862306a36Sopenharmony_ci		* Huawei E3131
28962306a36Sopenharmony_ci		* Huawei E3251
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci		To compile this driver as a module, choose M here: the module will be
29262306a36Sopenharmony_ci		called huawei_cdc_ncm.ko.
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ciconfig USB_NET_CDC_MBIM
29562306a36Sopenharmony_ci	tristate "CDC MBIM support"
29662306a36Sopenharmony_ci	depends on USB_USBNET
29762306a36Sopenharmony_ci	select USB_WDM
29862306a36Sopenharmony_ci	select USB_NET_CDC_NCM
29962306a36Sopenharmony_ci	help
30062306a36Sopenharmony_ci	  This driver provides support for CDC MBIM (Mobile Broadband
30162306a36Sopenharmony_ci	  Interface Model) devices. The CDC MBIM specification is
30262306a36Sopenharmony_ci	  available from <http://www.usb.org/>.
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci	  MBIM devices require configuration using the management
30562306a36Sopenharmony_ci	  protocol defined by the MBIM specification.  This driver
30662306a36Sopenharmony_ci	  provides unfiltered access to the MBIM control channel
30762306a36Sopenharmony_ci	  through the associated /dev/cdc-wdmx character device.
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
31062306a36Sopenharmony_ci	  module will be called cdc_mbim.
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ciconfig USB_NET_DM9601
31362306a36Sopenharmony_ci	tristate "Davicom DM96xx based USB 10/100 ethernet devices"
31462306a36Sopenharmony_ci	depends on USB_USBNET
31562306a36Sopenharmony_ci	select CRC32
31662306a36Sopenharmony_ci	help
31762306a36Sopenharmony_ci	  This option adds support for Davicom DM9601/DM9620/DM9621A
31862306a36Sopenharmony_ci	  based USB 10/100 Ethernet adapters.
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ciconfig USB_NET_SR9700
32162306a36Sopenharmony_ci	tristate "CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices"
32262306a36Sopenharmony_ci	depends on USB_USBNET
32362306a36Sopenharmony_ci	select CRC32
32462306a36Sopenharmony_ci	help
32562306a36Sopenharmony_ci	  This option adds support for CoreChip-sz SR9700 based USB 1.1
32662306a36Sopenharmony_ci	  10/100 Ethernet adapters.
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ciconfig USB_NET_SR9800
32962306a36Sopenharmony_ci	tristate "CoreChip-sz SR9800 based USB 2.0 10/100 ethernet devices"
33062306a36Sopenharmony_ci	depends on USB_USBNET
33162306a36Sopenharmony_ci	select CRC32
33262306a36Sopenharmony_ci	help
33362306a36Sopenharmony_ci	  Say Y if you want to use one of the following 100Mbps USB Ethernet
33462306a36Sopenharmony_ci	  device based on the CoreChip-sz SR9800 chip.
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci	  This driver makes the adapter appear as a normal Ethernet interface,
33762306a36Sopenharmony_ci	  typically on eth0, if it is the only ethernet device, or perhaps on
33862306a36Sopenharmony_ci	  eth1, if you have a PCI or ISA ethernet card installed.
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
34162306a36Sopenharmony_ci	  module will be called sr9800.
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ciconfig USB_NET_SMSC75XX
34462306a36Sopenharmony_ci	tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices"
34562306a36Sopenharmony_ci	depends on USB_USBNET
34662306a36Sopenharmony_ci	select BITREVERSE
34762306a36Sopenharmony_ci	select CRC16
34862306a36Sopenharmony_ci	select CRC32
34962306a36Sopenharmony_ci	help
35062306a36Sopenharmony_ci	  This option adds support for SMSC LAN75XX based USB 2.0
35162306a36Sopenharmony_ci	  Gigabit Ethernet adapters.
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ciconfig USB_NET_SMSC95XX
35462306a36Sopenharmony_ci	tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices"
35562306a36Sopenharmony_ci	depends on USB_USBNET
35662306a36Sopenharmony_ci	select PHYLIB
35762306a36Sopenharmony_ci	select SMSC_PHY
35862306a36Sopenharmony_ci	select BITREVERSE
35962306a36Sopenharmony_ci	select CRC16
36062306a36Sopenharmony_ci	select CRC32
36162306a36Sopenharmony_ci	imply NET_SELFTESTS
36262306a36Sopenharmony_ci	help
36362306a36Sopenharmony_ci	  This option adds support for SMSC LAN95XX based USB 2.0
36462306a36Sopenharmony_ci	  10/100 Ethernet adapters.
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ciconfig USB_NET_GL620A
36762306a36Sopenharmony_ci	tristate "GeneSys GL620USB-A based cables"
36862306a36Sopenharmony_ci	depends on USB_USBNET
36962306a36Sopenharmony_ci	help
37062306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable,
37162306a36Sopenharmony_ci	  or PC2PC motherboard, with this chip.
37262306a36Sopenharmony_ci
37362306a36Sopenharmony_ci	  Note that the half-duplex "GL620USB" is not supported.
37462306a36Sopenharmony_ci
37562306a36Sopenharmony_ciconfig USB_NET_NET1080
37662306a36Sopenharmony_ci	tristate "NetChip 1080 based cables (Laplink, ...)"
37762306a36Sopenharmony_ci	default y
37862306a36Sopenharmony_ci	depends on USB_USBNET
37962306a36Sopenharmony_ci	help
38062306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable based
38162306a36Sopenharmony_ci	  on this design:  one NetChip 1080 chip and supporting logic,
38262306a36Sopenharmony_ci	  optionally with LEDs that indicate traffic
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ciconfig USB_NET_PLUSB
38562306a36Sopenharmony_ci	tristate "Prolific PL-2301/2302/25A1/27A1 based cables"
38662306a36Sopenharmony_ci	# if the handshake/init/reset problems, from original 'plusb',
38762306a36Sopenharmony_ci	# are ever resolved ... then remove "experimental"
38862306a36Sopenharmony_ci	depends on USB_USBNET
38962306a36Sopenharmony_ci	help
39062306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable
39162306a36Sopenharmony_ci	  with one of these chips.
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ciconfig USB_NET_MCS7830
39462306a36Sopenharmony_ci	tristate "MosChip MCS7830 based Ethernet adapters"
39562306a36Sopenharmony_ci	depends on USB_USBNET
39662306a36Sopenharmony_ci	help
39762306a36Sopenharmony_ci	  Choose this option if you're using a 10/100 Ethernet USB2
39862306a36Sopenharmony_ci	  adapter based on the MosChip 7830 controller. This includes
39962306a36Sopenharmony_ci	  adapters marketed under the DeLOCK brand.
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ciconfig USB_NET_RNDIS_HOST
40262306a36Sopenharmony_ci	tristate "Host for RNDIS and ActiveSync devices"
40362306a36Sopenharmony_ci	depends on USB_USBNET
40462306a36Sopenharmony_ci	select USB_NET_CDCETHER
40562306a36Sopenharmony_ci	help
40662306a36Sopenharmony_ci	  This option enables hosting "Remote NDIS" USB networking links,
40762306a36Sopenharmony_ci	  as encouraged by Microsoft (instead of CDC Ethernet!) for use in
40862306a36Sopenharmony_ci	  various devices that may only support this protocol.  A variant
40962306a36Sopenharmony_ci	  of this protocol (with even less public documentation) seems to
41062306a36Sopenharmony_ci	  be at the root of Microsoft's "ActiveSync" too.
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci	  Avoid using this protocol unless you have no better options.
41362306a36Sopenharmony_ci	  The protocol specification is incomplete, and is controlled by
41462306a36Sopenharmony_ci	  (and for) Microsoft; it isn't an "Open" ecosystem or market.
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_ciconfig USB_NET_CDC_SUBSET_ENABLE
41762306a36Sopenharmony_ci	tristate
41862306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ciconfig USB_NET_CDC_SUBSET
42162306a36Sopenharmony_ci	tristate "Simple USB Network Links (CDC Ethernet subset)"
42262306a36Sopenharmony_ci	depends on USB_USBNET
42362306a36Sopenharmony_ci	default y
42462306a36Sopenharmony_ci	help
42562306a36Sopenharmony_ci	  This driver module supports USB network devices that can work
42662306a36Sopenharmony_ci	  without any device-specific information.  Select it if you have
42762306a36Sopenharmony_ci	  one of these drivers.
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci	  Note that while many USB host-to-host cables can work in this mode,
43062306a36Sopenharmony_ci	  that may mean not being able to talk to Win32 systems or more
43162306a36Sopenharmony_ci	  commonly not being able to handle certain events (like replugging
43262306a36Sopenharmony_ci	  the host on the other end) very well.  Also, these devices will
43362306a36Sopenharmony_ci	  not generally have permanently assigned Ethernet addresses.
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ciconfig USB_ALI_M5632
43662306a36Sopenharmony_ci	bool "ALi M5632 based 'USB 2.0 Data Link' cables"
43762306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
43862306a36Sopenharmony_ci	select USB_NET_CDC_SUBSET_ENABLE
43962306a36Sopenharmony_ci	help
44062306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable
44162306a36Sopenharmony_ci	  based on this design, which supports USB 2.0 high speed.
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ciconfig USB_AN2720
44462306a36Sopenharmony_ci	bool "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
44562306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
44662306a36Sopenharmony_ci	select USB_NET_CDC_SUBSET_ENABLE
44762306a36Sopenharmony_ci	help
44862306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable
44962306a36Sopenharmony_ci	  based on this design.  Note that AnchorChips is now a
45062306a36Sopenharmony_ci	  Cypress brand.
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ciconfig USB_BELKIN
45362306a36Sopenharmony_ci	bool "eTEK based host-to-host cables (Advance, Belkin, ...)"
45462306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
45562306a36Sopenharmony_ci	select USB_NET_CDC_SUBSET_ENABLE
45662306a36Sopenharmony_ci	default y
45762306a36Sopenharmony_ci	help
45862306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable
45962306a36Sopenharmony_ci	  based on this design:  two NetChip 2890 chips and an Atmel
46062306a36Sopenharmony_ci	  microcontroller, with LEDs that indicate traffic.
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ciconfig USB_ARMLINUX
46362306a36Sopenharmony_ci	bool "Embedded ARM Linux links (iPaq, ...)"
46462306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
46562306a36Sopenharmony_ci	select USB_NET_CDC_SUBSET_ENABLE
46662306a36Sopenharmony_ci	default y
46762306a36Sopenharmony_ci	help
46862306a36Sopenharmony_ci	  Choose this option to support the "usb-eth" networking driver
46962306a36Sopenharmony_ci	  used by most of the ARM Linux community with device controllers
47062306a36Sopenharmony_ci	  such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
47162306a36Sopenharmony_ci	  in some PXA versions of the "blob" boot loader.
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci	  Linux-based "Gumstix" PXA-25x based systems use this protocol
47462306a36Sopenharmony_ci	  to talk with other Linux systems.
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_ci	  Although the ROMs shipped with Sharp Zaurus products use a
47762306a36Sopenharmony_ci	  different link level framing protocol, you can have them use
47862306a36Sopenharmony_ci	  this simpler protocol by installing a different kernel.
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ciconfig USB_EPSON2888
48162306a36Sopenharmony_ci	bool "Epson 2888 based firmware (DEVELOPMENT)"
48262306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
48362306a36Sopenharmony_ci	select USB_NET_CDC_SUBSET_ENABLE
48462306a36Sopenharmony_ci	help
48562306a36Sopenharmony_ci	  Choose this option to support the usb networking links used
48662306a36Sopenharmony_ci	  by some sample firmware from Epson.
48762306a36Sopenharmony_ci
48862306a36Sopenharmony_ciconfig USB_KC2190
48962306a36Sopenharmony_ci	bool "KT Technology KC2190 based cables (InstaNet)"
49062306a36Sopenharmony_ci	depends on USB_NET_CDC_SUBSET
49162306a36Sopenharmony_ci	select USB_NET_CDC_SUBSET_ENABLE
49262306a36Sopenharmony_ci	help
49362306a36Sopenharmony_ci	  Choose this option if you're using a host-to-host cable
49462306a36Sopenharmony_ci	  with one of these chips.
49562306a36Sopenharmony_ci
49662306a36Sopenharmony_ciconfig USB_NET_ZAURUS
49762306a36Sopenharmony_ci	tristate "Sharp Zaurus (stock ROMs) and compatible"
49862306a36Sopenharmony_ci	depends on USB_USBNET
49962306a36Sopenharmony_ci	select USB_NET_CDCETHER
50062306a36Sopenharmony_ci	select CRC32
50162306a36Sopenharmony_ci	default y
50262306a36Sopenharmony_ci	help
50362306a36Sopenharmony_ci	  Choose this option to support the usb networking links used by
50462306a36Sopenharmony_ci	  Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
50562306a36Sopenharmony_ci	  This also supports some related device firmware, as used in some
50662306a36Sopenharmony_ci	  PDAs from Olympus and some cell phones from Motorola.
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ci	  If you install an alternate image, such as the Linux 2.6 based
50962306a36Sopenharmony_ci	  versions of OpenZaurus, you should no longer need to support this
51062306a36Sopenharmony_ci	  protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
51162306a36Sopenharmony_ci	  really need this non-conformant variant of CDC Ethernet (or in
51262306a36Sopenharmony_ci	  some cases CDC MDLM) protocol, not "g_ether".
51362306a36Sopenharmony_ci
51462306a36Sopenharmony_ciconfig USB_NET_CX82310_ETH
51562306a36Sopenharmony_ci	tristate "Conexant CX82310 USB ethernet port"
51662306a36Sopenharmony_ci	depends on USB_USBNET
51762306a36Sopenharmony_ci	help
51862306a36Sopenharmony_ci	  Choose this option if you're using a Conexant CX82310-based ADSL
51962306a36Sopenharmony_ci	  router with USB ethernet port. This driver is for routers only,
52062306a36Sopenharmony_ci	  it will not work with ADSL modems (use cxacru driver instead).
52162306a36Sopenharmony_ci
52262306a36Sopenharmony_ciconfig USB_NET_KALMIA
52362306a36Sopenharmony_ci	tristate "Samsung Kalmia based LTE USB modem"
52462306a36Sopenharmony_ci	depends on USB_USBNET
52562306a36Sopenharmony_ci	help
52662306a36Sopenharmony_ci	  Choose this option if you have a Samsung Kalmia based USB modem
52762306a36Sopenharmony_ci	  as Samsung GT-B3730.
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
53062306a36Sopenharmony_ci	  module will be called kalmia.
53162306a36Sopenharmony_ci
53262306a36Sopenharmony_ciconfig USB_NET_QMI_WWAN
53362306a36Sopenharmony_ci	tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems"
53462306a36Sopenharmony_ci	depends on USB_USBNET
53562306a36Sopenharmony_ci	select USB_WDM
53662306a36Sopenharmony_ci	help
53762306a36Sopenharmony_ci	  Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem
53862306a36Sopenharmony_ci	  (MDM) chipsets.  Examples of such devices are
53962306a36Sopenharmony_ci	    * Huawei E392/E398
54062306a36Sopenharmony_ci
54162306a36Sopenharmony_ci	  This driver will only drive the ethernet part of the chips.
54262306a36Sopenharmony_ci	  The devices require additional configuration to be usable.
54362306a36Sopenharmony_ci	  Multiple management interfaces with linux drivers are
54462306a36Sopenharmony_ci	  available:
54562306a36Sopenharmony_ci
54662306a36Sopenharmony_ci	    * option: AT commands on /dev/ttyUSBx
54762306a36Sopenharmony_ci	    * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_ci	  A modem manager with support for QMI is recommended.
55062306a36Sopenharmony_ci
55162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
55262306a36Sopenharmony_ci	  module will be called qmi_wwan.
55362306a36Sopenharmony_ci
55462306a36Sopenharmony_ciconfig USB_HSO
55562306a36Sopenharmony_ci	tristate "Option USB High Speed Mobile Devices"
55662306a36Sopenharmony_ci	depends on USB && RFKILL && TTY
55762306a36Sopenharmony_ci	default n
55862306a36Sopenharmony_ci	help
55962306a36Sopenharmony_ci	  Choose this option if you have an Option HSDPA/HSUPA card.
56062306a36Sopenharmony_ci	  These cards support downlink speeds of 7.2Mbps or greater.
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
56362306a36Sopenharmony_ci	  module will be called hso.
56462306a36Sopenharmony_ci
56562306a36Sopenharmony_ciconfig USB_NET_INT51X1
56662306a36Sopenharmony_ci	tristate "Intellon PLC based usb adapter"
56762306a36Sopenharmony_ci	depends on USB_USBNET
56862306a36Sopenharmony_ci	help
56962306a36Sopenharmony_ci	  Choose this option if you're using a 14Mb USB-based PLC
57062306a36Sopenharmony_ci	  (Powerline Communications) solution with an Intellon
57162306a36Sopenharmony_ci	  INT51x1/INT5200 chip, like the "devolo dLan duo".
57262306a36Sopenharmony_ci
57362306a36Sopenharmony_ciconfig USB_CDC_PHONET
57462306a36Sopenharmony_ci	tristate "CDC Phonet support"
57562306a36Sopenharmony_ci	depends on PHONET && USB_USBNET
57662306a36Sopenharmony_ci	help
57762306a36Sopenharmony_ci	  Choose this option to support the Phonet interface to a Nokia
57862306a36Sopenharmony_ci	  cellular modem, as found on most Nokia handsets with the
57962306a36Sopenharmony_ci	  "PC suite" USB profile.
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ciconfig USB_IPHETH
58262306a36Sopenharmony_ci	tristate "Apple iPhone USB Ethernet driver"
58362306a36Sopenharmony_ci	default n
58462306a36Sopenharmony_ci	help
58562306a36Sopenharmony_ci	  Module used to share Internet connection (tethering) from your
58662306a36Sopenharmony_ci	  iPhone to your system.
58762306a36Sopenharmony_ci	  Note that you need a corresponding userspace library/program
58862306a36Sopenharmony_ci	  to pair your device with your system, for example usbmuxd
58962306a36Sopenharmony_ci	  <https://github.com/libimobiledevice/usbmuxd>.
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_ciconfig USB_SIERRA_NET
59262306a36Sopenharmony_ci	tristate "USB-to-WWAN Driver for Sierra Wireless modems"
59362306a36Sopenharmony_ci	depends on USB_USBNET
59462306a36Sopenharmony_ci	help
59562306a36Sopenharmony_ci	  Choose this option if you have a Sierra Wireless USB-to-WWAN device.
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
59862306a36Sopenharmony_ci	  module will be called sierra_net.
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ciconfig USB_VL600
60162306a36Sopenharmony_ci	tristate "LG VL600 modem dongle"
60262306a36Sopenharmony_ci	depends on USB_NET_CDCETHER && TTY
60362306a36Sopenharmony_ci	select USB_ACM
60462306a36Sopenharmony_ci	help
60562306a36Sopenharmony_ci	  Select this if you want to use an LG Electronics 4G/LTE usb modem
60662306a36Sopenharmony_ci	  called VL600.  This driver only handles the ethernet
60762306a36Sopenharmony_ci	  interface exposed by the modem firmware.  To establish a connection
60862306a36Sopenharmony_ci	  you will first need a userspace program that sends the right
60962306a36Sopenharmony_ci	  command to the modem through its CDC ACM port, and most
61062306a36Sopenharmony_ci	  likely also a DHCP client.  See this thread about using the
61162306a36Sopenharmony_ci	  4G modem from Verizon:
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	  http://ubuntuforums.org/showpost.php?p=10589647&postcount=17
61462306a36Sopenharmony_ci
61562306a36Sopenharmony_ciconfig USB_NET_CH9200
61662306a36Sopenharmony_ci	tristate "QingHeng CH9200 USB ethernet support"
61762306a36Sopenharmony_ci	depends on USB_USBNET
61862306a36Sopenharmony_ci	select MII
61962306a36Sopenharmony_ci	help
62062306a36Sopenharmony_ci	  Choose this option if you have a USB ethernet adapter with a QinHeng
62162306a36Sopenharmony_ci	  CH9200 chipset.
62262306a36Sopenharmony_ci
62362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
62462306a36Sopenharmony_ci	  module will be called ch9200.
62562306a36Sopenharmony_ci
62662306a36Sopenharmony_ciconfig USB_NET_AQC111
62762306a36Sopenharmony_ci	tristate "Aquantia AQtion USB to 5/2.5GbE Controllers support"
62862306a36Sopenharmony_ci	depends on USB_USBNET
62962306a36Sopenharmony_ci	select CRC32
63062306a36Sopenharmony_ci	help
63162306a36Sopenharmony_ci	  This option adds support for Aquantia AQtion USB
63262306a36Sopenharmony_ci	  Ethernet adapters based on AQC111U/AQC112 chips.
63362306a36Sopenharmony_ci
63462306a36Sopenharmony_ci	  This driver should work with at least the following devices:
63562306a36Sopenharmony_ci	  * Aquantia AQtion USB to 5GbE
63662306a36Sopenharmony_ci
63762306a36Sopenharmony_ciconfig USB_RTL8153_ECM
63862306a36Sopenharmony_ci	tristate
63962306a36Sopenharmony_ci	depends on USB_NET_CDCETHER && (USB_RTL8152 || USB_RTL8152=n)
64062306a36Sopenharmony_ci	default y
64162306a36Sopenharmony_ci	help
64262306a36Sopenharmony_ci	  This option supports ECM mode for RTL8153 ethernet adapter, when
64362306a36Sopenharmony_ci	  CONFIG_USB_RTL8152 is not set, or the RTL8153 device is not
64462306a36Sopenharmony_ci	  supported by r8152 driver.
64562306a36Sopenharmony_ci
64662306a36Sopenharmony_ciendif # USB_NET_DRIVERS
647