Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / drivers / net / usb / Kconfig
blobf28bd74ac275a039a000cc01b0448d8866f14d1f
2 # USB Network devices configuration
4 comment "Host-side USB support is needed for USB Network Adapter support"
5         depends on !USB && NET
7 menuconfig USB_NET_DRIVERS
8         tristate "USB Network Adapters"
9         default USB if USB
10         depends on USB && NET
12 if USB_NET_DRIVERS
14 config 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
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.
30           To compile this driver as a module, choose M here: the
31           module will be called catc.
33 config 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
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.
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.
69           To compile this driver as a module, choose M here: the
70           module will be called kaweth.
72 config 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.
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.
84           To compile this driver as a module, choose M here: the
85           module will be called pegasus.
87 config 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/>.
95           To compile this driver as a module, choose M here: the
96           module will be called rtl8150.
98 config 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.
106           To compile this driver as a module, choose M here: the
107           module will be called r8152.
109 config 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)
121           Proper PHY driver is required for LAN7801.
123           To compile this driver as a module, choose M here: the
124           module will be called lan78xx.
126 config 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).
135           The USB host runs "usbnet", and the other end of the link might be:
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.
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).
147           - Network adapter hardware (like those for 10/100 Ethernet) which
148             uses this driver framework.
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.
155           For more information see <http://www.linux-usb.org/usbnet/>.
157           To compile this driver as a module, choose M here: the
158           module will be called usbnet.
160 config 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.
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
187           This driver creates an interface named "ethX", where X depends on
188           what other networking devices you have in use.
190 config 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.
200           This driver should work with at least the following devices:
201             * ASIX AX88179
202             * ASIX AX88178A
203             * Sitcomm LN-032
205           This driver creates an interface named "ethX", where X depends on
206           what other networking devices you have in use.
208 config 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/>.
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:
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             * ...
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.
236 config 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/>.
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.
250 config 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/>.
259           Say "y" to link the driver statically, or "m" to build a
260           dynamically linked module.
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
269 config 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
281                 To compile this driver as a module, choose M here: the module will be
282                 called huawei_cdc_ncm.ko.
284 config 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/>.
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.
299           To compile this driver as a module, choose M here: the
300           module will be called cdc_mbim.
302 config 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.
310 config 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.
318 config 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.
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.
330           To compile this driver as a module, choose M here: the
331           module will be called sr9800.
333 config 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.
343 config 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.
353 config 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.
360           Note that the half-duplex "GL620USB" is not supported.
362 config 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
371 config 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.
380 config 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.
388 config 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.
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.
403 config USB_NET_CDC_SUBSET_ENABLE
404         tristate
405         depends on USB_NET_CDC_SUBSET
407 config 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.
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.
422 config 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.
430 config 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.
439 config 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.
449 config 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.
460           Linux-based "Gumstix" PXA-25x based systems use this protocol
461           to talk with other Linux systems.
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.
467 config 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.
475 config 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.
483 config 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.
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".
501 config 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).
509 config 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.
516           To compile this driver as a module, choose M here: the
517           module will be called kalmia.
519 config 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
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:
533             * option: AT commands on /dev/ttyUSBx
534             * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx
536           A modem manager with support for QMI is recommended.
538           To compile this driver as a module, choose M here: the
539           module will be called qmi_wwan.
541 config 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.
549           To compile this driver as a module, choose M here: the
550           module will be called hso.
552 config 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".
560 config 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.
568 config 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.
578           For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
580 config 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.
586           To compile this driver as a module, choose M here: the
587           module will be called sierra_net.
589 config 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:
602           http://ubuntuforums.org/showpost.php?p=10589647&postcount=17
604 config 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.
612           To compile this driver as a module, choose M here: the
613           module will be called ch9200.
615 endif # USB_NET_DRIVERS