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