*BSD News Article 9967


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA6891 ; Fri, 15 Jan 93 10:38:27 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!spool.mu.edu!uunet!mcsun!sun4nl!tuegate.tue.nl!svin09!wzv!gvr.win.tue.nl!guido
From: guido@gvr.win.tue.nl (Guido van Rooij)
Newsgroups: comp.unix.bsd
Subject: Re: [386bsd] Need help with multiport driver
Keywords: com-multiport
Message-ID: <4358@wzv.win.tue.nl>
Date: 16 Jan 93 14:21:08 GMT
References: <1j4ghmINNqv@homer.telco-nac.com>
Sender: news@wzv.win.tue.nl
Lines: 38

dave@telco-nac.com (David Cornejo) writes:

>Has anyone using cgd's com-multiport driver used it with a Kouwell
>KW-531A?  When I compile my kernel with COM_MULTIPORT defined
>cu/tip'ing to these ports causes a hang. If I comment out the top two
>ports and compile without COM_MULTIPORT the two remaining ports work
>fine. My board is configured for the default DOS configuration, i.e.
>two ports are at the standard COM1 & COM2 addresses and interrupts
>and the other two are at non-standard I/O addresses (I forget them
>right now) and share INT 3. The documentation with the driver mentions
>this board, but gives no details.

>Any help or suggestions would be most appreciated.

>(BTW Despite my ineptitude in setting up the config, my serial ports
>work much nicer, thanks Chris!)

In the multiport driver, interrupts per uart are disabled. Chris told me
that this was according to the spe of multiport boards. However if
you just share some single ports, you should not disable them. Note
that if the cards are according to ibm's original serial port, you
can put two separate boards on the same irq. If they are not, you
might gte into problems, unless you change your hardware a bit.
(make sure the int output of the uart is connected to the irq output
of the baird with an open collector). A better solution would be
to change the boards irq from 3 or 4 to, say 5 (parallel 2) if you don't
use that one. (also for this you have to change the hardware, but its
fairly trivial to do). This might be hard if you dont have that many free
interrupts. So you'll have to choose between the 2. 
What I told above is true in general for separate boards sharing the same irq.

Of course you can always try if it works okay when sharing interrupts, though
I wouldn't know of it can break your uarts.

To enable interrupts again on shared irq's, just look at the MULTIPORT define,
and you'll see the 2 spots where they are disabled. (one in attach() and one
in ioctl()
-Guido