home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.sun.admin
- Path: sparky!uunet!munnari.oz.au!metro!dmssyd.syd.dms.CSIRO.AU!megadata!andrew
- From: andrew@megadata.mega.oz.au (Andrew McRae)
- Subject: Re: High Speed Serial Patch
- Message-ID: <1992Nov10.031818.11882@megadata.mega.oz.au>
- Originator: andrew@noah
- Sender: news@megadata.mega.oz.au
- Organization: Megadata P/L, North Ryde, Sydney, Aust.
- References: <searsk-051192150648@3.7.192.220>
- Date: Tue, 10 Nov 1992 03:18:18 GMT
- Lines: 76
-
- searsk@med.ge.com (Kevin Sears):
- > CONSULT-HSPEED version 1.3
- >
- > This special consists of a streamlined, low-overhead STREAMS module that
- > provides reliable input at
- > speeds up to 38.4 Kbps over any Sun serial RS-232 port.
- >
- > This special provides only raw character input to a user process. No
- > canonical processing, newline,
- > carriage return or uppercase conversion is performed on the input stream.
-
- How is this different from the bottom end STREAMS driver (the one
- that talks to the h/w)? I mean, none of these things mentioned
- above are actually performed in the bottom end driver (are they?),
- but in the ttcompat and ldterm STREAMS module. If you popped *all*
- the STREAMS modules, then you should get a `streamlined, low-overhead
- STREAMS module' that's simply the serial port driver.
-
- Taken from the zs man entry:
-
- The Zilog 8530 provides 2 serial communication ports with
- full modem control in asynchronous mode. Each port supports
- those termio(4) device control functions specified by flags
- in the c_cflag word of the termios structure and by the
- IGNBRK, IGNPAR, PARMRK, or INPCK flags in the c_iflag word
- of the termios structure are performed by the zs driver.
- All other termio(4) functions must be performed by STREAMS
- modules pushed atop the driver; when a device is opened, the
- ldterm(4M) and ttcompat(4M) STREAMS modules are automati-
- cally pushed on top of the stream, providing the standard
- termio(4) interface.
-
- The c_cflag word of termios gives you:
-
- CBAUD 0000017 Baud rate:
- CSIZE 0000060 Character size:
- CSTOPB 0000100 Send two stop bits, else one.
- CREAD 0000200 Enable receiver.
- PARENB 0000400 Parity enable.
- PARODD 0001000 Odd parity, else even.
- HUPCL 0002000 Hang up on last close.
- CLOCAL 0004000 Local line, else dial-up.
- CIBAUD 03600000 Input baud rate, if different from output rate.
- CRTSCTS 020000000000 Enable RTS/CTS flow control.
-
- It is hard to see how you could still do without these in *any*
- driver, streamlined or not, since these flags control the hardware
- modes of the serial line such as the baud rate, stop bits etc.
-
- This HSPEED module doesn't seem to allow any other STREAMS modules
- to be pushed on top - what if I have a SL/IP module I want to
- run at 19.2 Kbaud? Or any other special protocol?
- Why can't I push a STREAMS module onto the driver - how does the
- driver interface with the rest of the system - if it is a true STREAMS
- module than I should be able to push another module onto it (by
- definition)! If it ISN'T a STREAMS module, but simply a
- character device driver for the serial port (i.e. no STREAMS overhead),
- then it may be much more efficient, but why call it a STREAMS module?
- And why can't this efficiency be placed into the *real* serial
- driver?
-
- What is the point? Isn't the *whole* aim of STREAMS to get AWAY from
- these special drivers that you can't place line disciplines on top of?
-
- I have never got a straight answer from *anyone* about why Sun
- serial drivers are so slow and inefficient - this just confuses
- me even more. I can't see any reason for keeping the driver so
- inefficient; it's not like keeping the CPU slow deliberately so that
- the customer will have to buy a bigger and much more expensive CPU :-)
-
- > Kevin D. Sears
-
- Andrew McRae inet: andrew@megadata.mega.oz.au
- Megadata Pty Ltd, uucp: ..!uunet!megadata.mega.oz.au!andrew
- North Ryde 2113 Phone: +61 2 805 0899
- NSW AUSTRALIA Fax: +61 2 887 4847
-