(C)Copyright 1998-1999 SysKonnect.
All rights reserved

skfp.htm created 21-Oct-1999

Readme File for SKFP v1.07
SK-NET FDDI PCI driver for Solaris

This file contains




(1) Overview

This README explains how to install the SysKonnect FDDI-PCI network adapter
driver 'skfp' for Solaris 2.5.1, 2.6 and 7 on Intel machines.

Chapter  2 Contains a list of network adapters supported by this driver.

Chapter  3 General information on DLPI-API and other special files used
	   by the driver.

Chapter  4 Important Info on:
		-  Solaris Kernel parameters;
		-  Solaris 2.6 patches;
		-  TCP/IP configuration problems.

Chapter  5 Describes removal of a previous driver package.

Chapter  6 Describes the installation process.

Chapter  7 Describes how to install the driver at Solaris installation
           time (for Solaris 7 only).

Chapter  8 TCP/IP Configuration.

Chapter  9 Describes need and usage of advanced driver
	   configuration parameters.

Chapter 10 Describes the new functionality of the adapters LEDs
	   introduced by a new version of the SMT code.

Chapter 11 Development history.

(2) Supported Adapters

The network driver 'skfp' supports the following network adapters:

	*) SK-NET FDDI PCI series

(3) General Information

If you got this driver from the internet, it is delivered as a Solaris
software package which is packed via 'tar' and compressed via 'compress'.

If you got it on a CD, the software package is directly installable
from the CD.

You must log in as 'root' to install the driver.

The driver may be installed either manually or via the 'admintool'.
Both methods are described here.


INFORMATION ON THE DRIVER INTERFACE
-----------------------------------

This driver is a DLPI 2.0 driver and provides DLPI STYLE 1 and 2 services.
It is a multi-threaded, loadable, clonable STREAMS hardware driver.
It is 'MPsafe' and should run on any single or multi-processor
hardware certified for Solaris 2.5.1 and higher.

The cloning, character-special device /dev/skfp is used to access all
SK-NET FDDI PCI adapters installed on the system using DLPI STYLE 2.

The character-special device /dev/skfp<ppa_number> can be used to access
a special NIC using DLPI STYLE 1 (e.g. /dev/skfp0).

All M_PROTO and M_PCPROTO type messages are interpreted as DLPI primitives.
In order for DLPI STYLE 2 to associate the opened stream with a particular
device (ppa) an explicit DL_ATTACH_REQ message must be issued by the user.
The ppa ID is interpreted as an unsigned long integer and indicates
the corresponding device instance (unit) number.

Please note that these 'device instance numbers' (ppa) are printed
by the driver to the CONSOLE window during installation and reboot
as well as being appended to the file /var/adm/messages.

(4) Important Environment Information

(4a) RECOMMENDED PATCHES FOR SOLARIS 2.5.1_x86:
-----------------------------------------------

The patches are described under

	http://sunsolve.sun.com/

Please install all recommended patches for Solaris 2.5.1_x86 !

To reach a maximum of performance on TCP/IP we strongly recommend
using Solaris 2.6_x86 .
The difference is significant !
	


(4b) RECOMMENDED PATCHES FOR SOLARIS 2.6_x86:
---------------------------------------------

We strongly recommend installing following patches:

	- 105215-01
	- 105217-01
	- 105402-01
	- 105427-01
	- 105530-01 (new tcp-driver !!)


The patches are described under

	http://sunsolve.sun.com/

but are currently only available for users with a SUN service contract.

They are '*tar.Z' files and can be easily installed after extraction
by typing

e.g.:
	cd <your_installation_directory>/105530-01
	./installpatch .


(4c) DMA MEMORY AND USE OF MORE THAN ONE NIC
--------------------------------------------

If multiple NICs are installed in the system, the following
message may appear on the console and in the log file
'/var/adm/messages' :

	"skfp: DMA memory allocation failed !"


This message can be prevented by tuning a special kernel parameter
called 'lomempages'. The default value for this parameter is 36 pages.
Each SK-FDDI PCI adapter requires 9 pages. Since other network adapters
may also take pages from this pool, we recommended increasing this value
in steps of 9 pages until all NICs in the system are running correctly.

To change this parameter, carry out the following steps:

	- edit '/etc/system'
	- add the line

		set lomempages=45

	  to set the poolsize to e.g. 45 pages.
	- reboot the system.


(4d) TCP/IP CONFIGURATION IS NOT CARRIED OUT AUTOMATICALLY DURING REBOOT
------------------------------------------------------------------------

On some machines the 'netstat -i' command does not display the
'skfp*' interfaces after rebooting even though the following
files are correctly configured:

	/etc/hosts
	/etc/netmasks
	/etc/hostname.skfp* (one file for each adapter)

	(For complete configuration information please refer to
	chapter 'TCP/IP configuration' at the end of this file)

To solve this problem :

	Log in as user 'root'.
	Type:
		cd /etc/rcS.d
		cp S30rootusr.sh S61rootusr.sh
	Reboot the machine e.g. using 'init 6'.

	This trick changes the timing of the TCP/IP configuration to
	give Solaris the chance to run automatic driver attachment.
	Negative side-effects of this workaround are not known.

(5) De-Installation

Login as 'root' and choose one of the following methods:

a) Manual De-Installation (fast and easy):

		'pkgrm SKfp'

	Answer all questions with 'yes'...

   - If you wish to remove SKfp completely, also remove
     the corresponding lines in the files:

	'/etc/hosts'
	'/etc/netmasks'


     If updating to a new driver version then these files
     need not be touched.

   - If you did not install from CD,
     either rename or remove the 'SKfp' directory
     from your installation directory (e.g. /opt/SKfp)


b) Using 'admintool':

	Start the admintool and choose the menu 'BROWSE'.
	Select SOFTWARE from this menu.
	The 'admintool' will now work for a few seconds...

	Select the package SKfp.

	Select the 'Edit' menu and then 'Delete'.

	Answer all questions with 'yes'...

   - If you wish to remove SKfp completely, also remove
     the corresponding lines in the files:

	'/etc/hosts'
	'/etc/netmasks'


     If updating to a new driver version then these files
     need not be touched.

   - If you did not install from CD,
     either rename or remove the 'SKfp' directory
     from your installation directory (e.g. /opt/SKfp)

(6) Installation

Please note, you are not required to reboot the system after successful
installation, even though such a message appears requesting that you do so.

If you got the driver from the internet (file: 'SKfp.tar.Z'), follow
those steps:

Step 0:	Before installing a new driver, ensure that any older versions
	of the driver have been removed from the system. Refer to the steps
	in chapter "DE-INSTALLATION".

Step 1:	Log in as 'root'. If you wish to run the installation using the
	'admintool' then you should also start your desktop (e.g. openwin)
	from a 'root' shell.

Step 2: Copy the file SKfp.tar.Z into your installation directory (e.g. /opt).

Step 3: Change your current directory to the installation directory.

Step 4:	Type 'uncompress SKfp.tar.Z'.

Step 5:	(NOTE:	If the directory SKfp still exists for an older
		driver version, either rename it or remove it.
		Failing to do so will cause the following extraction to
		mix the old files with the new ones.)

	Extract the 'tar' file by typing 'tar xvf SKfp.tar' .
	This will result in the subdirectory 'SKfp' being created in
	your installation directory.

If you have the driver on a CD, you also need the steps 0 and 1 above,
but you can skip 2-5. Instead, find the installation directory on the CD.

Step 6: During installation, you will be asked for the device-name,
	IP-address and IP-netmask for your adapter(s). Carefully read
	the hints on the screen before entering the information.
	
        Please choose one of the following installation methods:
	
	a) Manual Installation:

		From the installation directory (e.g. /opt),
		type :
			'pkgadd -d . SKfp'

		and answer the questions in the installation window.

	b) Using 'admintool':

		Start the admintool and choose the menu 'BROWSE'.
		Select SOFTWARE from the menu.
		The 'admintool' will now work for a few seconds...

		Select the 'Edit' menu and then 'Add'.
		The window 'Set Source Media' now opens.
		Select 'Harddisk' and enter the installation path
		(e.g. /opt).

		The software package 'SKfp' now appears.
		Select this package and press the 'Add' button displayed
		at the bottom of the window.

		Answer the questions in the installation window.

		Please note, even though installation was successful
		the package may not be visible in the 'Software' window
		of the 'Admintool'. In this case, restart the admintool
		or toggle 'Browse: User', 'Browse: Software' in the
		Browse menu. This will cause the package list to be
		rebuilt and the new package will now be visible.


	If the installation was successful the driver is 'alive' and
	prints its boot-string (including the version)
	Additionally, the message 'skfp: ATTACH to device instance number...'
	is printed for each adapter that is found.
	These messages are printed to the CONSOLE and appended to
	'/var/adm/messages'.
	Your network interface is visible with 'netstat -i' now and
	is fully functional.

(7) Inclusion at System-Installation

This chapter describes how the adapter driver can be installed
during the operating system installation. This works only for
Solaris 7 on x86-machines.
You need a running Solaris system to create the installation floppy.
If you got this driver on CD, the driver directory contains a
file named "skfp.dd". If you got it from the internet, you can also
download a seperate file named "skfp.dd.Z". Get and uncompress this file.

The skfp.dd file is a floppy disk image. Write it to a floppy disk
(WARNING: the previous contents of this disk will be lost).
To do this, insert the floppy disk, change into the directory where the
disk image is and use the following command:
    dd if=skfp.dd of=/dev/fd0
If you get an error message "Device busy", you have to disable the
volume manager (as root, enter: "cd /etc/rc2.d; ./S92volmgt stop")
and reenable it afterwards (as root, enter: "cd /etc/rc2.d; S92volmgt
start").
You now have a driver update disk which can be used to add the driver
during installation.

When you start the Solaris installation, you boot your system from
the Device Configuration Assistant disk. In the first screen, you
have the choice of using a driver update disk. Follow the steps
described there, using the disk you created.

(8) TCP/IP Configuration

This chapter is not needed any more, since all configuration is done by
the installation scripts now.
You only need to read it if you want to know what steps are invoked in
installing a network adapter, or if you want to add more adapters to
an existing configuration without removing and reinstalling the driver
package.

As mentioned above, the message 'skfp: ATTACH to device instance number...'
is printed for EACH supported network adapter during installation
and during reboot.

These 'device instance numbers' are important for the configuration
of TCP/IP:

	- If you did not have the chance to read the messages on the
	  CONSOLE then please edit '/var/adm/messages' and carry out
	  a reverse search of this file for the following items:
		'skfp' or 'ATTACH'

	- If the file '/var/adm/messages' does not exist on your system
	  then login as root and type 'touch /var/adm/messages'.
	  Reboot the system and you will now be able to search the
	  the message file '/var/adm/messages' as described above.

	- Edit the '/etc/hosts' file and add one line per adapter
	  for which TCP/IP is to be installed:

	  Syntax:	<IP address><Blanks or TAB><Name for this board>

	  E.g. if you added two SK-NET FDDI PCI adapters to the
	  system, each adapter must be assigned a name of your choice
	  and the following 2 lines be appended to the file '/etc/hosts',


	  '192.9.219.1	backbone_net'
	  '192.9.222.54	fddiresearch'


	- Edit '/etc/netmasks' and add one line per adapter for which TCP/IP
	  is to be installed:

	  Syntax:	<IP address><Blanks or TAB><netmask>

	  E.g. if you added two SK-NET FDDI PCI adapters to the
	  system, the following 2 lines must be appended to the file
	  '/etc/netmasks':

	  '192.9.219.0	255.255.255.0'
	  '192.9.222.0	255.255.255.0'


	- Create '/etc/hostname.skfp<device_instance_number>' for
	  each network adapter for which TCP/IP is to be installed.

	  E.g. if you added two SK-NET FDDI PCI adapters, then
	  the following messages will have appeared during installation
	  and at reboot:

	  'skfp: ATTACH to device instance number: 0'
	  'skfp: ATTACH to device instance number: 2'

	  In this case, you would need to create the following files:

		'/etc/hostname.skfp0' AND
		'/etc/hostname.skfp2'.


	  Each file should contain only one entry: the host name associated
	  with the network interface as defined in the file '/etc/hosts'.

	  To continue our example you would create

		  File to create   |	Contents of this file (1 word)
	  -------------------------|---------------------------------
	     /etc/hostname.skfp0   |	backbone_net
				   |
	     /etc/hostname.skfp2   |	fddiresearch


	- Now type 'touch /reconfigure'.


	- Reboot the machine.


	- After reboot:
	  Check the success of the TCP/IP configuration by typing
	  'netstat -i'.
	  For each SK-NET FDDI PCI adapter for which TCP/IP is
	  configured, an entry beginning with 'skfp' should be displayed.

	  Additionally, you may check the configuration using 'ifconfig -a'.


	  NOTE: If 'netstat -i' does not show any entry containing
		'skfp' then please carry out the following:

		Log in as 'root' and type :

			cd /etc/rcS.d
			cp S30rootusr.sh S61rootusr.sh

		Reboot the machine e.g. using 'init 6'.

		This trick changes the timing of the TCP/IP configuration to
		give Solaris the chance to run automatic driver attachment.
		Negative side-effects of this workaround are not known.


Each adapter should, of course, have a unique IP address and should
respond to any 'ping' or 'ping -s' requests from other hosts
on the FDDI ring.

Additional tip: Check the current routing table 'netstat -r'...

(9) Advanced Driver Parameters

This chapter is only important in very special cases
and the advanced driver parameters can be left unchanged
in most environments.

Please note that changing these parameters especially should
not be done to increase the results of known network
benchmarks.

The main purpose for customers is the SYNCHRONOUS MODE:
It offers the possibility to preserve bandwidth for one
or more servers within the FDDI ring.

A good example is an environment of one multimedia server,
one file server and a set of clients in one FDDI ring:
The multimedia server should be able to send always e.g. 60 MBit/s
if it is requested to, even when there is much traffic between
the file server and some clients.
The multimedia server can then be configured to allocate a
constant bandwidth.
When the allocated bandwidth is not used, the free capacity on
the ring can be used by other stations as usual.


HOW TO CHANGE PARAMETERS
------------------------

Please use the utility 'smtpara' and the configuration file
'/etc/fddi.cfg' (or a modified copy of it) to change any advanced
parameter values.

Both are members of the driver package and will be extracted to
	/usr/bin/smtpara
	/etc/fddi.cfg
during installation of the driver.

Please type '/usr/bin/smtpara' without any arguments to see a small help.

The configuration file 'fddi.cfg' is an example and contains
the default parameter values after a new installation.

Before you modify these parameters we strongly recommend the documentation
'smtdocu.txt' that is also part of the driver package.
It is located in
	<installation_directory>/SKfp/install/smtdocu.txt.

	(Normally <installation_directory> is '/opt'.)


HOW TO RECOVER ORIGINAL DEFAULT VALUES
--------------------------------------

To recover the original default values you only need to reboot
the machine.
On reboot, no configuration file is evaluated, so it doesn't matter
if the values in '/etc/fddi.cfg' make sense or not.
So a configuration file is only needed to change the default configuration
that is always valid after a reboot.

(10) Function of the adapter LEDs

The functionality of the LED's on the FDDI network adapters was
changed in SMT version v2.82. With this new SMT version, the yellow
LED works as a ring operational indicator. An active yellow LED
indicates that the ring is down. The green LED on the adapter now
works as a link indicator where an active GREEN LED indicates that
the respective port has a physical connection.

With versions of SMT prior to v2.82 a ring up was indicated if the
yellow LED was off while the green LED(s) showed the connection
status of the adapter. During a ring down the green LED was off and
the yellow LED was on.

All implementations indicate that a driver is not loaded if
all LEDs are off.

(11) History

Version 1.07 (06. Oct 1999)
    Problems fixed:
	- Driver panic'ed with debug kernel
    Known limitations:
	- None

Version 1.06 (19. Jul 1999)
    Problems fixed:
	- "modinfo" string was too long
    Known limitations:
	- None

Version 1.05 (28. Jun 1999)
    Problems fixed:
	- Installation failure with multiple adapters
	- STUCK timer was not restarted when become beaconer in
	  state RM3_DETECT or RM4_NON_OP_DUP
	- dual homing on multi adapters did not work
	  correctly. The adapters influenced each other
	- A bug in the SUPERNET_3 workaround which
	  caused the station to hang if the SUPERNET_3 bug
	  occured during signaling. (#10285)
	- RMT enters the RM4 (Duplicate Mac Adress) state 
	  under wrong conditions. (#10375)
	- A wrong multicast adress was used for directed 
	  beacons. (#10373)
	- UDF bit has been set while clearing the error bits
	  in the PCI status register (#10350).
    New features:
	- The behaviour of the adapters LED's was changed.
	  Green LEDs will now work as port link status indicator and
	  the yellow as ring operational status indicator (#10283)
	  (See also chapter 10 above)
    Known limitations:
	- None

Version 1.04 (4. May 1999)
    Problems fixed:
	- Memory leak at unloading the driver
    Known limitations:
	- None

Version 1.03  (2. Oct 1998)
    New Features:
	- IP configuration during package install
    Known limitations:
	- None
	
Version 1.02 (7. Sep 1998)
    Problems fixed:
	- Multicast failure
    Known limitations:
	- None
	
Version 1.01 (1. Jul 1998)
    New Features:
        - Support for 64 bit
    Known limitations:
	- None
	
Version 1.00 (8. Apr 1998)
    Known limitations:
	- Changed advanced driver configuration parameters
	  are not boot resistent.

*** ---- End Of Readme ---- ***