xref: /openbmc/linux/drivers/net/usb/Kconfig (revision f6723b56)
1#
2# USB Network devices configuration
3#
4comment "Networking support is needed for USB Network Adapter support"
5	depends on USB && !NET
6
7menu "USB Network Adapters"
8	depends on USB && NET
9
10config 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
29config 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
68config 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
83config 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
94config 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
105config 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
139config 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
167config 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
185config 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
213config 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
227config 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
246config 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
261config 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
279config 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
287config 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
295config 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	default y
300	---help---
301	  Say Y if you want to use one of the following 100Mbps USB Ethernet
302	  device based on the CoreChip-sz SR9800 chip.
303
304	  This driver makes the adapter appear as a normal Ethernet interface,
305	  typically on eth0, if it is the only ethernet device, or perhaps on
306	  eth1, if you have a PCI or ISA ethernet card installed.
307
308	  To compile this driver as a module, choose M here: the
309	  module will be called sr9800.
310
311config USB_NET_SMSC75XX
312	tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices"
313	depends on USB_USBNET
314	select BITREVERSE
315	select CRC16
316	select CRC32
317	help
318	  This option adds support for SMSC LAN75XX based USB 2.0
319	  Gigabit Ethernet adapters.
320
321config USB_NET_SMSC95XX
322	tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices"
323	depends on USB_USBNET
324	select BITREVERSE
325	select CRC16
326	select CRC32
327	help
328	  This option adds support for SMSC LAN95XX based USB 2.0
329	  10/100 Ethernet adapters.
330
331config USB_NET_GL620A
332	tristate "GeneSys GL620USB-A based cables"
333	depends on USB_USBNET
334	help
335	  Choose this option if you're using a host-to-host cable,
336	  or PC2PC motherboard, with this chip.
337
338	  Note that the half-duplex "GL620USB" is not supported.
339
340config USB_NET_NET1080
341	tristate "NetChip 1080 based cables (Laplink, ...)"
342	default y
343	depends on USB_USBNET
344	help
345	  Choose this option if you're using a host-to-host cable based
346	  on this design:  one NetChip 1080 chip and supporting logic,
347	  optionally with LEDs that indicate traffic
348
349config USB_NET_PLUSB
350	tristate "Prolific PL-2301/2302/25A1 based cables"
351	# if the handshake/init/reset problems, from original 'plusb',
352	# are ever resolved ... then remove "experimental"
353	depends on USB_USBNET
354	help
355	  Choose this option if you're using a host-to-host cable
356	  with one of these chips.
357
358config USB_NET_MCS7830
359	tristate "MosChip MCS7830 based Ethernet adapters"
360	depends on USB_USBNET
361	help
362	  Choose this option if you're using a 10/100 Ethernet USB2
363	  adapter based on the MosChip 7830 controller. This includes
364	  adapters marketed under the DeLOCK brand.
365
366config USB_NET_RNDIS_HOST
367	tristate "Host for RNDIS and ActiveSync devices"
368	depends on USB_USBNET
369	select USB_NET_CDCETHER
370	help
371	  This option enables hosting "Remote NDIS" USB networking links,
372	  as encouraged by Microsoft (instead of CDC Ethernet!) for use in
373	  various devices that may only support this protocol.  A variant
374	  of this protocol (with even less public documentation) seems to
375	  be at the root of Microsoft's "ActiveSync" too.
376
377	  Avoid using this protocol unless you have no better options.
378	  The protocol specification is incomplete, and is controlled by
379	  (and for) Microsoft; it isn't an "Open" ecosystem or market.
380
381config USB_NET_CDC_SUBSET
382	tristate "Simple USB Network Links (CDC Ethernet subset)"
383	depends on USB_USBNET
384	default y
385	help
386	  This driver module supports USB network devices that can work
387	  without any device-specific information.  Select it if you have
388	  one of these drivers.
389
390	  Note that while many USB host-to-host cables can work in this mode,
391	  that may mean not being able to talk to Win32 systems or more
392	  commonly not being able to handle certain events (like replugging
393	  the host on the other end) very well.  Also, these devices will
394	  not generally have permanently assigned Ethernet addresses.
395
396config USB_ALI_M5632
397	boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
398	depends on USB_NET_CDC_SUBSET
399	help
400	  Choose this option if you're using a host-to-host cable
401	  based on this design, which supports USB 2.0 high speed.
402
403config USB_AN2720
404	boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
405	depends on USB_NET_CDC_SUBSET
406	help
407	  Choose this option if you're using a host-to-host cable
408	  based on this design.  Note that AnchorChips is now a
409	  Cypress brand.
410
411config USB_BELKIN
412	boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
413	depends on USB_NET_CDC_SUBSET
414	default y
415	help
416	  Choose this option if you're using a host-to-host cable
417	  based on this design:  two NetChip 2890 chips and an Atmel
418	  microcontroller, with LEDs that indicate traffic.
419
420config USB_ARMLINUX
421	boolean "Embedded ARM Linux links (iPaq, ...)"
422	depends on USB_NET_CDC_SUBSET
423	default y
424	help
425	  Choose this option to support the "usb-eth" networking driver
426	  used by most of the ARM Linux community with device controllers
427	  such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
428	  in some PXA versions of the "blob" boot loader.
429
430	  Linux-based "Gumstix" PXA-25x based systems use this protocol
431	  to talk with other Linux systems.
432
433	  Although the ROMs shipped with Sharp Zaurus products use a
434	  different link level framing protocol, you can have them use
435	  this simpler protocol by installing a different kernel.
436
437config USB_EPSON2888
438	boolean "Epson 2888 based firmware (DEVELOPMENT)"
439	depends on USB_NET_CDC_SUBSET
440	help
441	  Choose this option to support the usb networking links used
442	  by some sample firmware from Epson.
443
444config USB_KC2190
445	boolean "KT Technology KC2190 based cables (InstaNet)"
446	depends on USB_NET_CDC_SUBSET
447	help
448	  Choose this option if you're using a host-to-host cable
449	  with one of these chips.
450
451config USB_NET_ZAURUS
452	tristate "Sharp Zaurus (stock ROMs) and compatible"
453	depends on USB_USBNET
454	select USB_NET_CDCETHER
455	select CRC32
456	default y
457	help
458	  Choose this option to support the usb networking links used by
459	  Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
460	  This also supports some related device firmware, as used in some
461	  PDAs from Olympus and some cell phones from Motorola.
462
463	  If you install an alternate image, such as the Linux 2.6 based
464	  versions of OpenZaurus, you should no longer need to support this
465	  protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
466	  really need this non-conformant variant of CDC Ethernet (or in
467	  some cases CDC MDLM) protocol, not "g_ether".
468
469config USB_NET_CX82310_ETH
470	tristate "Conexant CX82310 USB ethernet port"
471	depends on USB_USBNET
472	help
473	  Choose this option if you're using a Conexant CX82310-based ADSL
474	  router with USB ethernet port. This driver is for routers only,
475	  it will not work with ADSL modems (use cxacru driver instead).
476
477config USB_NET_KALMIA
478	tristate "Samsung Kalmia based LTE USB modem"
479	depends on USB_USBNET
480	help
481	  Choose this option if you have a Samsung Kalmia based USB modem
482	  as Samsung GT-B3730.
483
484	  To compile this driver as a module, choose M here: the
485	  module will be called kalmia.
486
487config USB_NET_QMI_WWAN
488	tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems"
489	depends on USB_USBNET
490	select USB_WDM
491	help
492	  Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem
493	  (MDM) chipsets.  Examples of such devices are
494	    * Huawei E392/E398
495
496	  This driver will only drive the ethernet part of the chips.
497	  The devices require additional configuration to be usable.
498	  Multiple management interfaces with linux drivers are
499	  available:
500
501	    * option: AT commands on /dev/ttyUSBx
502	    * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx
503
504	  A modem manager with support for QMI is recommended.
505
506	  To compile this driver as a module, choose M here: the
507	  module will be called qmi_wwan.
508
509config USB_HSO
510	tristate "Option USB High Speed Mobile Devices"
511	depends on USB && RFKILL && TTY
512	default n
513	help
514	  Choose this option if you have an Option HSDPA/HSUPA card.
515	  These cards support downlink speeds of 7.2Mbps or greater.
516
517	  To compile this driver as a module, choose M here: the
518	  module will be called hso.
519
520config USB_NET_INT51X1
521	tristate "Intellon PLC based usb adapter"
522	depends on USB_USBNET
523	help
524	  Choose this option if you're using a 14Mb USB-based PLC
525	  (Powerline Communications) solution with an Intellon
526	  INT51x1/INT5200 chip, like the "devolo dLan duo".
527
528config USB_CDC_PHONET
529	tristate "CDC Phonet support"
530	depends on PHONET
531	help
532	  Choose this option to support the Phonet interface to a Nokia
533	  cellular modem, as found on most Nokia handsets with the
534	  "PC suite" USB profile.
535
536config USB_IPHETH
537	tristate "Apple iPhone USB Ethernet driver"
538	default n
539	---help---
540	  Module used to share Internet connection (tethering) from your
541	  iPhone (Original, 3G and 3GS) to your system.
542	  Note that you need userspace libraries and programs that are needed
543	  to pair your device with your system and that understand the iPhone
544	  protocol.
545
546	  For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
547
548config USB_SIERRA_NET
549	tristate "USB-to-WWAN Driver for Sierra Wireless modems"
550	depends on USB_USBNET
551	help
552	  Choose this option if you have a Sierra Wireless USB-to-WWAN device.
553
554	  To compile this driver as a module, choose M here: the
555	  module will be called sierra_net.
556
557config USB_VL600
558	tristate "LG VL600 modem dongle"
559	depends on USB_NET_CDCETHER && TTY
560	select USB_ACM
561	help
562	  Select this if you want to use an LG Electronics 4G/LTE usb modem
563	  called VL600.  This driver only handles the ethernet
564	  interface exposed by the modem firmware.  To establish a connection
565	  you will first need a userspace program that sends the right
566	  command to the modem through its CDC ACM port, and most
567	  likely also a DHCP client.  See this thread about using the
568	  4G modem from Verizon:
569
570	  http://ubuntuforums.org/showpost.php?p=10589647&postcount=17
571
572
573endmenu
574