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