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