fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / usb / net / Kconfig
index 5d5881d..e081836 100644 (file)
@@ -1,15 +1,15 @@
 #
 # USB Network devices configuration
 #
-comment "USB Network adaptors"
-       depends on USB
-
-comment "Networking support is needed for USB Networking device support"
+comment "Networking support is needed for USB Network Adapter support"
        depends on USB && !NET
 
+menu "USB Network Adapters"
+       depends on USB && NET
+
 config USB_CATC
        tristate "USB CATC NetMate-based Ethernet device support (EXPERIMENTAL)"
-       depends on USB && NET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        select CRC32
        ---help---
          Say Y if you want to use one of the following 10Mbps USB Ethernet
@@ -29,7 +29,6 @@ config USB_CATC
 
 config USB_KAWETH
        tristate "USB KLSI KL5USB101-based ethernet device support"
-       depends on USB && NET
        ---help---
          Say Y here if you want to use one of the following 10Mbps only
          USB Ethernet adapters based on the KLSI KL5KUSB101B chipset:
@@ -69,7 +68,6 @@ config USB_KAWETH
 
 config USB_PEGASUS
        tristate "USB Pegasus/Pegasus-II based ethernet device support"
-       depends on USB && NET
        select MII
        ---help---
          Say Y here if you know you have Pegasus or Pegasus-II based adapter.
@@ -85,7 +83,7 @@ config USB_PEGASUS
 
 config USB_RTL8150
        tristate "USB RTL8150 based ethernet device support (EXPERIMENTAL)"
-       depends on USB && NET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        help
          Say Y here if you have RTL8150 based usb-ethernet adapter.
          Send me <petkan@users.sourceforge.net> any comments you may have.
@@ -94,15 +92,19 @@ config USB_RTL8150
          To compile this driver as a module, choose M here: the
          module will be called rtl8150.
 
+config USB_USBNET_MII
+       tristate
+       default n
+
 config USB_USBNET
        tristate "Multi-purpose USB Networking Framework"
-       depends on USB && NET
+       select MII if USBNET_MII != n
        ---help---
          This driver supports several kinds of network links over USB,
          with "minidrivers" built around a common network driver core
          that supports deep queues for efficient transfers.  (This gives
          better performance with small packets and at high speeds).
-         
+
          The USB host runs "usbnet", and the other end of the link might be:
 
          - Another USB host, when using USB "network" or "data transfer"
@@ -128,38 +130,63 @@ config USB_USBNET
          To compile this driver as a module, choose M here: the
          module will be called usbnet.
 
-comment "USB Host-to-Host Cables"
-       depends on USB_USBNET
-
-config USB_ALI_M5632
-       boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
-       depends on USB_USBNET
+config USB_NET_AX8817X
+       tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
+       depends on USB_USBNET && NET_ETHERNET
+       select CRC32
+       select USB_USBNET_MII
        default y
        help
-         Choose this option if you're using a host-to-host cable
-         based on this design, which supports USB 2.0 high speed.
+         This option adds support for ASIX AX88xxx based USB 2.0
+         10/100 Ethernet adapters.
 
-config USB_AN2720
-       boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
-       depends on USB_USBNET
-       default y
-       help
-         Choose this option if you're using a host-to-host cable
-         based on this design.  Note that AnchorChips is now a
-         Cypress brand.
+         This driver should work with at least the following devices:
+           * Aten UC210T
+           * ASIX AX88172
+           * Billionton Systems, USB2AR
+           * Buffalo LUA-U2-KTX
+           * Corega FEther USB2-TX
+           * D-Link DUB-E100
+           * Hawking UF200
+           * Linksys USB200M
+           * Netgear FA120
+           * Sitecom LN-029
+           * Intellinet USB 2.0 Ethernet
+           * ST Lab USB 2.0 Ethernet
+           * TrendNet TU2-ET100
 
-config USB_BELKIN
-       boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
+         This driver creates an interface named "ethX", where X depends on
+         what other networking devices you have in use.
+
+
+config USB_NET_CDCETHER
+       tristate "CDC Ethernet support (smart devices such as cable modems)"
        depends on USB_USBNET
        default y
        help
-         Choose this option if you're using a host-to-host cable
-         based on this design:  two NetChip 2890 chips and an Atmel
-         microcontroller, with LEDs that indicate traffic.
+         This option supports devices conforming to the Communication Device
+         Class (CDC) Ethernet Control Model, a specification that's easy to
+         implement in device firmware.  The CDC specifications are available
+         from <http://www.usb.org/>.
 
-config USB_GENESYS
-       boolean "GeneSys GL620USB-A based cables"
-       default y
+         CDC Ethernet is an implementation option for DOCSIS cable modems
+         that support USB connectivity, used for non-Microsoft USB hosts.
+         The Linux-USB CDC Ethernet Gadget driver is an open implementation.
+         This driver should work with at least the following devices:
+
+           * Ericsson PipeRider (all variants)
+           * Motorola (DM100 and SB4100)
+           * Broadcom Cable Modem (reference design)
+           * Toshiba PCX1100U
+           * ...
+
+         This driver creates an interface named "ethX", where X depends on
+         what other networking devices you have in use.  However, if the
+         IEEE 802 "local assignment" bit is set in the address, a "usbX"
+         name is used instead.
+
+config USB_NET_GL620A
+       tristate "GeneSys GL620USB-A based cables"
        depends on USB_USBNET
        help
          Choose this option if you're using a host-to-host cable,
@@ -167,30 +194,87 @@ config USB_GENESYS
 
          Note that the half-duplex "GL620USB" is not supported.
 
-config USB_NET1080
-       boolean "NetChip 1080 based cables (Laplink, ...)"
+config USB_NET_NET1080
+       tristate "NetChip 1080 based cables (Laplink, ...)"
        default y
        depends on USB_USBNET
        help
          Choose this option if you're using a host-to-host cable based
-         on this design:  one NetChip 1080 chips and supporting logic,
-         supporting LEDs that indicate traffic
+         on this design:  one NetChip 1080 chip and supporting logic,
+         optionally with LEDs that indicate traffic
 
-config USB_PL2301
-       boolean "Prolific PL-2301/2302 based cables"
-       default y
-       # handshake/init/reset problems, from original 'plusb' driver
+config USB_NET_PLUSB
+       tristate "Prolific PL-2301/2302 based cables"
+       # if the handshake/init/reset problems, from original 'plusb',
+       # are ever resolved ... then remove "experimental"
        depends on USB_USBNET && EXPERIMENTAL
        help
          Choose this option if you're using a host-to-host cable
          with one of these chips.
 
-comment "Intelligent USB Devices/Gadgets"
+config USB_NET_MCS7830
+       tristate "MosChip MCS7830 based Ethernet adapters"
+       depends on USB_USBNET
+       select USB_USBNET_MII
+       help
+         Choose this option if you're using a 10/100 Ethernet USB2
+         adapter based on the MosChip 7830 controller. This includes
+         adapters marketed under the DeLOCK brand.
+
+config USB_NET_RNDIS_HOST
+       tristate "Host for RNDIS devices (EXPERIMENTAL)"
+       depends on USB_USBNET && EXPERIMENTAL
+       select USB_NET_CDCETHER
+       help
+         This option enables hosting "Remote NDIS" USB networking links,
+         as encouraged by Microsoft (instead of CDC Ethernet!) for use in
+         various devices that may only support this protocol.
+
+         Avoid using this protocol unless you have no better options.
+         The protocol specification is incomplete, and is controlled by
+         (and for) Microsoft; it isn't an "Open" ecosystem or market.
+
+config USB_NET_CDC_SUBSET
+       tristate "Simple USB Network Links (CDC Ethernet subset)"
        depends on USB_USBNET
+       help
+         This driver module supports USB network devices that can work
+         without any device-specific information.  Select it if you have
+         one of these drivers.
+
+         Note that while many USB host-to-host cables can work in this mode,
+         that may mean not being able to talk to Win32 systems or more
+         commonly not being able to handle certain events (like replugging
+         the host on the other end) very well.  Also, these devices will
+         not generally have permanently assigned Ethernet addresses.
+
+config USB_ALI_M5632
+       boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
+       depends on USB_NET_CDC_SUBSET
+       help
+         Choose this option if you're using a host-to-host cable
+         based on this design, which supports USB 2.0 high speed.
+
+config USB_AN2720
+       boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
+       depends on USB_NET_CDC_SUBSET
+       help
+         Choose this option if you're using a host-to-host cable
+         based on this design.  Note that AnchorChips is now a
+         Cypress brand.
+
+config USB_BELKIN
+       boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
+       depends on USB_NET_CDC_SUBSET
+       default y
+       help
+         Choose this option if you're using a host-to-host cable
+         based on this design:  two NetChip 2890 chips and an Atmel
+         microcontroller, with LEDs that indicate traffic.
 
 config USB_ARMLINUX
        boolean "Embedded ARM Linux links (iPaq, ...)"
-       depends on USB_USBNET
+       depends on USB_NET_CDC_SUBSET
        default y
        help
          Choose this option to support the "usb-eth" networking driver
@@ -198,82 +282,37 @@ config USB_ARMLINUX
          such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
          in some PXA versions of the "blob" boot loader.
 
+         Linux-based "Gumstix" PXA-25x based systems use this protocol
+         to talk with other Linux systems.
+
          Although the ROMs shipped with Sharp Zaurus products use a
          different link level framing protocol, you can have them use
          this simpler protocol by installing a different kernel.
 
 config USB_EPSON2888
        boolean "Epson 2888 based firmware (DEVELOPMENT)"
-       depends on USB_USBNET
-       default y
+       depends on USB_NET_CDC_SUBSET
        help
          Choose this option to support the usb networking links used
          by some sample firmware from Epson.
 
-config USB_ZAURUS
-       boolean "Sharp Zaurus (stock ROMs)"
+config USB_NET_ZAURUS
+       tristate "Sharp Zaurus (stock ROMs) and compatible"
        depends on USB_USBNET
+       select USB_NET_CDCETHER
        select CRC32
        default y
        help
          Choose this option to support the usb networking links used by
          Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
+         This also supports some related device firmware, as used in some
+         PDAs from Olympus and some cell phones from Motorola.
 
-         If you install an alternate ROM image, you may no longer need
-         to support this protocol.  Only the "eth-fd" driver really needs
-         this non-conformant variant of CDC Ethernet protocol.
-
-config USB_CDCETHER
-       boolean "CDC Ethernet support (smart devices such as cable modems)"
-       depends on USB_USBNET
-       default y
-       help
-         This option supports devices conforming to the Communication Device
-         Class (CDC) Ethernet Control Model, a specification that's easy to
-         implement in device firmware.  The CDC specifications are available
-         from <http://www.usb.org/>.
-         
-         CDC Ethernet is an implementation option for DOCSIS cable modems
-         that support USB connectivity, used for non-Microsoft USB hosts.
-         This driver should work with at least the following devices:
-
-           * Ericsson PipeRider (all variants)
-           * Motorola (DM100 and SB4100)
-           * Broadcom Cable Modem (reference design)
-           * Toshiba PCX1100U
-           * ...
-
-         This driver creates an interface named "ethX", where X depends on
-         what other networking devices you have in use.  However, if the
-         IEEE 802 "local assignment" bit is set in the address, a "usbX"
-         name is used instead.
-
-comment "USB Network Adapters"
-       depends on USB_USBNET
-
-config USB_AX8817X
-       boolean "ASIX AX88172 Based USB 2.0 Ethernet Devices"
-       depends on USB_USBNET && NET_ETHERNET
-       select CRC32
-       select MII
-       default y
-       help
-
-         This option adds support for ASIX AX88172 based USB 2.0
-         10/100 Ethernet devices.
-
-         This driver should work with at least the following devices:
-           * Aten UC210T
-           * ASIX AX88172
-           * D-Link DUB-E100
-           * Hawking UF200
-           * Linksys USB200M
-           * Netgear FA120
-           * Intellinet USB 2.0 Ethernet
-           * ST Lab USB 2.0 Ethernet
-           * TrendNet TU2-ET100
-
-         This driver creates an interface named "ethX", where X depends on
-         what other networking devices you have in use.  
+         If you install an alternate image, such as the Linux 2.6 based
+         versions of OpenZaurus, you should no longer need to support this
+         protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
+         really need this non-conformant variant of CDC Ethernet (or in
+         some cases CDC MDLM) protocol, not "g_ether".
 
 
+endmenu