[comp.unix.xenix] COM3 with Xenix 2.2.3

jamesd@lakesys.UUCP (James Dicke) (10/14/88)

I recently received Xenix 2.2.3 for my 286.  I have a problem though.
I wanted to use 3 phone modems with the system but later found out
that Xenix does not support COM3.  I have 1 internal modem configured
for COM1 and one single port serial card configured as COM2 (which is
attached to an external modem).  I also have a 2nd internal modem
configured as COM3 IRQ2 0x3E8.  Under DOS using PROCOMM this
configuration of the 3 COM ports works fine and I can use all 3
modems.  But, Xenix only recognizes COM1 and COM2 so those are the
only device drivers I could install.
 
Thing is, that since I know the IRQ and the data location I think it
would be simple enough just to configure another device driver to
handle the COM3 modem.  It also seems like this would be a common
problems so I would like to know if anyone out there has a device
driver written for COM3 or could help me figure out how to get these
3 modems working properly?
 
Any help would be greatly appreciated!  Thank you.
 
James Dicke
(414) 462-8973
 
P.S. I can configure the modem to IRQ5 COM4 if needed.

skrenta@eecs.nwu.edu (Richard Skrenta) (10/15/88)

I've got an older version of Xenix, but perhaps this will work on your system.
Try running /etc/serinit.  This is a shell script that configures various
serial devices.  On my system it puts up a menu asking what kind of device
you'd like to add (1 port, 4 port, 8 port card) and where it should go
(com1, com2, etc).

Rich Skrenta

MichaelNC@cup.portal.com (Michael Kent Brady) (10/18/88)

Or try  "mkdev serial"  

Mine allows COM1 thru COM4

michaelnc@cup.portal.com

reini@tolsun.oulu.fi (Jukka Reinikainen) (10/18/88)

In article <3700004@eecs.nwu.edu> skrenta@eecs.nwu.edu (Richard Skrenta) writes:
# I've got an older version of Xenix, but perhaps this will work on your system.
# Try running /etc/serinit.  This is a shell script that configures various
# serial devices.  On my system it puts up a menu asking what kind of device
# you'd like to add (1 port, 4 port, 8 port card) and where it should go
# (com1, com2, etc).

Does the kernel interrupt configuration support those interrupt lines
which are used by many internal modems when dip-switched to COM3 and
COM4?  If I remember right, the only interrupt lines supported for
COMs are those for COM1 and COM2 and if you want to use COM3 or COM4,
you have to reconfigure your kernel interrups somehow.  I'm not sure
about this, but if /etc/serinit (mkdev serial) doesn't help, this
may be the problem.
--
|-in real life: Jukka Reinikainen-+--------------------------------+----------|
| voice login: NOLOGIN            | uucp: ...!mcvax!tut!oulu!reini | foo-bar  |
| visual login: Hiidentie 2 C 44  | internet: reini@tolsun.oulu.fi | buffer   |
|-------------- 90550 OULU FINLAND+--------------------------------+----------|

chip@ateng.ateng.com (Chip Salzenberg) (10/19/88)

According to jamesd@lakesys.UUCP (James Dicke):
>I recently received Xenix 2.2.3 for my 286.  I have a problem though.
>I wanted to use 3 phone modems with the system but later found out
>that Xenix does not support COM3.  [...]

No problem (if you have the C compiler).  Just edit (if necessary) and
recompile the file "/usr/sys/io/sioconf.c".  This file contains the
I/O addresses and interrupt vectors for the recognized COMx devices.
You'll just need to add another IBM_BOARD entry.

BTW, I happen to know about this because I had to strip mine to the *bone*;
one of the recognized boards lives at the same I/O address as some custom
hardware we made, and our hardware doesn't respond well to the serial
driver. :-)
-- 
Chip Salzenberg             <chip@ateng.com> or <uunet!ateng!chip>
A T Engineering             Me?  Speak for my company?  Surely you jest!
	   Beware of programmers carrying screwdrivers.

richard@neabbs.UUCP (RICHARD RONTELTAP) (10/20/88)

[ Using COM3 by editing sioconf.c ]
 
Hey, that's interesting. I got an 4-port serial board lying here,
doing nothing, but what about the interrupts?
 
For standard COM1 and COM2 irq 4 and 3 are used. If I enable COM3 (and
maybe COM4), can I use the same interrupts, or do I have to use
another unused interrupt?
 
If the second is the case, which interrupts are 'free'?
 
Thanx in advance any tips!
 
Richard
(...!mcvax!neabbs!richard)

jbayer@ispi.UUCP (id for use with uunet/usenet) (10/20/88)

In article <10119@cup.portal.com>, MichaelNC@cup.portal.com (Michael Kent Brady) writes:
> Or try  "mkdev serial"  
> 
> Mine allows COM1 thru COM4

I have said it before, I will say it again.  RTFM!!!  Com3 and com4 are only 
for use on the Sperry IT 286 boxes (I don't know about the 386).  Sperry,
now known as Unisys, has some special logic on the board to handle com3 and
com4.  It is not available and will NOT work on any other computer.  Also,
the multiport cards which are supported each occupy either com1 or com2.  The
drivers take care of the different serial lines associated with each card.  This
is all very well documented in the Release Notes which accompany every copy of
the OS.  They should always be your first reference when working with
hardware.

Jonathan Bayer
Intelligent Software Products, Inc.

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (10/22/88)

In article <225@ispi.UUCP> jbayer@ispi.UUCP (id for use with uunet/usenet) writes:

| I have said it before, I will say it again.  RTFM!!!  Com3 and com4 are only 
| for use on the Sperry IT 286 boxes (I don't know about the 386).  Sperry,
| now known as Unisys, has some special logic on the board to handle com3 and
| com4.  It is not available and will NOT work on any other computer.  Also,

  I had a chance to get one of the Sperry boards, and called SCO to see
if it would work on non-Sperry systems. They told me it would. The
Sperry guy I got it from also indicated that they were running it in a
clone in the Sperry office (the customers get delivery on machines
before the offices).

  I haven't had a chance to try it yet, but all parties seem to think it
would work. The person I spoke with at SCO said that the whole story of
special support was not related to the board I have.

  Note I haven't tried it, I just asked the people who should know.
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

jbayer@ispi.UUCP (id for use with uunet/usenet) (10/25/88)

In article <12399@steinmetz.ge.com>, davidsen@steinmetz.ge.com (William E. Davidsen Jr) writes:
> In article <225@ispi.UUCP> jbayer@ispi.UUCP (id for use with uunet/usenet) writes:
> 
> | I have said it before, I will say it again.  RTFM!!!  Com3 and com4 are only 
> | for use on the Sperry IT 286 boxes (I don't know about the 386).  Sperry,
> | now known as Unisys, has some special logic on the board to handle com3 and
> | com4.  It is not available and will NOT work on any other computer.  Also,
> 
>   I had a chance to get one of the Sperry boards, and called SCO to see
> if it would work on non-Sperry systems. They told me it would. The
> Sperry guy I got it from also indicated that they were running it in a
> clone in the Sperry office (the customers get delivery on machines
> before the offices).
> 
>   I haven't had a chance to try it yet, but all parties seem to think it
> would work. The person I spoke with at SCO said that the whole story of
> special support was not related to the board I have.


According to the Release Notes with Xenix 2.2.3 (the relevent sections are
the same in 2.1.3, and 2.2.1, and 2.2.2), for Physical Ports OTHER1, and OTHER2
the UNISYS cards will only work on the UNISYS PC/IT.  This does not mean that
the cards will not work on other computers as COM1 or COM2.  It is referring to
the so-called COM3 and COM4 settings. 

It is also possible that we are talking about two different cards.  The lines
from the table in the mkdev serial script for these are below:


	|	 		Primary	Primary	 Alternate    Alternate |
	| Physical    Board	  I/O	Status	    I/O	       Status	|
	| Port	      Type	Address	Address	  Address      Address	|
	|===============================================================|
	| COM3	  |  Sperry    | 0x400  n/a	| none		n/a	|
	|---------|------------|----------------|-----------------------|
	| COM4	  |  Sperry    | 0x408  n/a	| none		n/a	|
	|_________|____________|________________|_______________________|


Jonathan Bayer
Intelligent Software Products, Inc.

reini@tolsun.oulu.fi (Jukka Reinikainen) (10/26/88)

In article <225@ispi.UUCP> jbayer@ispi.UUCP (id for use with uunet/usenet) writes:
>In article <10119@cup.portal.com>, MichaelNC@cup.portal.com (Michael Kent Brady) writes:
>> Or try  "mkdev serial"  
>> 
>> Mine allows COM1 thru COM4
>
>I have said it before, I will say it again.  RTFM!!!  Com3 and com4 are only 
>for use on the Sperry IT 286 boxes (I don't know about the 386).  Sperry,
>now known as Unisys, has some special logic on the board to handle com3 and
>com4.  It is not available and will NOT work on any other computer.  Also,

Wrong, Sperry IT is not the only one, I got com3 and com4 working on my
AT-clone which is *not* Sperry IT.  I have com1 and com2 on mother board,
an internal modem as com4 and a terminal line as com3.  Com1 is connected
to my old Racal-Vadic modem and com2 is for MS-Mouse.  Everything works fine.
Im using SCO Xenix version 2.2 and dev.sys version 2.1.3 (I think...).
What did I do?

1. I edited sioconf.c

      My internal modem card can use IO addresses 3f8,2f8,3e8 and 2e8
      which correspond com1,com2,com3 and com4 and IRQ lines IRQ3,IRQ4,
      IRQ5 and IRQ9.

      My 1-port rs-card can be configured as com1-com4, but com3 uses
      IO address 338/IRQ2 and com4 uses 238/IRQ5.

      I added new descriptors to sioconf.c for internal modem: IO 2e8 and
      IRQ5 (IRQ9 cannot be used), board type IBM_BOARD, port count 1,
      minor dev base 12, interrupt poll addr 0, increment 0 and for
      1-port rs-card: IO 338 and IRQ2, IBM_BOARD, port count 1, minor
      dev base 4, interrupt poll 0, increment 0.

2. I edited master

      master file contains information about different devices including
      interrupt vectors used.  Serial (marked sio) devices used originally
      IRQs 3,4,33 and 34.  I tried those my modem card supports: 3,4,5 and 9,
      but config program didn't like IRQ9, so I used IRQ2 instead.  IRQ5
      is used originally for second parallel adapter (centronics), the main
      parallel adapter is connected to IRQ7 so I used this unused IRQ5 for
      internal modem card.  I replaced the original IRQ5 on the pa
      (parallel) line with 0 and replaced the original vector count 2 with
      1.  This 'pa' line can be found in master file like 'sio' line. 
      Interrupt vector count is 4 for 'sio' line.

3. 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 (/comx).

4. reboot

      I rebooted my system and to the boot-prompt I entered comx (name of
      the new untested kernel).  Everything worked fine, com1, com2, com3
      and the internal modem as com4 were found.

So, it's not impossible...    :-)
--
|-in real life: Jukka Reinikainen-+--------------------------------+----------|
| voice login: NOLOGIN            | uucp: ...!mcvax!tut!oulu!reini | foo-bar  |
| visual login: Hiidentie 2 C 44  | internet: reini@tolsun.oulu.fi | buffer   |
|-------------- 90550 OULU FINLAND+--------------------------------+----------|