==========================================================================================
=                                                                                        =	
=                   SUNIX PCI I/O Board Driver Installation Guide                        =
=                                                                                        =
=                               For Kernel 2.6.x                                         =
=                                                                                        =
=                                                               Version: 1.02            =	
=                                                               Date: 07/10/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  Fedora Core 2 
   E.2  Fedora Core 3
   E.3  Fedora Core 4
   E.4  Suse 9.1
   E.5  Suse 9.2
   E.6  Suse 9.3
   E.7  Suse 10.0
   E.8  Mandrake 10.0
   E.9  Mandrake 10.1
   E.10 Mandriva 2005
   E.11 Mandriva 2006
   E.12	RedHat Enterprise Linux AS 4.0
   E.13 RedHat Enterprise Linux ES 4.0

F. Utility
   F.1  snxdump
   F.2  snxlink
   F.3	snxterm

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

A. Release note

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

	
	2006/07/10 - 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.
		3) Test RedHat Enterprise Linux AS 4.0 and ES 4.0
		
------------------------------------------------------------------------------------------

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.

	Fedora Core 2 
	Fedora Core 3
	Fedora Core 4
	Suse 9.1
	Suse 9.2
	Suse 9.3
	Suse 10.0
	Mandrake 10.0
	Mandrake 10.1
	Mandriva 2005
	Mandriva 2006
	RedHat Enterprise Linux AS 4.0
	RedHat Enterprise Linux ES 4.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.6.tgz". Copy file to /temp
		directory, then extract and install, commands as below.

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


		Load driver module, please execute commands as below.

		# modprobe sunix
		or
		# insmod /temp/sunix_2.6/driver/sunix.ko

		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 one file node which is named "ttySNX?".
		Do commands as below.
		
		# cd /temp/sunix_2.6/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    Device Name
		1st board       ttySNX0  ~ ttySNX7
		2nd board       ttySNX8  ~ ttySNX15
		3rd board       ttySNX16 ~ ttySNX23
		4th board       ttySNX24 ~ ttySNX31

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

E. Load driver on boot
	
	E.1  Fedora Core 2
		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  Fedora Core 3
		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 4
		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.1
		After finish item C.
		Modify /etc/rc.d/boot.local for load driver on boot. Use vi or other
		editor to open boot.local, and add "modprobe sunix" in last line
		Modify /etc/rc.d/halt.local for unload driver on halt. Use vi or other
		editor to open halt.local, and add "rmmod sunix" in last line
		
		
	E.5  Suse 9.2
		After finish item C.
		Modify /etc/rc.d/boot.local for load driver on boot. Use vi or other
		editor to open boot.local, and add "modprobe sunix" in last line
		Modify /etc/rc.d/halt.local for unload driver on halt. Use vi or other
		editor to open halt.local, and add "rmmod sunix" in last line
	

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


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


	E.8  Mandrake 10.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


	E.9  Mandrake 10.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.10 Mandriva 2005
		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.11 Mandriva 2006
		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.12 RedHat Enterprise Linux AS 4.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
		

	E.13 RedHat Enterprise Linux ES 4.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.6/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.6/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.6/snxterm/
		# make install
		# ./snxterm or snxterm		
	
------------------------------------------------------------------------------------------



































