include: replace linux/module.h with "struct module" wherever possible
[linux-2.6/next.git] / drivers / net / usb / Kconfig
blob84d4608153c992556a2d14a4a6bab37160abbf1b
2 # USB Network devices configuration
4 comment "Networking support is needed for USB Network Adapter support"
5         depends on USB && !NET
7 menu "USB Network Adapters"
8         depends on USB && NET
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
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.
27           To compile this driver as a module, choose M here: the
28           module will be called catc.
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
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.
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.
66           To compile this driver as a module, choose M here: the
67           module will be called kaweth.
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/net/usb/pegasus.h> for the
75           complete list of supported devices.
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.
81           To compile this driver as a module, choose M here: the
82           module will be called pegasus.
84 config 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/>.
93           To compile this driver as a module, choose M here: the
94           module will be called rtl8150.
96 config USB_USBNET
97         tristate "Multi-purpose USB Networking Framework"
98         select MII
99         ---help---
100           This driver supports several kinds of network links over USB,
101           with "minidrivers" built around a common network driver core
102           that supports deep queues for efficient transfers.  (This gives
103           better performance with small packets and at high speeds).
105           The USB host runs "usbnet", and the other end of the link might be:
107           - Another USB host, when using USB "network" or "data transfer"
108             cables.  These are often used to network laptops to PCs, like
109             "Laplink" parallel cables or some motherboards.  These rely
110             on specialized chips from many suppliers.
112           - An intelligent USB gadget, perhaps embedding a Linux system.
113             These include PDAs running Linux (iPaq, Yopy, Zaurus, and
114             others), and devices that interoperate using the standard
115             CDC-Ethernet specification (including many cable modems).
117           - Network adapter hardware (like those for 10/100 Ethernet) which
118             uses this driver framework.
120           The link will appear with a name like "usb0", when the link is
121           a two-node link, or "eth0" for most CDC-Ethernet devices.  Those
122           two-node links are most easily managed with Ethernet Bridging
123           (CONFIG_BRIDGE) instead of routing.
125           For more information see <http://www.linux-usb.org/usbnet/>.
127           To compile this driver as a module, choose M here: the
128           module will be called usbnet.
130 config USB_NET_AX8817X
131         tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
132         depends on USB_USBNET
133         select CRC32
134         default y
135         help
136           This option adds support for ASIX AX88xxx based USB 2.0
137           10/100 Ethernet adapters.
139           This driver should work with at least the following devices:
140             * Aten UC210T
141             * ASIX AX88172
142             * Billionton Systems, USB2AR
143             * Buffalo LUA-U2-KTX
144             * Corega FEther USB2-TX
145             * D-Link DUB-E100
146             * Hawking UF200
147             * Linksys USB200M
148             * Netgear FA120
149             * Sitecom LN-029
150             * Intellinet USB 2.0 Ethernet
151             * ST Lab USB 2.0 Ethernet
152             * TrendNet TU2-ET100
154           This driver creates an interface named "ethX", where X depends on
155           what other networking devices you have in use.
157 config USB_NET_CDCETHER
158         tristate "CDC Ethernet support (smart devices such as cable modems)"
159         depends on USB_USBNET
160         default y
161         help
162           This option supports devices conforming to the Communication Device
163           Class (CDC) Ethernet Control Model, a specification that's easy to
164           implement in device firmware.  The CDC specifications are available
165           from <http://www.usb.org/>.
167           CDC Ethernet is an implementation option for DOCSIS cable modems
168           that support USB connectivity, used for non-Microsoft USB hosts.
169           The Linux-USB CDC Ethernet Gadget driver is an open implementation.
170           This driver should work with at least the following devices:
172             * Dell Wireless 5530 HSPA
173             * Ericsson PipeRider (all variants)
174             * Ericsson Mobile Broadband Module (all variants)
175             * Motorola (DM100 and SB4100)
176             * Broadcom Cable Modem (reference design)
177             * Toshiba (PCX1100U and F3507g/F3607gw)
178             * ...
180           This driver creates an interface named "ethX", where X depends on
181           what other networking devices you have in use.  However, if the
182           IEEE 802 "local assignment" bit is set in the address, a "usbX"
183           name is used instead.
185 config USB_NET_CDC_EEM
186         tristate "CDC EEM support"
187         depends on USB_USBNET && EXPERIMENTAL
188         help
189           This option supports devices conforming to the Communication Device
190           Class (CDC) Ethernet Emulation Model, a specification that's easy to
191           implement in device firmware.  The CDC EEM specifications are available
192           from <http://www.usb.org/>.
194           This driver creates an interface named "ethX", where X depends on
195           what other networking devices you have in use.  However, if the
196           IEEE 802 "local assignment" bit is set in the address, a "usbX"
197           name is used instead.
199 config USB_NET_CDC_NCM
200         tristate "CDC NCM support"
201         depends on USB_USBNET
202         default y
203         help
204           This driver provides support for CDC NCM (Network Control Model
205           Device USB Class Specification). The CDC NCM specification is
206           available from <http://www.usb.org/>.
208           Say "y" to link the driver statically, or "m" to build a
209           dynamically linked module.
211           This driver should work with at least the following devices:
212             * ST-Ericsson M700 LTE FDD/TDD Mobile Broadband Modem (ref. design)
213             * ST-Ericsson M5730 HSPA+ Mobile Broadband Modem (reference design)
214             * ST-Ericsson M570 HSPA+ Mobile Broadband Modem (reference design)
215             * ST-Ericsson M343 HSPA Mobile Broadband Modem (reference design)
216             * Ericsson F5521gw Mobile Broadband Module
218 config USB_NET_DM9601
219         tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices"
220         depends on USB_USBNET
221         select CRC32
222         help
223           This option adds support for Davicom DM9601 based USB 1.1
224           10/100 Ethernet adapters.
226 config USB_NET_SMSC75XX
227         tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices"
228         depends on USB_USBNET
229         select CRC32
230         help
231           This option adds support for SMSC LAN95XX based USB 2.0
232           Gigabit Ethernet adapters.
234 config USB_NET_SMSC95XX
235         tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices"
236         depends on USB_USBNET
237         select CRC32
238         help
239           This option adds support for SMSC LAN95XX based USB 2.0
240           10/100 Ethernet adapters.
242 config USB_NET_GL620A
243         tristate "GeneSys GL620USB-A based cables"
244         depends on USB_USBNET
245         help
246           Choose this option if you're using a host-to-host cable,
247           or PC2PC motherboard, with this chip.
249           Note that the half-duplex "GL620USB" is not supported.
251 config USB_NET_NET1080
252         tristate "NetChip 1080 based cables (Laplink, ...)"
253         default y
254         depends on USB_USBNET
255         help
256           Choose this option if you're using a host-to-host cable based
257           on this design:  one NetChip 1080 chip and supporting logic,
258           optionally with LEDs that indicate traffic
260 config USB_NET_PLUSB
261         tristate "Prolific PL-2301/2302/25A1 based cables"
262         # if the handshake/init/reset problems, from original 'plusb',
263         # are ever resolved ... then remove "experimental"
264         depends on USB_USBNET && EXPERIMENTAL
265         help
266           Choose this option if you're using a host-to-host cable
267           with one of these chips.
269 config USB_NET_MCS7830
270         tristate "MosChip MCS7830 based Ethernet adapters"
271         depends on USB_USBNET
272         help
273           Choose this option if you're using a 10/100 Ethernet USB2
274           adapter based on the MosChip 7830 controller. This includes
275           adapters marketed under the DeLOCK brand.
277 config USB_NET_RNDIS_HOST
278         tristate "Host for RNDIS and ActiveSync devices (EXPERIMENTAL)"
279         depends on USB_USBNET && EXPERIMENTAL
280         select USB_NET_CDCETHER
281         help
282           This option enables hosting "Remote NDIS" USB networking links,
283           as encouraged by Microsoft (instead of CDC Ethernet!) for use in
284           various devices that may only support this protocol.  A variant
285           of this protocol (with even less public documentation) seems to
286           be at the root of Microsoft's "ActiveSync" too.
288           Avoid using this protocol unless you have no better options.
289           The protocol specification is incomplete, and is controlled by
290           (and for) Microsoft; it isn't an "Open" ecosystem or market.
292 config USB_NET_CDC_SUBSET
293         tristate "Simple USB Network Links (CDC Ethernet subset)"
294         depends on USB_USBNET
295         default y
296         help
297           This driver module supports USB network devices that can work
298           without any device-specific information.  Select it if you have
299           one of these drivers.
301           Note that while many USB host-to-host cables can work in this mode,
302           that may mean not being able to talk to Win32 systems or more
303           commonly not being able to handle certain events (like replugging
304           the host on the other end) very well.  Also, these devices will
305           not generally have permanently assigned Ethernet addresses.
307 config USB_ALI_M5632
308         boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
309         depends on USB_NET_CDC_SUBSET
310         help
311           Choose this option if you're using a host-to-host cable
312           based on this design, which supports USB 2.0 high speed.
314 config USB_AN2720
315         boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
316         depends on USB_NET_CDC_SUBSET
317         help
318           Choose this option if you're using a host-to-host cable
319           based on this design.  Note that AnchorChips is now a
320           Cypress brand.
322 config USB_BELKIN
323         boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
324         depends on USB_NET_CDC_SUBSET
325         default y
326         help
327           Choose this option if you're using a host-to-host cable
328           based on this design:  two NetChip 2890 chips and an Atmel
329           microcontroller, with LEDs that indicate traffic.
331 config USB_ARMLINUX
332         boolean "Embedded ARM Linux links (iPaq, ...)"
333         depends on USB_NET_CDC_SUBSET
334         default y
335         help
336           Choose this option to support the "usb-eth" networking driver
337           used by most of the ARM Linux community with device controllers
338           such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
339           in some PXA versions of the "blob" boot loader.
341           Linux-based "Gumstix" PXA-25x based systems use this protocol
342           to talk with other Linux systems.
344           Although the ROMs shipped with Sharp Zaurus products use a
345           different link level framing protocol, you can have them use
346           this simpler protocol by installing a different kernel.
348 config USB_EPSON2888
349         boolean "Epson 2888 based firmware (DEVELOPMENT)"
350         depends on USB_NET_CDC_SUBSET
351         help
352           Choose this option to support the usb networking links used
353           by some sample firmware from Epson.
355 config USB_KC2190
356         boolean "KT Technology KC2190 based cables (InstaNet)"
357         depends on USB_NET_CDC_SUBSET && EXPERIMENTAL
358         help
359           Choose this option if you're using a host-to-host cable
360           with one of these chips.
362 config USB_NET_ZAURUS
363         tristate "Sharp Zaurus (stock ROMs) and compatible"
364         depends on USB_USBNET
365         select USB_NET_CDCETHER
366         select CRC32
367         default y
368         help
369           Choose this option to support the usb networking links used by
370           Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
371           This also supports some related device firmware, as used in some
372           PDAs from Olympus and some cell phones from Motorola.
374           If you install an alternate image, such as the Linux 2.6 based
375           versions of OpenZaurus, you should no longer need to support this
376           protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
377           really need this non-conformant variant of CDC Ethernet (or in
378           some cases CDC MDLM) protocol, not "g_ether".
380 config USB_NET_CX82310_ETH
381         tristate "Conexant CX82310 USB ethernet port"
382         depends on USB_USBNET
383         help
384           Choose this option if you're using a Conexant CX82310-based ADSL
385           router with USB ethernet port. This driver is for routers only,
386           it will not work with ADSL modems (use cxacru driver instead).
388 config USB_NET_KALMIA
389         tristate "Samsung Kalmia based LTE USB modem"
390         depends on USB_USBNET
391         help
392           Choose this option if you have a Samsung Kalmia based USB modem
393           as Samsung GT-B3730.
395           To compile this driver as a module, choose M here: the
396           module will be called kalmia.
398 config USB_HSO
399         tristate "Option USB High Speed Mobile Devices"
400         depends on USB && RFKILL
401         default n
402         help
403           Choose this option if you have an Option HSDPA/HSUPA card.
404           These cards support downlink speeds of 7.2Mbps or greater.
406           To compile this driver as a module, choose M here: the
407           module will be called hso.
409 config USB_NET_INT51X1
410         tristate "Intellon PLC based usb adapter"
411         depends on USB_USBNET
412         help
413           Choose this option if you're using a 14Mb USB-based PLC
414           (Powerline Communications) solution with an Intellon
415           INT51x1/INT5200 chip, like the "devolo dLan duo".
417 config USB_CDC_PHONET
418         tristate "CDC Phonet support"
419         depends on PHONET
420         help
421           Choose this option to support the Phonet interface to a Nokia
422           cellular modem, as found on most Nokia handsets with the
423           "PC suite" USB profile.
425 config USB_IPHETH
426         tristate "Apple iPhone USB Ethernet driver"
427         default n
428         ---help---
429           Module used to share Internet connection (tethering) from your
430           iPhone (Original, 3G and 3GS) to your system.
431           Note that you need userspace libraries and programs that are needed
432           to pair your device with your system and that understand the iPhone
433           protocol.
435           For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
437 config USB_SIERRA_NET
438         tristate "USB-to-WWAN Driver for Sierra Wireless modems"
439         depends on USB_USBNET
440         help
441           Choose this option if you have a Sierra Wireless USB-to-WWAN device.
443           To compile this driver as a module, choose M here: the
444           module will be called sierra_net.
446 config USB_VL600
447         tristate "LG VL600 modem dongle"
448         depends on USB_NET_CDCETHER
449         select USB_ACM
450         help
451           Select this if you want to use an LG Electronics 4G/LTE usb modem
452           called VL600.  This driver only handles the ethernet
453           interface exposed by the modem firmware.  To establish a connection
454           you will first need a userspace program that sends the right
455           command to the modem through its CDC ACM port, and most
456           likely also a DHCP client.  See this thread about using the
457           4G modem from Verizon:
459           http://ubuntuforums.org/showpost.php?p=10589647&postcount=17
461 endmenu