[PATCH] USB: usbnet (8/9) module for RNDIS devices
[linux-2.6-block.git] / drivers / usb / net / Kconfig
1 #
2 # USB Network devices configuration
3 #
4 comment "Networking support is needed for USB Network Adapter support"
5         depends on USB && !NET
6
7 menu "USB Network Adapters"
8         depends on USB && NET
9
10 config 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
30 config 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
69 config 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
84 config USB_RTL8150
85         tristate "USB RTL8150 based ethernet device support (EXPERIMENTAL)"
86         depends on EXPERIMENTAL
87         help
88           Say Y here if you have RTL8150 based usb-ethernet adapter.
89           Send me <petkan@users.sourceforge.net> any comments you may have.
90           You can also check for updates at <http://pegasus2.sourceforge.net/>.
91
92           To compile this driver as a module, choose M here: the
93           module will be called rtl8150.
94
95 config USB_USBNET
96         tristate "Multi-purpose USB Networking Framework"
97         ---help---
98           This driver supports several kinds of network links over USB,
99           with "minidrivers" built around a common network driver core
100           that supports deep queues for efficient transfers.  (This gives
101           better performance with small packets and at high speeds).
102           
103           The USB host runs "usbnet", and the other end of the link might be:
104
105           - Another USB host, when using USB "network" or "data transfer"
106             cables.  These are often used to network laptops to PCs, like
107             "Laplink" parallel cables or some motherboards.  These rely
108             on specialized chips from many suppliers.
109
110           - An intelligent USB gadget, perhaps embedding a Linux system.
111             These include PDAs running Linux (iPaq, Yopy, Zaurus, and
112             others), and devices that interoperate using the standard
113             CDC-Ethernet specification (including many cable modems).
114
115           - Network adapter hardware (like those for 10/100 Ethernet) which
116             uses this driver framework.
117
118           The link will appear with a name like "usb0", when the link is
119           a two-node link, or "eth0" for most CDC-Ethernet devices.  Those
120           two-node links are most easily managed with Ethernet Bridging
121           (CONFIG_BRIDGE) instead of routing.
122
123           For more information see <http://www.linux-usb.org/usbnet/>.
124
125           To compile this driver as a module, choose M here: the
126           module will be called usbnet.
127
128 comment "USB Host-to-Host Cables"
129         depends on USB_USBNET
130
131 config USB_PL2301
132         boolean "Prolific PL-2301/2302 based cables"
133         default y
134         # handshake/init/reset problems, from original 'plusb' driver
135         depends on USB_USBNET && EXPERIMENTAL
136         help
137           Choose this option if you're using a host-to-host cable
138           with one of these chips.
139
140 comment "Drivers built using the usbnet core"
141
142 config USB_NET_AX8817X
143         tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
144         depends on USB_USBNET && NET_ETHERNET
145         select CRC32
146         select MII
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
170
171 config USB_NET_CDCETHER
172         tristate "CDC Ethernet support (smart devices such as cable modems)"
173         depends on USB_USBNET
174         default y
175         help
176           This option supports devices conforming to the Communication Device
177           Class (CDC) Ethernet Control Model, a specification that's easy to
178           implement in device firmware.  The CDC specifications are available
179           from <http://www.usb.org/>.
180
181           CDC Ethernet is an implementation option for DOCSIS cable modems
182           that support USB connectivity, used for non-Microsoft USB hosts.
183           The Linux-USB CDC Ethernet Gadget driver is an open implementation.
184           This driver should work with at least the following devices:
185
186             * Ericsson PipeRider (all variants)
187             * Motorola (DM100 and SB4100)
188             * Broadcom Cable Modem (reference design)
189             * Toshiba PCX1100U
190             * ...
191
192           This driver creates an interface named "ethX", where X depends on
193           what other networking devices you have in use.  However, if the
194           IEEE 802 "local assignment" bit is set in the address, a "usbX"
195           name is used instead.
196
197 config USB_NET_GL620A
198         tristate "GeneSys GL620USB-A based cables"
199         depends on USB_USBNET
200         help
201           Choose this option if you're using a host-to-host cable,
202           or PC2PC motherboard, with this chip.
203
204           Note that the half-duplex "GL620USB" is not supported.
205
206 config USB_NET_NET1080
207         tristate "NetChip 1080 based cables (Laplink, ...)"
208         default y
209         depends on USB_USBNET
210         help
211           Choose this option if you're using a host-to-host cable based
212           on this design:  one NetChip 1080 chip and supporting logic,
213           optionally with LEDs that indicate traffic
214
215 config USB_NET_RNDIS_HOST
216         tristate "Host for RNDIS devices (EXPERIMENTAL)"
217         depends on USB_USBNET && EXPERIMENTAL
218         select USB_NET_CDCETHER
219         help
220           This option enables hosting "Remote NDIS" USB networking links,
221           as encouraged by Microsoft (instead of CDC Ethernet!) for use in
222           various devices that may only support this protocol.
223
224           Avoid using this protocol unless you have no better options.
225           The protocol specification is incomplete, and is controlled by
226           (and for) Microsoft; it isn't an "Open" ecosystem or market.
227
228 config USB_NET_CDC_SUBSET
229         tristate "Simple USB Network Links (CDC Ethernet subset)"
230         depends on USB_USBNET
231         help
232           This driver module supports USB network devices that can work
233           without any device-specific information.  Select it if you have
234           one of these drivers.
235
236           Note that while many USB host-to-host cables can work in this mode,
237           that may mean not being able to talk to Win32 systems or more
238           commonly not being able to handle certain events (like replugging
239           the host on the other end) very well.  Also, these devices will
240           not generally have permanently assigned Ethernet addresses.
241
242 config USB_ALI_M5632
243         boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
244         depends on USB_NET_CDC_SUBSET
245         help
246           Choose this option if you're using a host-to-host cable
247           based on this design, which supports USB 2.0 high speed.
248
249 config USB_AN2720
250         boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
251         depends on USB_NET_CDC_SUBSET
252         help
253           Choose this option if you're using a host-to-host cable
254           based on this design.  Note that AnchorChips is now a
255           Cypress brand.
256
257 config USB_BELKIN
258         boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
259         depends on USB_NET_CDC_SUBSET
260         default y
261         help
262           Choose this option if you're using a host-to-host cable
263           based on this design:  two NetChip 2890 chips and an Atmel
264           microcontroller, with LEDs that indicate traffic.
265
266 config USB_ARMLINUX
267         boolean "Embedded ARM Linux links (iPaq, ...)"
268         depends on USB_NET_CDC_SUBSET
269         default y
270         help
271           Choose this option to support the "usb-eth" networking driver
272           used by most of the ARM Linux community with device controllers
273           such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
274           in some PXA versions of the "blob" boot loader.
275
276           Linux-based "Gumstix" PXA-25x based systems use this protocol
277           to talk with other Linux systems.
278
279           Although the ROMs shipped with Sharp Zaurus products use a
280           different link level framing protocol, you can have them use
281           this simpler protocol by installing a different kernel.
282
283 config USB_EPSON2888
284         boolean "Epson 2888 based firmware (DEVELOPMENT)"
285         depends on USB_NET_CDC_SUBSET
286         help
287           Choose this option to support the usb networking links used
288           by some sample firmware from Epson.
289
290 config USB_NET_ZAURUS
291         tristate "Sharp Zaurus (stock ROMs) and compatible"
292         depends on USB_USBNET
293         select USB_NET_CDCETHER
294         select CRC32
295         default y
296         help
297           Choose this option to support the usb networking links used by
298           Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
299           This also supports some related device firmware, as used in some
300           PDAs from Olympus and some cell phones from Motorola.
301
302           If you install an alternate ROM image, such as the Linux 2.6 based
303           versions of OpenZaurus, you should no longer need to support this
304           protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
305           really need this non-conformant variant of CDC Ethernet (or in
306           some cases CDC MDLM) protocol, not "g_ether".
307
308
309 config USB_ZD1201
310         tristate "USB ZD1201 based Wireless device support"
311         depends on NET_RADIO
312         select FW_LOADER
313         ---help---
314           Say Y if you want to use wireless LAN adapters based on the ZyDAS
315           ZD1201 chip.
316
317           This driver makes the adapter appear as a normal Ethernet interface,
318           typically on wlan0.
319           
320           The zd1201 device requires external firmware to be loaded.
321           This can be found at http://linux-lc100020.sourceforge.net/
322           
323           To compile this driver as a module, choose M here: the
324           module will be called zd1201.
325
326 endmenu