Here it is at last!! Version 0.5 SI-Host driver for Linux.
 
These are the installation notes for the Specialix SI-Host driver for Linux.
This driver includes a modified version of drivers/char/n_tty.c  This is a
temporary measure to enable character cooking to be done by the hardware.
I hope to modify this in future versions.

YOU SHOULD MAKE A BACKUP OF YOUR SYSTEM BEFORE STARTING THIS.  THIS IS ALPHA
SOFTWARE.  IF YOU DON'T LIKE LIVING DANGEROUSLY THEN DON'T CONTINUE.  WAIT
A FEW MONTHS UNTIL THE DRIVER IS STABLE. I HAVEN'T LOST ANY DATA DUE TO THE
DRIVER (YET!) BUT THERE'S ALWAYS A FIRST TIME FOR EVERYTHING.



All directory names are relative to where you have the kernel source code.
This procedure will be automated in the future.  I haven't had time to create
a stable set of patch files yet.




Proceedure for installing and configuring the driver.
-----------------------------------------------------

Get a copy of at least the 1.1.35 kernel source code. Older versions *may* work
but you'll need one with Ted Tso's new tty stuff.

Make a backup copy of drivers/char/n_tty.c 

Copy the following files to the directory drivers/char
   si_serial.c
   si_serial.h
   si_download.c
   n_tty.c

Add the following line in tty_io.c between rs_init and pty_init
(it's right at the end of the file)
   kmem_start = si_init(kmem_start);

Add the si_serial.c to the makefile - (edit drivers/char/Makefile)
so that it looks something like the following :

   OBJS  = tty_io.o n_tty.o console.o keyboard.o serial.o \
      tty_ioctl.o pty.o vt.o mem.o si_serial.o \
      defkeymap.o

   SRCS  = tty_io.c console.c keyboard.c serial.c \
      tty_ioctl.c pty.c vt.c mem.c si_serial.c \
      defkeymap.c

Edit the file si_serial.h and modify the user selectable section to reflect
your setup and preferences.

Rebuild the kernel in the normal way.

Make device special files (again manually for now :-() in /dev
   mknod /dev/sitty1 c 30 0
   mknod /dev/sitty2 c 30 1
      .
      . for as many ports you have/wish to test.
      .
   mknod /dev/sitty32 c 30 31

The callout devices should be created similarly :
   mknod /dev/sicua1 c 31 0
   mknod /dev/sicua2 c 31 1
      .
      . for as many ports you have/wish to test.
      .
   mknod /dev/sicua32 c 31 31

There is a new method for allocating Major numbers in the kernel but this
will be OK for now.


And finally reboot with the new kernel ;-)



Your bound to have problems this early in the game. That's what it's all about!
When you do :

Let me know : Hardware, other i/f cards etc in your PC.

High memory ? Does the driver work for port addresses above 1Mb ?

Type of module (type=%x). When the system boots you should get a message
telling you what modules were found.  There will be a code along with this.
Could those of you that have XIO please let me know the codes you get?
The Specialix SDK doesn't tell you *EVERYTHING* !!

How well does driver co-exist with normal serial driver ?


I suggest you get system V style init/getty/login. It gives you more control.

I'm most interested in performance benchmarks at the moment. Would someone
like to benchmark the driver against a SCO driver ?

SLIP should work.  I've had it going but it'll probably need some work
PPP sould work too but I've not tried it.  There is a known SLIP/PPP bug in my
driver but it shouldn't stop SLIP/PPP working. Anyway let me know.

--

It is understood that you won't ask me general Unix questions. If you don't
know how to set up tty's in general then you shouldn't be doing alpha testing!
Wait until the driver is in beta testing - it won't be long now.


Anyway, I'm dying to hear from you about your success/failure. Please refer
to the comments in si_serial.c for more information. That will be the most
up to date anyway.


Cheers & Beers, Simon.


PS. Comments, criticism, flames and offers of liquid refreshment should go to
my usuall E-Mail address (it's in the top of si_serial.c)  Thanks for all
your help.

And REMEMBER, ***PLEASE*** do not give THIS version of the driver away !





