Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!lll-winken!uunet!gsm001!mailgsm From: root@mailgsm.mendelson.com (Geoffrey S. Mendelson) Newsgroups: comp.os.coherent Subject: Re: Searching: serial device driver for multiport-cards Message-ID: <26748123@mailgsm.mendelson.com> Date: 4 May 91 04:11:37 GMT Sender: news@mailgsm.mendelson.com (GNEWS Version 1.01b2 news poster.) Organization: GNEWS Development Center -- Philadelphia, Pa. Lines: 73 joachim@jrix.radig.de (Joachim Riedel) asks: > >I tried the devices /dev/hs00 - hs03 with a cheap taiwan multi port >serial card in polled mode. But polled mode is not satisfying. >So I'm looking for an already existing device driver that is able >to use interrupts (only poll the 4 UARTS if an interupt occured). >If not I have to do the writing on my own. >The existing device drivers are too slow so I also want to rewrite >the /dev/com... so that they are able to use the 16550 with its >larger FIFO. I noticed that 9600 Baud on a 10 Mhz 286 is too fast, >but works on my 386/33 Micronics. But what to do if you want to use >a Traily with 19200 Baud ? > I have no trouble running an HP laserjet (IIP) at 19.2k using an interupt driven port. The options as I see it: Run 2 ports interupt driven and 2 ports polled. Use the polled ports for 2400 baud or less. Try to have the polled ports active as little as possible. I use one for a 2400 baud outgoing modem. I use the other for a 2400 baud link (always polled) to my unix system. It's slow, but I usually don't care. I am using an 8MHZ system. If you are running a stock pc/at clone interupts 2 and 5 are free. 2 is used by a mouse (sort of useless on coherent) and 5 is used by one of the lpt ports (I think it is 2 or 3) but it is not lpt1 (that uses irq 7). Many serial cards will let you configure the interupt to IRQ 2 and 5. Patch the com3 and com4 device drivers for those irq's. Setting all the intertupts to the same number and then configuring the driver to poll all the ports will probably fail. A "real" mutliport card has some hardware to queue the interupts so that you can share them. If you did not catch them just right, characters would be lost. Since "dumb" multiport cards are relatively cheap (about $160 in the us). It hardly seems worth putting a lot of effort in to a driver that may not work. On the other hand, if you could package a 4 port card and driver for $50-75 (us) you could probably sell several thousand. I think that the UARTs would be the cheap ones because last I checked the 16550's were far to expensive to put 4 on a card at that price. I think that the driver kit is worth the $40. Even if you only use it for an education. Unfortunately, I have seen no drivers come out of it yet. I am hoping to see some soon. :-) In my time, I have written lots of supervisor code, and several device drivers. All of it was in assembly language. Most was on IBM mainframes, but some of it was for minicomputers. I can't see writing a driver in C. I could write a C device driver in a day, but it would probably take a month to debug. If I were writing in assembler it would probably take one week to code and another week to debug. I doubt that I will be writing an device drivers though. I don't know i80x86 assembler and what I do know I don't like. But I digress. P.s. If anyone is modifing the QIC-36 tape device driver to QIC-02, please let me know. I need it. ------ Copyright (C) 1991, Geoffrey S. Mendelson. All Rights Reserved. Except for usenet followups, may not be reproduced without permsission. ---------------------------------------------------------------------------- | | Computer Software Consulting | | ---------------------------------------------------------------------------- Geoffrey S. Mendelson I've written and debugged almost eight thousand geoffrey@mendelson.com LINES of C code under Coherent in the last two mwcbbs!mailgsm!geoffrey months. :-) (215) 242-8712 And my wife still speaks to me!