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