houten@pttdis.UUCP (Karel van Houten) (02/23/89)
System: HP 9000/850 OS: HP-UX 2.10 When trying to use the 'ienqak' mode of the tty driver, I get the response: 'unknown mode'. The manual clearly states that that mode should be available. stty(1) and termio(7) Even the #define in /usr/include/sys/termio.h of IENQAK is missing on our machines. How do I get the driver to answer an ACK on all ENQ's coming in, without high CPU loads (by reading on character basis)? Thanks in advance! -- Karel van Houten, INTERNET-style: houten@pttdis.UUCP PTT Telecom b.v. UUCP: uunet!mcvax!hp4nl!pttdis!houten 's-Gravenhage, The Netherland VOICE: +31 70 434947
hans@hpuamsa.UUCP (Hans Linschooten) (02/24/89)
Hello, TERMIO(7) gives the general description of asynchronous communications ports. Of course this does not mean that always everything should be implemented. If someone looks at the end of the description there is a part for these specialties. For series 800 it mentions that the IENQAK bit is not supported. Hans Linschooten Hewlett-Packard The Netherlands
frank@hpuamsa.UUCP (Frank Slootweg) (02/24/89)
> System: HP 9000/850 OS: HP-UX 2.10 > > When trying to use the 'ienqak' mode of the tty driver, I get the > response: 'unknown mode'. The manual clearly states that that mode > should be available. stty(1) and termio(7) Mr. van Houten, I could not reach you on the phone number you provided. Then I found that Hans Linschooten beat me by 15 minutes. Since part of the discussion is already on the net I decided that this response is more appropriate than mail. So : (As Hans already indicated) The "termio(7)" manual page says : DEPENDENCIES Series 800 ENQ/ACK protocol and IENQAK bit are not supported. Could you please inform us *why* you need ENQ/ACK? Only very old HP terminals have only ENQ/ACK. By "old" I mean 197X vintage. All 262X and newer terminals have both ENQ/ACK (for non-HP-UX/UNIX, etc. systems) and Xon/Xoff. I *think* the old terminals can even be upgraded to Xon/Xoff if needed. Please call us directly at the Dutch Country Response Center (06-0511). You do have a Response Center contract for your 850, don't you? :-) While this topic may be of interest to the net, I think you will get better response times for questions like this by calling your CRC. Anyway the response time Hans gave was also not too bad! :-) Frank Slootweg, Dutch CRC, Amstelveen, The Netherlands.
rjn@hpfcdc.HP.COM (Bob Niland) (02/26/89)
re: "When trying to use the 'ienqak' mode of the tty driver, I get the response: 'unknown mode'." > The manual clearly states that that mode should be available. > stty(1) and termio(7) ienqak was only ever supported on Series 500. Series 200 and 300 silently ignore it. Series 800 gives an error. Here is the current manpage text: TERMIO(7) HP-UX TERMIO(7) ... DEPENDENCIES Series 300 The c_iflag field parameter IENQAK (enable output pacing control) is not supported. Series 800 The ENQ/ACK protocol and the IENQAK bit are not supported. > How do I get the driver to answer an ACK on all ENQ's coming in, > without high CPU loads (by reading on character basis)? Even if the 800 supported IENQAK, it wouldn't help you, since the HP-UX (500) implementation was host-mode only, i.e. the host driver would issue an ENQ and wait for an ACK before sending a block of 80 characters. All is not lost, however, since ENQ/ACK is a half-duplex protocol, it is relatively easy to implement in user code. Have your application perform input in single-character or raw mode, and look for ENQs. ACK them. Regards, Hewlett-Packard Bob Niland ARPA: rjn%hpfcrjn@hplabs.HP.COM 3404 East Harmony Road UUCP: [hplabs|hpfcse]!hpfcla!rjn Ft Collins CO 80525-9599
frank@hpuamsa.UUCP (Frank Slootweg) (03/01/89)
Bob Niland (rjn@hpfcdc.HP.COM) wrote: > Even if the 800 supported IENQAK, it wouldn't help you, since the HP-UX > (500) implementation was host-mode only, i.e. the host driver would > issue an ENQ and wait for an ACK before sending a block of 80 characters. I missed that point (which was made by Mr. van Houten). Mr. van Houten called me back. He had expected "ienqak" to be a input handshake. I guess its name was chosen based on "ixon" ("What do you want? UNIX *or* sensible option names?" :-)). > All is not lost, however, since ENQ/ACK is a half-duplex protocol, it is > relatively easy to implement in user code. Have your application perform > input in single-character or raw mode, and look for ENQs. ACK them. The customers application (actually a server) can indeed do the handshake (i.e. it does not *have* to be done in the driver). I advised him to set EOL/VEOL (see "termio(7)") to ENQ. A "line" will then be terminated by either a newline or an ENQ and single-character or raw mode is not needed. Frank "Xoff" Slootweg, Hewlett-Packard, Dutch Country Response Center.