b72458a80c
A driver for USB ADSL modems based on the ADI eagle chipset using the usb_atm infrastructure. The managing part was taken from bsd ueagle driver, other parts were written from scratch. The driver uses the in-kernel firmware loader : - to load a first usb firmware when the modem is in pre-firmware state - to load the dsp firmware that are swapped in host memory. - to load CMV (configuration and management variables) when the modem boot. (We can't use options or sysfs for this as there many possible values. See https://mail.gna.org/public/eagleusb-dev/2005-04/msg00031.html for a description of some) - to load fpga code for 930 chipset. The device had 4 endpoints : * 2 for data (use by usbatm). The incoming endpoint could be iso or bulk. The modem seems buggy and produce lot's of atm errors when using it in bulk mode for speed > 3Mbps, so iso endpoint is need for speed > 3Mbps. At the moment iso endpoint need a patched usbatm library and for this reason is not included in this patch. * One bulk endpoint for uploading dsp firmware * One irq endpoint that notices the driver - if we need to upload a page of the dsp firmware - an ack for read or write CMV and the value (for the read case). If order to make the driver cleaner, we design synchronous (read|write)_cmv : -send a synchronous control message to the modem -wait for an ack or a timeout -return the value if needed. In order to run these synchronous usb messages we need a kernel thread. The driver has been tested with sagem fast 800 modems with different eagle chipset revision and with ADI 930 since April 2005. Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
73 lines
2.3 KiB
Text
73 lines
2.3 KiB
Text
#
|
|
# USB/ATM DSL configuration
|
|
#
|
|
|
|
menu "USB DSL modem support"
|
|
depends on USB
|
|
|
|
config USB_ATM
|
|
tristate "USB DSL modem support"
|
|
depends on USB && ATM
|
|
select CRC32
|
|
default n
|
|
help
|
|
Say Y here if you want to connect a USB Digital Subscriber Line (DSL)
|
|
modem to your computer's USB port. You will then need to choose your
|
|
modem from the list below.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called usbatm.
|
|
|
|
config USB_SPEEDTOUCH
|
|
tristate "Speedtouch USB support"
|
|
depends on USB_ATM
|
|
select FW_LOADER
|
|
help
|
|
Say Y here if you have an SpeedTouch USB or SpeedTouch 330
|
|
modem. In order to use your modem you will need to install the
|
|
two parts of the firmware, extracted by the user space tools; see
|
|
<http://www.linux-usb.org/SpeedTouch/> for details.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called speedtch.
|
|
|
|
config USB_CXACRU
|
|
tristate "Conexant AccessRunner USB support"
|
|
depends on USB_ATM
|
|
select FW_LOADER
|
|
help
|
|
Say Y here if you have an ADSL USB modem based on the Conexant
|
|
AccessRunner chipset. In order to use your modem you will need to
|
|
install the firmware, extracted by the user space tools; see
|
|
<http://accessrunner.sourceforge.net/> for details.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cxacru.
|
|
|
|
config USB_UEAGLEATM
|
|
tristate "ADI 930 and eagle USB DSL modem"
|
|
depends on USB_ATM
|
|
select FW_LOADER
|
|
help
|
|
Say Y here if you have an ADSL USB modem based on the ADI 930
|
|
or eagle chipset. In order to use your modem you will need to
|
|
install firmwares and CMV (Command Management Variables); see
|
|
<https://gna.org/projects/ueagleatm/> for details.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ueagle-atm.
|
|
|
|
config USB_XUSBATM
|
|
tristate "Other USB DSL modem support"
|
|
depends on USB_ATM
|
|
help
|
|
Say Y here if you have a DSL USB modem not explicitly supported by
|
|
another USB DSL drivers. In order to use your modem you will need to
|
|
pass the vendor ID, product ID, and endpoint numbers for transmission
|
|
and reception as module parameters. You may need to initialize the
|
|
the modem using a user space utility (a firmware loader for example).
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called xusbatm.
|
|
|
|
endmenu
|