Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linux
[linux-2.6.git] / drivers / net / usb / Kconfig
blobd84bfd4109a455661ee5160bddbe20c6cc597d01
2 # USB Network devices configuration
4 comment "Networking support is needed for USB Network Adapter support"
5         depends on USB && !NET
7 menu "USB Network Adapters"
8         depends on USB && NET
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
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.
26           To compile this driver as a module, choose M here: the
27           module will be called catc.
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
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.
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.
65           To compile this driver as a module, choose M here: the
66           module will be called kaweth.
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.
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.
80           To compile this driver as a module, choose M here: the
81           module will be called pegasus.
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/>.
91           To compile this driver as a module, choose M here: the
92           module will be called rtl8150.
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.
101           To compile this driver as a module, choose M here: the
102           module will be called r8152.
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).
113           The USB host runs "usbnet", and the other end of the link might be:
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.
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).
125           - Network adapter hardware (like those for 10/100 Ethernet) which
126             uses this driver framework.
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.
133           For more information see <http://www.linux-usb.org/usbnet/>.
135           To compile this driver as a module, choose M here: the
136           module will be called usbnet.
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.
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
163           This driver creates an interface named "ethX", where X depends on
164           what other networking devices you have in use.
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.
176           This driver should work with at least the following devices:
177             * ASIX AX88179
178             * ASIX AX88178A
179             * Sitcomm LN-032
181           This driver creates an interface named "ethX", where X depends on
182           what other networking devices you have in use.
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/>.
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:
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             * ...
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.
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/>.
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.
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/>.
235           Say "y" to link the driver statically, or "m" to build a
236           dynamically linked module.
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
245 config USB_NET_CDC_MBIM
246         tristate "CDC MBIM support"
247         depends on USB_USBNET
248         select USB_WDM
249         select USB_NET_CDC_NCM
250         help
251           This driver provides support for CDC MBIM (Mobile Broadband
252           Interface Model) devices. The CDC MBIM specification is
253           available from <http://www.usb.org/>.
255           MBIM devices require configuration using the management
256           protocol defined by the MBIM specification.  This driver
257           provides unfiltered access to the MBIM control channel
258           through the associated /dev/cdc-wdmx character device.
260           To compile this driver as a module, choose M here: the
261           module will be called cdc_mbim.
263 config USB_NET_DM9601
264         tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices"
265         depends on USB_USBNET
266         select CRC32
267         help
268           This option adds support for Davicom DM9601 based USB 1.1
269           10/100 Ethernet adapters.
271 config USB_NET_SMSC75XX
272         tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices"
273         depends on USB_USBNET
274         select BITREVERSE
275         select CRC16
276         select CRC32
277         help
278           This option adds support for SMSC LAN75XX based USB 2.0
279           Gigabit Ethernet adapters.
281 config USB_NET_SMSC95XX
282         tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices"
283         depends on USB_USBNET
284         select BITREVERSE
285         select CRC16
286         select CRC32
287         help
288           This option adds support for SMSC LAN95XX based USB 2.0
289           10/100 Ethernet adapters.
291 config USB_NET_GL620A
292         tristate "GeneSys GL620USB-A based cables"
293         depends on USB_USBNET
294         help
295           Choose this option if you're using a host-to-host cable,
296           or PC2PC motherboard, with this chip.
298           Note that the half-duplex "GL620USB" is not supported.
300 config USB_NET_NET1080
301         tristate "NetChip 1080 based cables (Laplink, ...)"
302         default y
303         depends on USB_USBNET
304         help
305           Choose this option if you're using a host-to-host cable based
306           on this design:  one NetChip 1080 chip and supporting logic,
307           optionally with LEDs that indicate traffic
309 config USB_NET_PLUSB
310         tristate "Prolific PL-2301/2302/25A1 based cables"
311         # if the handshake/init/reset problems, from original 'plusb',
312         # are ever resolved ... then remove "experimental"
313         depends on USB_USBNET
314         help
315           Choose this option if you're using a host-to-host cable
316           with one of these chips.
318 config USB_NET_MCS7830
319         tristate "MosChip MCS7830 based Ethernet adapters"
320         depends on USB_USBNET
321         help
322           Choose this option if you're using a 10/100 Ethernet USB2
323           adapter based on the MosChip 7830 controller. This includes
324           adapters marketed under the DeLOCK brand.
326 config USB_NET_RNDIS_HOST
327         tristate "Host for RNDIS and ActiveSync devices"
328         depends on USB_USBNET
329         select USB_NET_CDCETHER
330         help
331           This option enables hosting "Remote NDIS" USB networking links,
332           as encouraged by Microsoft (instead of CDC Ethernet!) for use in
333           various devices that may only support this protocol.  A variant
334           of this protocol (with even less public documentation) seems to
335           be at the root of Microsoft's "ActiveSync" too.
337           Avoid using this protocol unless you have no better options.
338           The protocol specification is incomplete, and is controlled by
339           (and for) Microsoft; it isn't an "Open" ecosystem or market.
341 config USB_NET_CDC_SUBSET
342         tristate "Simple USB Network Links (CDC Ethernet subset)"
343         depends on USB_USBNET
344         default y
345         help
346           This driver module supports USB network devices that can work
347           without any device-specific information.  Select it if you have
348           one of these drivers.
350           Note that while many USB host-to-host cables can work in this mode,
351           that may mean not being able to talk to Win32 systems or more
352           commonly not being able to handle certain events (like replugging
353           the host on the other end) very well.  Also, these devices will
354           not generally have permanently assigned Ethernet addresses.
356 config USB_ALI_M5632
357         boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
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, which supports USB 2.0 high speed.
363 config USB_AN2720
364         boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
365         depends on USB_NET_CDC_SUBSET
366         help
367           Choose this option if you're using a host-to-host cable
368           based on this design.  Note that AnchorChips is now a
369           Cypress brand.
371 config USB_BELKIN
372         boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
373         depends on USB_NET_CDC_SUBSET
374         default y
375         help
376           Choose this option if you're using a host-to-host cable
377           based on this design:  two NetChip 2890 chips and an Atmel
378           microcontroller, with LEDs that indicate traffic.
380 config USB_ARMLINUX
381         boolean "Embedded ARM Linux links (iPaq, ...)"
382         depends on USB_NET_CDC_SUBSET
383         default y
384         help
385           Choose this option to support the "usb-eth" networking driver
386           used by most of the ARM Linux community with device controllers
387           such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
388           in some PXA versions of the "blob" boot loader.
390           Linux-based "Gumstix" PXA-25x based systems use this protocol
391           to talk with other Linux systems.
393           Although the ROMs shipped with Sharp Zaurus products use a
394           different link level framing protocol, you can have them use
395           this simpler protocol by installing a different kernel.
397 config USB_EPSON2888
398         boolean "Epson 2888 based firmware (DEVELOPMENT)"
399         depends on USB_NET_CDC_SUBSET
400         help
401           Choose this option to support the usb networking links used
402           by some sample firmware from Epson.
404 config USB_KC2190
405         boolean "KT Technology KC2190 based cables (InstaNet)"
406         depends on USB_NET_CDC_SUBSET
407         help
408           Choose this option if you're using a host-to-host cable
409           with one of these chips.
411 config USB_NET_ZAURUS
412         tristate "Sharp Zaurus (stock ROMs) and compatible"
413         depends on USB_USBNET
414         select USB_NET_CDCETHER
415         select CRC32
416         default y
417         help
418           Choose this option to support the usb networking links used by
419           Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
420           This also supports some related device firmware, as used in some
421           PDAs from Olympus and some cell phones from Motorola.
423           If you install an alternate image, such as the Linux 2.6 based
424           versions of OpenZaurus, you should no longer need to support this
425           protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
426           really need this non-conformant variant of CDC Ethernet (or in
427           some cases CDC MDLM) protocol, not "g_ether".
429 config USB_NET_CX82310_ETH
430         tristate "Conexant CX82310 USB ethernet port"
431         depends on USB_USBNET
432         help
433           Choose this option if you're using a Conexant CX82310-based ADSL
434           router with USB ethernet port. This driver is for routers only,
435           it will not work with ADSL modems (use cxacru driver instead).
437 config USB_NET_KALMIA
438         tristate "Samsung Kalmia based LTE USB modem"
439         depends on USB_USBNET
440         help
441           Choose this option if you have a Samsung Kalmia based USB modem
442           as Samsung GT-B3730.
444           To compile this driver as a module, choose M here: the
445           module will be called kalmia.
447 config USB_NET_QMI_WWAN
448         tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems"
449         depends on USB_USBNET
450         select USB_WDM
451         help
452           Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem
453           (MDM) chipsets.  Examples of such devices are
454             * Huawei E392/E398
456           This driver will only drive the ethernet part of the chips.
457           The devices require additional configuration to be usable.
458           Multiple management interfaces with linux drivers are
459           available:
461             * option: AT commands on /dev/ttyUSBx
462             * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx
464           A modem manager with support for QMI is recommended.
466           To compile this driver as a module, choose M here: the
467           module will be called qmi_wwan.
469 config USB_HSO
470         tristate "Option USB High Speed Mobile Devices"
471         depends on USB && RFKILL && TTY
472         default n
473         help
474           Choose this option if you have an Option HSDPA/HSUPA card.
475           These cards support downlink speeds of 7.2Mbps or greater.
477           To compile this driver as a module, choose M here: the
478           module will be called hso.
480 config USB_NET_INT51X1
481         tristate "Intellon PLC based usb adapter"
482         depends on USB_USBNET
483         help
484           Choose this option if you're using a 14Mb USB-based PLC
485           (Powerline Communications) solution with an Intellon
486           INT51x1/INT5200 chip, like the "devolo dLan duo".
488 config USB_CDC_PHONET
489         tristate "CDC Phonet support"
490         depends on PHONET
491         help
492           Choose this option to support the Phonet interface to a Nokia
493           cellular modem, as found on most Nokia handsets with the
494           "PC suite" USB profile.
496 config USB_IPHETH
497         tristate "Apple iPhone USB Ethernet driver"
498         default n
499         ---help---
500           Module used to share Internet connection (tethering) from your
501           iPhone (Original, 3G and 3GS) to your system.
502           Note that you need userspace libraries and programs that are needed
503           to pair your device with your system and that understand the iPhone
504           protocol.
506           For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
508 config USB_SIERRA_NET
509         tristate "USB-to-WWAN Driver for Sierra Wireless modems"
510         depends on USB_USBNET
511         help
512           Choose this option if you have a Sierra Wireless USB-to-WWAN device.
514           To compile this driver as a module, choose M here: the
515           module will be called sierra_net.
517 config USB_VL600
518         tristate "LG VL600 modem dongle"
519         depends on USB_NET_CDCETHER && TTY
520         select USB_ACM
521         help
522           Select this if you want to use an LG Electronics 4G/LTE usb modem
523           called VL600.  This driver only handles the ethernet
524           interface exposed by the modem firmware.  To establish a connection
525           you will first need a userspace program that sends the right
526           command to the modem through its CDC ACM port, and most
527           likely also a DHCP client.  See this thread about using the
528           4G modem from Verizon:
530           http://ubuntuforums.org/showpost.php?p=10589647&postcount=17
533 endmenu