Newsgroups: comp.sys.next Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!elroy.jpl.nasa.gov!zardoz.cpd.com!neil From: neil@uninet.cpd.com (Neil Gorsuch) Subject: Re: Is there an 8+ serial port mux for NeXT cubes available? Message-ID: <1991May2.214100.13070@zardoz.cpd.com> Keywords: serial mux Sender: news@zardoz.cpd.com (usenet news administrator) Organization: Uninet Peripherals, Santa Ana, CA, USA References: <9104240831.AA01164@lhs.woodside.ca.us> <573@rosie.NeXT.COM> <1991Apr26.023505.32391@mp.cs.niu.edu> Date: Thu, 2 May 91 21:41:00 GMT In article <1991Apr26.023505.32391@mp.cs.niu.edu> bennett@mp.cs.niu.edu (Scott Bennett) writes: >In article <573@rosie.NeXT.COM> bloschen@next.com writes: >>In article <9104240831.AA01164@lhs.woodside.ca.us> dick@lhs.woodside.ca.us >>(dick benster) writes: >>> We would like to hook up many modems to a NeXT '040 cube, and >>I have seen products from UNINET that do this. They have several >>configurations of 4/8 serial and parallel ports. They have done some clever >>things things using pty's and the SCSI port to do this. The particulars are: > Clever, perhaps, but not very smart. I would like a serial port >controller, too, but one that comes with a *real* driver, not one that >mucks things up by involving tty/pty code and its overhead, extra daemons, >effective loss of available pty's, etc. I would respectfully say that you don't know what you're talking about as far as the complete pros/cons of this method as applied to our product and market. Here's the full scoop (in my biased opinion 8-): First of all, the practicle aspects of being a supplier of peripheral addon products to workstations: To take an example, in the Sun arena, we have a lot of competitors that supply S-bus cards for serial port expansion. They all use drivers. Every customer that has compared ours and their method says ours is vastly superior. Almost all of our customers say that they are very happy not to have to rebuild the kernel when installing our stuff or when they upgrade their operating system. Every time that Sun changes operating system versions, our competitors scramble to change their driver to account for the changes, and their customers wait for a new version so that they can use the ports again. Now carry it further. Our stuff works on all the following systems, without any drivers or kernel rebuilding, and has one common source program (and Makefile) for them all: NeXT, DECstation, Sun 3, Sun 4 (sparc), Solbourne (ours is one of the few programs that are not binary compatible between Sun sparc and Solbourne), IBM 6000, MIPS, Data General Aviion. There are other systems that it works on, but they aren't unix, and the code isn't the same, and one of them even uses a (horrors 8-) driver. It would be a nightmare to supply drivers for all those systems and keep them updated with their respective operating systems. Now on to some technical aspects. pty/tty and other overhead. Read my lips, "there is far, far more resource usage (overhead) in generating/processing characters than is used in sending them through a pty/tty driver". On a sparcstation, well over 100,000 characters a second (can you say 1,000,000 baud equivalent ? ) can be pushed through the tty/pty drivers. A lot of drivers (like the drivers on the serial ports of a sparcstation) have to go through an entire interupt for every single character going in or out. The way that our stuff works, we only incur interupts on each block of characters, and the vast majority of characters traveling on a serial port come as blocks of output characters from application programs. Now for a real example of the efficiency of our methods. We have a customer that has 3 very large workstations that are normally sold as servers being used as data base front ends. Each one has 32 serial ports with terminals attached to them, using our slats. They tell us that this method is much better, performance wise, and has lower overhead, than they would get by using either ethernet serial boxes or serial cards in their machines. Mucking things up with pty/tty code. There is no cleaner way to do things than by letting the operating system handle the stuff it normally handles anyway (remember, this is unix, use things that are already there whenever possible), at least in the systems that don't use streams to differentiate between the hardware interface driver stuff and the "stty raw/echo/onlcr etc" stuff. The pty/tty drivers are the perfect thing to use to add hardware serial ports, since they handle all other interface aspects except for the final source/sink of characters. Plus, it lets us do things like provide full dial-in/dial-out access on every port, even on systems that don't normally support it, by using split ptys if required. Extra daemons. There is only 1 daemon per computer system that handles all of the slats and slat serial ports. Read my lips, "the overhead caused by slatd (our daemon) is negligable when it's idle, and a very small amount compared to the programs generating/processing characters when characters are moving through it". Loss of ptys. Are you running out of ptys? NeXT, like most systems, will probably add more ptys. We haven't had a customer complain yet about the slat losing them pty's that another application/program needed. Not having a *real* driver. Why do you need one, if our method allows for more robust code, does all the things that the customers want to do with serial ports, doesn't require a kernel rebuild on installation or operating system upgrade, and has less overhead associated with it that with a lot of serial drivers that we have seen? >I also can't see paying twice >as much for it as for serial port controllers for pee cees. You are paying HALF as much as comparable units. PC cards are cards only, the SLAT is in an external case, involves cabling, power supply, etc, all of which adds considerably to the cost. If you want to compare apples to apples (is that a fond word for members of this group 8-) ? ), compare our price to an ethernet serial box. The last time I looked, most of them were in the $2,000 to $3,000 range. PC cards are also much higher volume, and have lower manufacturing costs associated with the higher volumes. We don't compete with cards that go in a card cage. If you have a card cage, and can add a serial card, I would be the first to urge you to use that instead of our slat, the cards will probably be cheaper. If you don't have a card cage, our method is probably cheaper, and certainly has some important technical advantages (in my biased opinion 8-), over ethernet serial boxes. -- Neil Gorsuch INTERNET: neil@cpd.com UUCP: uunet!zardoz!neil MAIL: 1209 E. Warner, Santa Ana, CA, USA, 92705 PHONE: +1 714 546 1100 Uninet, a division of Custom Product Design, Inc. FAX: +1 714 546 3726 AKA: root, security-request, uuasc-request, postmaster, usenet, news