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