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