Index of /Brian/Projects/Equinox_Serial/eqnx-4.03
      Name                    Last modified       Size  Description

[DIR] Parent Directory 28-Mar-2002 14:48 - [SND] eqnx-4.03-1.src.rpm 28-Mar-2002 14:48 319k [   ] eqnx-cfg 28-Mar-2002 14:48 11k [   ] rpmvar 28-Mar-2002 14:48 1k

Equinox Super Serial (SST) Install Directions
---------------------------------------------

Installation
------------

NOTE: The installation procedure has been modified and is different compared
to previous releases.  Please read the following installation notes.
 
The Equinox Super Serial Technology (SST) software is distributed as a
standard source RPM.  
  
There are several steps required to do the full installation from the
source RPM.  These can be done automatically by using the installation
script eqnx-cfg or by manually performing each step.  The directions for
both procedures are described below.

It is generally recommended that automatic installation using eqnx-cfg be
used.

Automatic Installation Using eqnx-cfg
-------------------------------------

The eqnx-cfg script will perform all of the steps necessary to install the
Equinox SST eqnx product.  Plus it will also validate the target environment
which would indicate potential problems when building the driver.

NOTE: this is the recommended procedure to install the eqnx product.

From a terminal (console) window, do the following:

	1. Optionally, remove existing RPM, if installed:
	   (an existing eqnx product can be upgraded by using the -U
	   option to eqnx-cfg as mentioned in step #3).
	   rpm -ev eqnx -or- eqnx-cfg -vr

	2. Obtain and locate the source RPM and eqnx-cfg.  This may be 
	   obtained via ftp from the Equinox web-site (www.equinox.com), 
	   by floppy disk or cd-rom.

	   For floppy disk or cd-rom, mount the distribution media and cd
	   to the correct directory:

	   for floppy disk:
	   a. mount -t ext2 /dev/fd0 /mnt/floppy
	   b. cd /mnt/floppy

	   for cd-rom:
	   a. mount -t iso9660 /dev/cdrom /mnt/cdrom
	   b. cd /mnt/floppy/RPMS

	   NOTE: device name and mount points may vary between systems.

	3. Install the eqnx product using eqnx-cfg:

	   The simple procedure to install using eqnx-cfg:
	   ./eqnx-cfg

	   The script will also take options and parameters as follows:
	   ./eqnx-cfg [-U] [-v] [-o parms] [-d RPM dir] [eqnx-4.03-1.src.rpm]

	   The -U (upgrade) option upgrades an existing eqnx product.

	   The -v (verbose) option provides additional information during
	   the installation.

	   The -o (other parms) option is used to pass additional parameters
	   to the rpm command, such as " -o --nodeps" on Debian and Slackware 
	   systems.

	   The -d (RPM directory) option is used to specify the top level
	   RPM directory, such as /usr/src/redhat.  Generally, this option
	   is not needed, this value will be determined automatically.

	   The source RPM may be specified.  Otherwise, it will attempt to
	   locate and use a source RPM within the current directory.

	4. The eqnx-cfg creates a log file, /var/tmp/eqnx-log.  If the
	   installation fails, please read the log file.

	5. If a distribution media was mounted, unmount it:

	   cd /
	   umount <mount directory>	(/mnt/floppy, /mnt/cdrom, etc.)

Manual Installation
-------------------

From a terminal (console) window:

	1. Obtain and locate the source RPM.  This may be obtained via ftp
	   from the Equinox web-site (www.equinox.com), by floppy disk or
	   cd-rom.

	   For floppy disk or cd-rom, mount the distribution media and cd
	   to the correct directory:

	   for floppy disk:
	   a. mount -t ext2 /dev/fd0 /mnt/floppy
	   b. cd /mnt/floppy

	   for cd-rom:
	   a. mount -t iso9660 /dev/cdrom /mnt/cdrom
	   b. cd /mnt/floppy/RPMS

	   NOTE: device name and mount points may vary between systems.

	2. Install the source rpm:

	   rpm -ivh eqnx-4.03-1.src.rpm

	3. Build the binary rpm:

	   rpm -bb <rpm directory>/SPECS/eqnx.spec

	   NOTE: The location of the RPM directories may vary between systems.
	   Typical locations are listed at the end of this section.

	4. Install the binary rpm:

	   rpm -ivh <rpm directory>/RPMS/{arch}/eqnx-4.03-1.{arch}.rpm

	   NOTE 1 : The location of the RPM directories may vary between 
	   systems.

	   NOTE 2 : The upgrade option, -U, may be used instead of -i option
	   to upgrade an existing RPM.  See NOTE 3 below.

	5. Load driver and create device files:

	   /etc/rc.d/init.d/eqnx start

	   NOTE 3: If an upgrade was done and the previous eqnx product
	   was an earlier version than 4.03, then the "restart" command
	   should be used instead of "start".

	6. Install the eqnx startup script so that the driver is loaded
	   and initialized at boot time. 

	   This varies based on distribution:
	   a. [for systems with chkconfig (Redhat, Mandrake, TurboLinux, etc)]
	      chkconfig --add eqnx
	   b. [for systems with /etc/rc.d/rcN.d directories (Suse, etc)]
	      ln -s /etc/rc.d/init.d/eqnx /etc/rc.d/rcN.d/S90eqnx
	      (where N=2,3,4,5)
	   c. [for systems with /etc/rcN.d directories (Debian, Caldera, etc)]
	      ln -s /etc/rc.d/init.d/eqnx /etc/rcN.d/S90eqnx
	      (where N=2,3,4,5)
	   d. [for systems with /etc/rc.d/rc.local (Slackware, etc)]
	      add "/etc/rc.d/init.d/eqnx start" to /etc/rc.d/rc.local

	   Alternatively, the script /usr/sbin/eqnx-installrc will attempt
	   to install the eqnx startup script automatically.

	7. If a distribution media was mounted, unmount it:

	   cd /
	   umount <mount directory>	(/mnt/floppy, /mnt/cdrom, etc.)

	Typical rpm locations:
	Redhat		/usr/src/redhat
	Mandrake	/usr/src/RPM
	Suse		/usr/src/packages
	Debian		/usr/src/redhat
	TurboLinux	/usr/src/turbo
	Caldera		/usr/src/OpenLinux
	Slackware	/usr/src/rpm


Installation Components
-----------------------

As a result of standard RPM installation, the following will be installed:

	* eqnx driver source			/var/tmp/eqnx-build/src/drv
	* eqnx diagnostic utilities source	/var/tmp/eqnx-build/src/utils
	  (ssmkn, ssrm, ssdiag and sstty)
	* diagnostic utilities 			/usr/bin
	  (ssmkn, ssrm, ssdiag and sstty)
	* installation script, eqnx-cfg		/usr/sbin
	* configuration information		/etc/eqnx
	* startup script			/etc/rc.d/init.d/eqnx

The eqnx driver and utilities will be built and installed during
the installation of the binary RPM package.

Removal
-------

The eqnx package can be un-installed using standard RPM tools (for
example by "rpm -ev eqnx" at a command prompt).  This removes
all components of the package and unloads the driver.

The eqnx package can also be un-installed using eqnx-cfg -r.  This optionally
will also remove the eqnx RPM components that exist on the system.

The removal will fail if the driver cannot be unloaded.  This is almost
always because the driver is being used by other processes.
Typically, this would be getty or mgetty processes
but it could be other processes as well.  These processes must be
terminated before the removal can succeed.

Upgrade
-------

An upgrade from an existing release can be done.  An upgrade will fail if
the existing driver is in use.

For manual installations, use the -U option when installing the binary
RPM.  See NOTE 2 and NOTE 3 in the section called "Manual Installation".

For installations using eqnx-cfg, the -U option should be specified when
invoking eqnx-cfg.

Dependencies
------------

The rpm package has a built-in dependencies on perl and ncurses.  For
some distributions, ncurses-devel is also required.

Installation Problems
---------------------

1. The SST software is only distributed as a source RPM.  On some systems, 
   it may be required to bypass the RPM dependency checks
   by adding the "--nodeps" option.  This is generally required on
   systems that do not distribute packages using RPM (such as Debian
   and Slackware).

2. Kernel source must be installed and configured on the target system.  
   Typically, the RPM for this is called 'kernel-source'.

3. The version of the running kernel must match the version of the
   of the installed kernel source.  For the running kernel, the version
   can be found by doing a 'uname -r'.  The version of the kernel source
   can be found by looking in the file
   /usr/src/linux-$VERSION/include/linux/version.h.

   Note that right after installation with some distributions, the version.h
   file may not be properly installed any may need to be initialized from
   the /usr/include/linux/version.h file.

4. It is required that the kernel configuration files match the
   currently running kernel.  Otherwise, there may be build or install
   problems with the driver.  The most critical kernel configuration
   items are:
   	CONFIG_SMP		(Symmetric multi-processing)
	CONFIG_MODVERSIONS	(Version information for modules)

SMP Systems
-----------

In order to properly run the SST driver on a symmetric multiprocessing 
system (SMP), two patches must be applied to the Linux kernel in order
to make the tty sub-system properly multi-threaded.  

1. Prior to the linux 2.2.15 kernel, serial port data could get lost
   if a port writer and a port reader were running concurrently on a
   multiprocessor system.  The fixes are in the following kernel files
   from the linux patchset #15:
	/usr/src/linux/drivers/char/n_tty.c
	/usr/src/linux/drivers/char/tty_io.c
	/usr/src/linux/drivers/char/tty_ioctl.c
	/usr/src/linux/drivers/net/ppp.c
	/usr/include/linux/tty.h
	/usr/include/linux/if_pppvar.h
							  
   This problem has been corrected in linux kernel releases 2.2.15 and
   later and also in linux 2.4 kernels.
								 
2. Serial ports can get into a "hung" state if a port writer and a port
   reader are running concurrently on a multiprocessor system and
   "canonical" mode processing is used.  This fix is only currently
   available in Linux 2.4.1 and later kernels.  To obtain a patch, contact
   Equinox Technical Support. 

INSTALL Notes
-------------

Full installation notes are installed by the rpm installation process.
These will usually be located at /usr/share/doc/eqnx-4.03/INSTALL.TXT (but may
be located under a different directory than /usr/share/doc on a specific
system).