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