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