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