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