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