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