xref: /linux/drivers/net/usb/Kconfig (revision 5ba0a3be6ecc3a0b0d52c2a818b05564c6b42510)
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_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
131config 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
159config 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
187config 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
201config 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
220config 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
238config 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
246config 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
256config 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
266config 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
275config 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
284config 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
293config 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
301config 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
316config 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
331config 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
338config 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
346config 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
355config 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
372config 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
379config 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
386config 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
404config 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
412config 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
422config 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
444config USB_HSO
445	tristate "Option USB High Speed Mobile Devices"
446	depends on USB && RFKILL
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
455config 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
463config 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
471config 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
483config 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
492config USB_VL600
493	tristate "LG VL600 modem dongle"
494	depends on USB_NET_CDCETHER
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
508endmenu
509