xref: /openbmc/linux/drivers/net/usb/Kconfig (revision 64c70b1c)
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 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/usb/net/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 (EXPERIMENTAL)"
86	depends on EXPERIMENTAL
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_MII
97	tristate
98	default n
99
100config USB_USBNET
101	tristate "Multi-purpose USB Networking Framework"
102	select MII if USB_USBNET_MII != n
103	---help---
104	  This driver supports several kinds of network links over USB,
105	  with "minidrivers" built around a common network driver core
106	  that supports deep queues for efficient transfers.  (This gives
107	  better performance with small packets and at high speeds).
108
109	  The USB host runs "usbnet", and the other end of the link might be:
110
111	  - Another USB host, when using USB "network" or "data transfer"
112	    cables.  These are often used to network laptops to PCs, like
113	    "Laplink" parallel cables or some motherboards.  These rely
114	    on specialized chips from many suppliers.
115
116	  - An intelligent USB gadget, perhaps embedding a Linux system.
117	    These include PDAs running Linux (iPaq, Yopy, Zaurus, and
118	    others), and devices that interoperate using the standard
119	    CDC-Ethernet specification (including many cable modems).
120
121	  - Network adapter hardware (like those for 10/100 Ethernet) which
122	    uses this driver framework.
123
124	  The link will appear with a name like "usb0", when the link is
125	  a two-node link, or "eth0" for most CDC-Ethernet devices.  Those
126	  two-node links are most easily managed with Ethernet Bridging
127	  (CONFIG_BRIDGE) instead of routing.
128
129	  For more information see <http://www.linux-usb.org/usbnet/>.
130
131	  To compile this driver as a module, choose M here: the
132	  module will be called usbnet.
133
134config USB_NET_AX8817X
135	tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
136	depends on USB_USBNET && NET_ETHERNET
137	select CRC32
138	select USB_USBNET_MII
139	default y
140	help
141	  This option adds support for ASIX AX88xxx based USB 2.0
142	  10/100 Ethernet adapters.
143
144 	  This driver should work with at least the following devices:
145	    * Aten UC210T
146	    * ASIX AX88172
147	    * Billionton Systems, USB2AR
148	    * Buffalo LUA-U2-KTX
149	    * Corega FEther USB2-TX
150	    * D-Link DUB-E100
151	    * Hawking UF200
152	    * Linksys USB200M
153	    * Netgear FA120
154	    * Sitecom LN-029
155	    * Intellinet USB 2.0 Ethernet
156	    * ST Lab USB 2.0 Ethernet
157	    * TrendNet TU2-ET100
158
159	  This driver creates an interface named "ethX", where X depends on
160	  what other networking devices you have in use.
161
162
163config USB_NET_CDCETHER
164	tristate "CDC Ethernet support (smart devices such as cable modems)"
165	depends on USB_USBNET
166	default y
167	help
168	  This option supports devices conforming to the Communication Device
169	  Class (CDC) Ethernet Control Model, a specification that's easy to
170	  implement in device firmware.  The CDC specifications are available
171	  from <http://www.usb.org/>.
172
173	  CDC Ethernet is an implementation option for DOCSIS cable modems
174	  that support USB connectivity, used for non-Microsoft USB hosts.
175	  The Linux-USB CDC Ethernet Gadget driver is an open implementation.
176 	  This driver should work with at least the following devices:
177
178 	    * Ericsson PipeRider (all variants)
179 	    * Motorola (DM100 and SB4100)
180 	    * Broadcom Cable Modem (reference design)
181 	    * Toshiba PCX1100U
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_DM9601
190	tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices"
191	depends on USB_USBNET
192	select CRC32
193	select USB_USBNET_MII
194	help
195	  This option adds support for Davicom DM9601 based USB 1.1
196	  10/100 Ethernet adapters.
197
198config USB_NET_GL620A
199	tristate "GeneSys GL620USB-A based cables"
200	depends on USB_USBNET
201	help
202	  Choose this option if you're using a host-to-host cable,
203	  or PC2PC motherboard, with this chip.
204
205	  Note that the half-duplex "GL620USB" is not supported.
206
207config USB_NET_NET1080
208	tristate "NetChip 1080 based cables (Laplink, ...)"
209	default y
210	depends on USB_USBNET
211	help
212	  Choose this option if you're using a host-to-host cable based
213	  on this design:  one NetChip 1080 chip and supporting logic,
214	  optionally with LEDs that indicate traffic
215
216config USB_NET_PLUSB
217	tristate "Prolific PL-2301/2302 based cables"
218	# if the handshake/init/reset problems, from original 'plusb',
219	# are ever resolved ... then remove "experimental"
220	depends on USB_USBNET && EXPERIMENTAL
221	help
222	  Choose this option if you're using a host-to-host cable
223	  with one of these chips.
224
225config USB_NET_MCS7830
226	tristate "MosChip MCS7830 based Ethernet adapters"
227	depends on USB_USBNET
228	select USB_USBNET_MII
229	help
230	  Choose this option if you're using a 10/100 Ethernet USB2
231	  adapter based on the MosChip 7830 controller. This includes
232	  adapters marketed under the DeLOCK brand.
233
234config USB_NET_RNDIS_HOST
235	tristate "Host for RNDIS and ActiveSync devices (EXPERIMENTAL)"
236	depends on USB_USBNET && EXPERIMENTAL
237	select USB_NET_CDCETHER
238	help
239	  This option enables hosting "Remote NDIS" USB networking links,
240	  as encouraged by Microsoft (instead of CDC Ethernet!) for use in
241	  various devices that may only support this protocol.  A variant
242	  of this protocol (with even less public documentation) seems to
243	  be at the root of Microsoft's "ActiveSync" too.
244
245	  Avoid using this protocol unless you have no better options.
246	  The protocol specification is incomplete, and is controlled by
247	  (and for) Microsoft; it isn't an "Open" ecosystem or market.
248
249config USB_NET_CDC_SUBSET
250	tristate "Simple USB Network Links (CDC Ethernet subset)"
251	depends on USB_USBNET
252	default y
253	help
254	  This driver module supports USB network devices that can work
255	  without any device-specific information.  Select it if you have
256	  one of these drivers.
257
258	  Note that while many USB host-to-host cables can work in this mode,
259	  that may mean not being able to talk to Win32 systems or more
260	  commonly not being able to handle certain events (like replugging
261	  the host on the other end) very well.  Also, these devices will
262	  not generally have permanently assigned Ethernet addresses.
263
264config USB_ALI_M5632
265	boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
266	depends on USB_NET_CDC_SUBSET
267	help
268	  Choose this option if you're using a host-to-host cable
269	  based on this design, which supports USB 2.0 high speed.
270
271config USB_AN2720
272	boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
273	depends on USB_NET_CDC_SUBSET
274	help
275	  Choose this option if you're using a host-to-host cable
276	  based on this design.  Note that AnchorChips is now a
277	  Cypress brand.
278
279config USB_BELKIN
280	boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
281	depends on USB_NET_CDC_SUBSET
282	default y
283	help
284	  Choose this option if you're using a host-to-host cable
285	  based on this design:  two NetChip 2890 chips and an Atmel
286	  microcontroller, with LEDs that indicate traffic.
287
288config USB_ARMLINUX
289	boolean "Embedded ARM Linux links (iPaq, ...)"
290	depends on USB_NET_CDC_SUBSET
291	default y
292	help
293	  Choose this option to support the "usb-eth" networking driver
294	  used by most of the ARM Linux community with device controllers
295	  such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
296	  in some PXA versions of the "blob" boot loader.
297
298	  Linux-based "Gumstix" PXA-25x based systems use this protocol
299	  to talk with other Linux systems.
300
301	  Although the ROMs shipped with Sharp Zaurus products use a
302	  different link level framing protocol, you can have them use
303	  this simpler protocol by installing a different kernel.
304
305config USB_EPSON2888
306	boolean "Epson 2888 based firmware (DEVELOPMENT)"
307	depends on USB_NET_CDC_SUBSET
308	help
309	  Choose this option to support the usb networking links used
310	  by some sample firmware from Epson.
311
312config USB_KC2190
313	boolean "KT Technology KC2190 based cables (InstaNet)"
314	depends on USB_NET_CDC_SUBSET && EXPERIMENTAL
315	help
316	  Choose this option if you're using a host-to-host cable
317	  with one of these chips.
318
319config USB_NET_ZAURUS
320	tristate "Sharp Zaurus (stock ROMs) and compatible"
321	depends on USB_USBNET
322	select USB_NET_CDCETHER
323	select CRC32
324	default y
325	help
326	  Choose this option to support the usb networking links used by
327	  Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
328	  This also supports some related device firmware, as used in some
329	  PDAs from Olympus and some cell phones from Motorola.
330
331	  If you install an alternate image, such as the Linux 2.6 based
332	  versions of OpenZaurus, you should no longer need to support this
333	  protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
334	  really need this non-conformant variant of CDC Ethernet (or in
335	  some cases CDC MDLM) protocol, not "g_ether".
336
337
338endmenu
339