[comp.unix.xenix] COM3 under XENIX 2.2.1

rosso@sco.COM (Ross Oliver) (03/14/88)

In article <2604@auscso.UUCP> jboede@auscso.UUCP (Jon Boede) writes:
>I have an ITT AT clone running XENIX 2.2.1 ... the problem is that I can't find
>a way to make a /dev/tty3[Aa] ... I have cards with COM1 and COM2 on them
>coming out of my ears and some internal modems that work on COM3 and COM4 with
>the (ack) DOS program ProComm.  
>
>Can one make a COM3 device on an ITT under 2.2.1?  If so, what are the major/
>minor device numbers??

Some internal modem and serial card manufacturers have extended the
standard IBM COM1 and COM2 I/O addresses to create COM3, COM4, COM5, etc.
Since DOS does not use an interrupt-driven serial driver, these extra
devices work fine.  However, the XENIX serial driver is interrupt-driven,
and only two interrupt vectors are allocated to the serial driver
(IRQ4 for COM1, IRQ3 for COM2).  Therefore, unless these cards can
change their interrupt vectors as well as their I/O address, they will
not work with XENIX.  If you need more than two serial ports, you can
try one of the multiport cards, which use only one vector.  Some of
the intelligent multiport cards can also use interrupts other than
3 or 4, so they can be used along with standard COM1 and COM2 devices.

Ross Oliver
SCO Technical Support

karl@ddsw1.UUCP (Karl Denninger) (03/17/88)

In article <645@nod2sco> rosso@sco.COM (Ross Oliver) writes:
>In article <2604@auscso.UUCP> jboede@auscso.UUCP (Jon Boede) writes:
>>I have an ITT AT clone running XENIX 2.2.1 ... the problem is that I can't find
>>a way to make a /dev/tty3[Aa] ... I have cards with COM1 and COM2 on them
>>coming out of my ears and some internal modems that work on COM3 and COM4 with
>>the (ack) DOS program ProComm.  
>>
>>Can one make a COM3 device on an ITT under 2.2.1?  If so, what are the major/
>>minor device numbers??
>
>Some internal modem and serial card manufacturers have extended the
>standard IBM COM1 and COM2 I/O addresses to create COM3, COM4, COM5, etc.
>Since DOS does not use an interrupt-driven serial driver, these extra
>devices work fine.  However, the XENIX serial driver is interrupt-driven,
>and only two interrupt vectors are allocated to the serial driver
>(IRQ4 for COM1, IRQ3 for COM2).  Therefore, unless these cards can
>change their interrupt vectors as well as their I/O address, they will
>not work with XENIX.  If you need more than two serial ports, you can
>try one of the multiport cards, which use only one vector.  Some of
>the intelligent multiport cards can also use interrupts other than
>3 or 4, so they can be used along with standard COM1 and COM2 devices.

I hate to get in here when someone from SCO just commented, but....

You *can* support more than 2 COM ports on the stock SCO driver.  You *do*
need to do a little hackery on the kernel config files in the link kit, but
it's not at all difficult and works great!

Caveat:
	You need to be able to address your card on IRQ 5 or IRQ 7, and you
	must know the base I/O address for the board (which also cannot
	conflict with any other device).  This means giving up a parallel 
	printer (IRQ 7 is LPT1 and IRQ5 is LPT2 on most implemtations).

The basic trick is to edit the 'master' file to reassign your IRQs as you
wish (change the 'vec1 - vecx' fields for the appropriate devices, 'lp' and
'sio').  You then go into the module sioconf.c in the 'io' subdirectory, and
add a description line for COM3 (take the description for COM2 and modify
the interrupt and base address fields.  Leave the other fields ALONE, and
put this description line at the END of the list).  The driver will then 
scan for the new device on power-up.

Relink your kernel and you're in business -- the system will display the
port as 'found' if you are successful during boot.

We used this under SCO V/386 2.2.1 for over a month with no problems at all.
I would assume that the V/286 product has a very similar driver and config
structure, and that this trick should work there as well.

Disclaimer:
	There might be some side effects of doing this, but we didn't notice
	them in over a month of heavy use.  Test it before committing your
	system and users to this!

---
Karl Denninger		       |  Data: +1 312 566-8912
Macro Computer Solutions, Inc. | Voice: +1 312 566-8910
...ihnp4!ddsw1!karl	       | "Quality solutions for work or play"