COM3 & COM4 under SCO Xenix ?
Mark J. DeFilippis
mark at promark.UUCP
Wed Mar 21 13:01:12 AEST 1990
In article <3347 at trantor.harris-atd.com>, wcurtiss at x102c.harris-atd.com (Curtiss WC 67625) writes:
> I am trying to install a serial card configured for COM3 and COM4 (INT 3 & 4,
> I/O Addr 3E8 & 2E8) in a machine which already has COM1 and COM2 (INT 3 & 4,
> I/O Addr 3F8 & 2F8). SCO says it can't be done and I should get a multiport
I saved this last time I saw it around. Hope it helps...
How to add comm3 and comm4
under
SCO Xenix
Coert Vonk
October 22, 1989
The basement of the following text was extracted from a usenet message
in comp.unix.xenix. It describes how to add additional IBM-Standard
COMM PORTS as comm3 and comm4 under SCO Xenix.
1. what do we have?
~~~~~~~~~~~~~~~~~~~~
IBM-Standard COMM PORTS may be characterized as:
name base irq
address
---------------------------
comm1 0x3f8 4
comm2 0x2f8 3
comm3 0x3e8 5
comm4 0x2e8 2
If you think this looks to organized I can set you at ease. At
the time IBM released his PC-XT/AT machines, only comm1 and
comm2 were defined. Pushed by the demand of the market clone
manufactures developed two other sio ports. Due to the lack of
concerted attention there exist almost more characteristics for
these ports than manufactures.
With the release of PS/2 machines IBM set the standard for the
comm3 and comm4 ports as represented above. Although all kinds
of sio ports may be added, I focus to the standard address and
irq of comm3. By the way if you intend to your another irq,
you could check if it's is currently in by the
/usr/sys/conf/vectorsinuse command (or read the master file
yourself, more about this later).
2. edit sioconf.c
~~~~~~~~~~~~~~~~~~
Add new a descriptor to /usr/sys/io/sioconf.c using an ordinary
text editor (i.e. vi,lyrix). It should have the format as
descripted in /usr/sys/io/sioconf.h :
int b_num; /* board number */
int b_type; /* each manufacturer gets a different one */
int b_pcnt; /* port count on the board */
int b_vec; /* interrupt vector */
int b_dev; /* minor dev base */
sd b_addr; /* base address of board */
int b_poll; /* interrupt poll addr */
int b_inc; /* increment (spacing) of io ports on board */
int b_outbits; /* value for OUT1/OUT2 bits in MCR */
Doing so we get:
{2,IBM_BOARD, 1,5,4, (sd)0x3e8,0, 0,MCRBIT3}, /*ibm COM3*/
Some remarks on this:
-- the next available IBM_BOARD board number is 2 (3 for comm4)
-- I use irq5 for the board (irq2 for comm4)
-- the minor device base is 4 (could be 12 for comm4)
-- the base address is 0x3e8 (0x2e8 for comm4)
3. edited master
~~~~~~~~~~~~~~~~~
The /usr/sys/conf/master file contains information about
different devices including interrupt vectors used. Serial
(marked sio) devices used originally irqs 3,4,33 and 34. The
irq33 and irq34 were originally placed in the table because
Xenix got confused by the comm3 or comm4 port, and took it for
a 4-port.
vec.cnt irqA irqB irqC irqD
-------------------------------------------------------------
sio 4 0577 104 sio 0 0 5 1 7 3 4 33 34
pa 2 0133 004 pa 0 0 6 1 2 5 7 0 0
When we correct this recognition problem we get:
sio 2 0577 104 sio 0 0 5 1 7 3 4 0 0
pa 2 0133 004 pa 0 0 6 1 2 5 7 0 0
If we want to use irq5 for comm3, we have to steal if from
parallel adapter. This brings the vector count for pa down to
1.
sio 2 0577 104 sio 0 0 5 1 7 3 4 0 0
pa 1 0133 004 pa 0 0 6 1 2 7 0 0 0
By now it is time to introduce my new comm port. Filling in
it's irq vector of 5, increments the sio vector count by one.
Yielding in:
sio 3 0577 104 sio 0 0 5 1 7 3 4 5 0
pa 1 0133 004 pa 0 0 6 1 2 7 0 0 0
I think now the time has come to make the machine contribute
his/her part ...
4. make
~~~~~~~~
I recompiled all modified sources with make (yes, you need
development system to do this) and copied the just linked new
kernel to the root directory (/xenix.comm3).
5. reboot
~~~~~~~~~~
I rebooted my system and to the boot-prompt I entered
xenix.comm3 (name of the new untested kernel). Everything
worked fine, comm1, comm2, and comm3 were found.
Help save the world! Communicate any problems and suggestions to me,
mcsun!hp4nl!neabbs!coertvnk (Coert Vonk).
____
By the way, I am interested in an internship at an American University. Any
ideas ..., please e-mail them.
____
/ / Uucp address: Mailing address:
/ ___ __ __ __/ mcsun!hp4nl!neabbs!coertvnk Eikstraat 17
/ / / /_/ / / Telephone: 4621 JL Bergen op Zoom
/___ /__/ /__ / /__ + 31 1640 42366 The Netherlands
--
Mark J. DeFilippis
SA @ Department of Mathematics and Computer Science
Adelphi University, Garden City, NY 11530 (516) 663-1170
UUCP: philabs!sbcs!bnlux0!adelphi!markd
More information about the Comp.unix.xenix
mailing list