
FORE Systems PCA-200E/SBA-200E ATM NIC driver
---------------------------------------------

This driver adds support for the FORE Systems 200E-series ATM adapters
to the Linux operating system. It is based on the earlier PCA-200E driver
written by Uwe Dannowski.

The driver simultaneously supports PCA-200E and SBA-200E adapters on
i386, alpha (untested), powerpc, sparc and sparc64 archs.

The intent is to enable the use of different models of FORE adapters at the
same time, by hosts that have several bus interfaces (such as PCI+SBUS,
PCI+MCA or PCI+EISA).

Only PCI and SBUS devices are currently supported by the driver, but support
for other bus interfaces such as EISA should not be too hard to add (this may
be more tricky for the MCA bus, though, as FORE made some MCA-specific
modifications to the adapter's AALI interface).


Firmware Copyright Notice
-------------------------

Please read the fore200e_firmware_copyright file present
in the linux/drivers/atm directory for details and restrictions.


Firmware Updates
----------------

The FORE Systems 200E-series driver is shipped with firmware data being 
uploaded to the ATM adapters at system boot time or at module loading time. 
The supplied firmware images should work with all adapters.

However, if you encounter problems (the firmware doesn't start or the driver
is unable to read the PROM data), you may consider trying another firmware
version. Alternative binary firmware images can be found somewhere on the
ForeThought CD-ROM supplied with your adapter by FORE Systems.

You can also get the latest firmware images from FORE Systems at
http://www.fore.com. Register TACTics Online and go to
the 'software updates' pages. The firmware binaries are part of
the various ForeThought software distributions.

Notice that different versions of the PCA-200E firmware exist, depending
on the endianess of the host architecture. The driver is shipped with
both little and big endian PCA firmware images.

Name and location of the new firmware images can be set at kernel
configuration time:

1. Copy the new firmware binary files (with .bin, .bin1 or .bin2 suffix)
   to some directory, such as linux/drivers/atm.

2. Reconfigure your kernel to set the new firmware name and location.
   Expected pathnames are absolute or relative to the drivers/atm directory.

3. Rebuild and re-install your kernel or your module.


Feedback
--------

Feedback is welcome. Please send success stories/bug reports/
patches/improvement/comments/flames to <lizzi@cnam.fr>.
