*BSD News Article 11066


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA1215 ; Tue, 23 Feb 93 14:30:34 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!hp9000.csc.cuhk.hk!saimiri.primate.wisc.edu!usenet.coe.montana.edu!rpi!uwm.edu!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!newsserver.jvnc.net!darwin.sura.net!haven.umd.edu!umd5!fcawth
From: fcawth@eng.umd.edu (Fred Cawthorne)
Newsgroups: comp.unix.bsd
Subject: Re: I need a /dev/com3 !!!
Message-ID: <18467@umd5.umd.edu>
Date: 12 Feb 93 18:04:00 GMT
References: <1993Feb8.170954.25245@vlsi.polymtl.ca>
Sender: news@umd5.umd.edu
Organization: /etc/organization
Lines: 38

In article <1993Feb8.170954.25245@vlsi.polymtl.ca> lancio@shockley (Robert Lanciault) writes:
>
> 	I just want to know if it is possible to have a third
>serial communication port. And what it has to be done to have one.
>     
You can hack up old serial cards and change the interrupts of the ports, or
get a card that OR's the interrupts together and use the new com drivers
that support multiple ports on the same interrupt.  The problem is that
the irq line on the pc bus is active high, so you can't use open
collector drivers or anything like that to have 2 different cards
support the same interrupt.  (so just using the usual com3 on a regular
serial card is not possible...)  I guess you could do something with
tristate drivers, but I am not aware that io card designers are
currently doing this.  If you don't mind having a couple of wires going
from card to card in your computer, you can cut the trace that goes to
the irq line, and wire it to an or gate, along with all of the other
devices you want to share that interrupt.  The output of the or gate
just goes to the interrupt line, and there's no contention.  The
software must be intelligent enough to figure out what is causing the
interrupt if you plan to have the devices active at the same time.  The
new com driver takes care of this for 386bsd.  At one time, I had 6
com ports in my machine, and all of them were hacked 2 port serial cards
with 16550's in the second port.  You can also use irq 10 and above
if you don't mind making a little board to plug into the 16 bit
extension of the ISA slot.     
Actually, if you have a spare interrupt in your computer, you could
just run the interrupt from your current com3 to the irq9|5 spot on the 8
bit slot.  Of course, you must recompile the kernel with the appropriate
configuration for the ports... Some newer serial cards have a jumper for
this already on the card.
 
Note;Disclamer;etc:   This is a "hack" solution, and should
not be attempted by those not familiar with this type of thing.  I only
post this because I did not know if this would work before I tried, and
I would have done it sooner if I knew someone else had done it
successfully.