==========================================================================================
=                                                                                        =
=                   SUNIX PCI I/O Board Driver Installation Guide                        =
=                                                                                        =
=                               For Kernel 2.4.x                                         =
=                                                                                        =
=                                                               Version: 1.02            =
=                                                               Date: 07/11/2006         =
==========================================================================================

Item

A. Release note

B. Introduction

C. Distributions support

D. Installation
   D.1 Driver install
   D.2 Device node creation
	
E. Load driver on boot
   E.1 RedHat 8	
   E.2 RedHat 9
   E.3 Fedora Core 1 
   E.4 Suse 9.0
   E.5 Mandrake 9.0
	
F. Utility
   F.1  snxdump
   F.2  snxlink
	 F.3  snxterm	

==========================================================================================

A. Release note

	Support kernel 2.4.x only. Distributions support please refer to item C.
 
	Before install driver. Make sure system has c compiler and kernel development
	package.


	2006/07/11 - ver:1.02
		1) Add snxterm program into driver package.
		2) Fix read fcr register in driver and backup a fcr register data in struct.
									
------------------------------------------------------------------------------------------

B. Introduction

	Maximum 4 boards can be installed in combination,
	support SUNIX PCI Board below,

	1 port -
		4027A
		4027AL

	2 port -
		4036A
		4037A
		4037AL
		4027A
		8139
		8139S
		8139I
		8139SI

	4 port -
		4055WN
		4056WN (same as 4056A)
		4056A
		4056AL
		8159
		8159S
		8159I
		8159SI

	8 port -
		4066A
		4066R
		8169
		8169S
		8169I
		8169SI

------------------------------------------------------------------------------------------

C. Distributions support

	This driver support distributions as below.

	RedHat 8
	RedHat 9
	Fedora Core 1
	Suse 9.0
	Mandrake 9.0

------------------------------------------------------------------------------------------

D. Installation

	D.1 Driver install
		Please create a directory under root directory,  e.g /temp,
		commands as below.

		# cd /
		# mkdir temp

		After get driver file "sunix_2.4.tgz". Copy file to /temp
		directory, then extract and install, commands as below.

		# cp sunix_2.4.tgz /temp 
		# cd /temp
		# tar xvfz sunix_2.4.tgz
		# cd /temp/sunix_2.4
		# make install

		***********************************************************
		* If system is Suse 9.0  and errors occur when            *
		* execute "make install", please do commands below.       *
		*                                                         *
		* # cd /usr/src/linux/                                    *
		* # make cloneconfig                                      *
		* # make dep                                              * 
		*                                                         *
		* then do make install again in /temp/sunix_2.4           *
		***********************************************************

		Load driver module, please execute commands as below.

		# modprobe sunix
		or
		# insmod /temp/sunix_2.4/driver/sunix.o

		Check driver is loaded, execute command as below.
		# lsmod

		If want remove driver, execute command as below.
		# rmmod sunix


	D.2 Device node creation 
		Each serial port has two file node. One is dail in
		port which is named "ttySNX?", the other is call out
		port which is named "cux?". Do commands as below.
		
		# cd /temp/sunix_2.4/snxmknod
		# ./snxmknod

		This will create device nodes in /dev.

		If there are more than two boards installed, device
		nameing convention table as below.

		Board Number    Dail in port             Callout port
		1st board       ttySNX0  ~ ttySNX7       cux0  ~ cux7
		2nd board       ttySNX8  ~ ttySNX15      cux8  ~ cux15
		3rd board       ttySNX16 ~ ttySNX23      cux16 ~ cux23
		4th board       ttySNX24 ~ ttySNX31      cux24 ~ cux31

------------------------------------------------------------------------------------------

E. Load driver on boot
	
	E.1 RedHat 8
		After finish item C. Modify /etc/rc.d/rc.local for load driver
		 on boot. Use vi or other editor to open rc.local, and add
	  	"modprobe sunix" in last line.

	E.2 RedHat 9
		After finish item C. Modify /etc/rc.d/rc.local for load driver
		 on boot. Use vi or other editor to open rc.local, and add
	  	"modprobe sunix" in last line.

	E.3 Fedora Core 1
		After finish item C. Modify /etc/rc.d/rc.local for load driver 
		on boot. Use vi or other editor to open rc.local, and add 
	  	"modprobe sunix" in last line.

	E.4 Suse 9.0
		After finish item C.
		Modify /etc/rc.d/boot.local for load driver on boot. Use vi or
		other editor to open and add "modprobe sunix" in last line.
		Modify /etc/rc.d/halt.local for load driver on boot. Use vi or
		other editor to open, and add "rmmod sunix" in last line.

	E.5 Mandrake 9.0
		After finish item C. Modify /etc/rc.d/rc.local for load driver
		 on boot. Use vi or other editor to open rc.local, and add
	  	"modprobe sunix" in last line

------------------------------------------------------------------------------------------

F. Utility

	F1. snxdump - dump port information, command as below

		# snxdump

		the information should shows like as below.

		ttySNX0 --
		SUNIX 4037 series (bus:2 device: 9), base = d800, irq =  6

		ttySNX1 --
		SUNIX 4037 series (bus:2 device: 9), base = d808, irq =  6
 	           				.
			 			.
						.

		In this case, means ttySNX0 is the first port on SUNIX 4037
	   	series board , base address is 0xd800 and irq is 6.

		bus:2 means the bus number of board is 2.
		device:9 means the device number of board is 9.


		If no information print on screen. Make sure the device node
		in /dev are exist and driver alread loaded.


		If screen shows 'command not found' when execute snxdump.
		Do commands as below.

		# cd /temp/sunix_2.4/snxdump/
		# make install
		# ./snxdump or snxdump


	F2. snxlink - build softlink for ttySNX device node, command as below

		# snxlink

		commands are:
		?   help (this text)
		B   build soft link in /dev (for example, B ttySNX0 ttyS4)
		A   backup device node in /dev (for example, A ttyS4)
		R   remove device node in /dev (for example, R ttyS4)
		Q   program end
		Please enter command:

		
		command B: build soft link in /dev, for example

				b ttySNX0 ttyS4
				
			   	ttySNX0 is source device node file
				ttyS4 is softlink that want to build



		command A: backup device node in /dev, for example

				a ttyS4
			
				/dev/ttyS4 will rename to /dev/ttyS4.bak



		command R: remove device node in /dev, for example

				r ttyS4
			
				delete /dev/ttyS4 

		If screen shows 'command not found' when execute snxlink.
		Do commands as below.

		# cd /temp/sunix_2.4/snxlink/
		# make install
		# ./snxlink or snxlink


	F3. snxterm - dumb terminal for test tty device node transmitting and receiving

		# snxterm

		If screen shows 'command not found' when execute snxterm.
		Do commands as below.

		# cd /temp/sunix_2.4/snxterm/
		# make install
		# ./snxterm or snxterm	

------------------------------------------------------------------------------------------



































