HMILLER@SCU.BITNET ("Henry W. Miller") (06/29/90)
The Bureau is in the process of acquiring a number of Encores. The unit destined to arrive here is a Multimax 310 running UMAX V. It will be highly desirable to be able to utilize the printer attached to the Annex as a network printer. From what I have read, it should be possible to spool a job to the Encore using TCP port 515, and have the output go to the network printer. However, it is also desirable to be able to bypass the Encore and use the printer directly. From what I have read, the Encore prints to the Annex by opening a TCP connection to the Annex on port 5000+N, where N is the port number on the Annex for the printer. Can someone confirm this for me? It also appears that (from reading the aprint code) that the Encore continues to dump 512 byte buffers to the Annex until it's done. Is there some form of specification on how the Encore and the Annex handle network printing? Our eventual goal, BTW, is to allow the Vaxes to spool to the Annex printer via a user written (i.e., me) symbiont. Any help would be appreciated. -HWM ---------- Henry W. Miller Assistant Systems Manager, Mid Pacific Region U.S. Bureau of Reclamation 2800 Cottage Way MP1100 Sacramento, CA 95825 (916) 978-5108 / FTS 460-5108 Inet: "sanj!henrym@caldwr.water.ca.gov" BITNET: "hmiller@scu" UUCP: "...caldwr!sanj!henrym" "Bad guys abuse public land, good guys save it."
clyde@ut-emx.Berkeley.EDU (Clyde W. Hoover) (06/29/90)
In article <71BEEEE171DF601A63@UMNACVX.BITNET>, HMILLER@SCU.BITNET ("Henry W. Miller") writes: |> |> The Bureau is in the process of acquiring a number of Encores. |> The unit destined to arrive here is a Multimax 310 running UMAX V. |> It will be highly desirable to be able to utilize the printer attached |> to the Annex as a network printer. From what I have read, it should be |> possible to spool a job to the Encore using TCP port 515, and have the |> output go to the network printer. However, it is also desirable to be |> able to bypass the Encore and use the printer directly. From what I have |> read, the Encore prints to the Annex by opening a TCP connection to the |> Annex on port 5000+N, where N is the port number on the Annex for the |> printer. Can someone confirm this for me? It also appears that (from |> reading the aprint code) that the Encore continues to dump 512 byte |> buffers to the Annex until it's done. First, use TCP port 7000+serial line number. That avoids the telnet option negoiation that Annex tries to do. (Sends crap down the serial line that can mess the minds of printers). |> Is there some form of specification on how the Encore and the |> Annex handle network printing? Our eventual goal, BTW, is to allow |> the Vaxes to spool to the Annex printer via a user written (i.e., me) |> symbiont. If you use port 515, then there is a protocol one-way involved. If you go straight to port 7000+, you get a bi-directional TCP stream - no intervention by the Annex. -Clyde Hoover Shouter-To-Dead-Parrots @ Univ. of Texas Computation Center; Austin, Texas clyde@emx.utexas.edu; ...!cs.utexas.edu!ut-emx!clyde Tip #268: Don't feel insecure or inferior! Remember, you're ORGANIC!! You could win an argument with almost any rock!
loverso@Xylogics.COM (John Robert LoVerso) (07/02/90)
Henry W. Miller writes: > The Bureau is in the process of acquiring a number of Encores. > The unit destined to arrive here is a Multimax 310 running UMAX V. > It will be highly desirable to be able to utilize the printer attached > to the Annex as a network printer. From what I have read, it should be > possible to spool a job to the Encore using TCP port 515, and have the > output go to the network printer. However, it is also desirable to be > able to bypass the Encore and use the printer directly. From what I have > read, the Encore prints to the Annex by opening a TCP connection to the > Annex on port 5000+N, where N is the port number on the Annex for the > printer. Can someone confirm this for me? It also appears that (from > reading the aprint code) that the Encore continues to dump 512 byte > buffers to the Annex until it's done. > Is there some form of specification on how the Encore and the > Annex handle network printing? Our eventual goal, BTW, is to allow > the Vaxes to spool to the Annex printer via a user written (i.e., me) > symbiont. You can dump data to printers connected to an Annex by several ways. One is the Annex LPD (as used by "aprint" and/or the supplied diffs for BSD LPD). Its main disadvantage is that it can only be used for unidirectional data. Its main advantages are the simplicity (usually you *are* only sending unidirectional data!) and the fact that it is still the only way to talk to the parallel port. (This is a major limitation I had hoped would be fixed in either R5.0 or R6.0 by allowing access to the parallel port via the port server and/or direct mapped TCP port). There is no limitation to the "buffer size" used here. aprint just uses BUFSIZ blocks; never-the-less, these bytes are just being sent over a TCP stream and as such, there is no concept of blocking on the wire (or in the protocol). The protocol used is fairly simple but has some wrinkles due to the use of OOB data. It should be fairly obvious from aprint.c. It is not otherwise documented because that would then cause it to be a required/supported item forever. As it is now, the "aprint" interface can be pasted onto a program like "rtelnet" (described below), and then this special-case interface would be able to go away (always a big win). A second way is by using a direct mapped TCP port (and/or the port server). This is by using a TCP connection to either a 5000+N or 7000+N port. The 5000 port gets you TELNET while the 7000 port gets you a plain TCP stream. Using TELNET is good because then things like a TELNET timing mark can be used to make sure that data has been flushed out the serial port. This can be advantageous to just half-closing the TCP connection. To send data to a printer, for the 7000+N port you'd just be able to send the un-modified data stream to the Annex. For the 5000+N port, you'd have to be sure to follow TELNET specifications, such as doubling IACs, adding a NUL after a CR, and responding to option negotiations. This can be a pain, but see the next paragraph! As part of the general Annex software release, we supply a program called "rtelnet" (not all OEMs may supply this with their re-wrapping of the software). This allows, for BSD-ish UNIX machines, the ability to provide a /dev entry that is directly connected to an Annex port. This uses the 5000+N approach. The existing version (part of R5.0) currently only allows a 1-to-1 mapping, as the connection to the Annex is maintained as long as the rtelnet daemon is running. A new version that will be part of R6.0 allows on-the-fly connections so that several hosts can share the same Annex port. The main disadvantage to rtelnet is that it uses up additional host overhead (i.e., as much as a normal rlogind or telnetd). This can be fixed by either using the in-kernel (or, as I call it, kernel-assisted) telnetd code, or by using a `better' network-services abstraction. By which I mean something along the lines of streams ttys and streams TCP, which would allow you to push a TELNET streams module directly on a streams TCP connection, and incur no overhead via a user-level switching process. I know of several vendors now selling such solutions. A major advantage to rtelnet is if you are forced to use a pre-existing package that can only print via a /dev/ttyxx. A third way, and one which is restricted to your Encore Multimax, is to use Encore's proprietary RDP protocol. This will provide all the same benifits of using something like rtelnet (actually, rtelnet was created to provides the benefits of RDP to non-Encore hosts). This even allows you access to the parallel port. It also provides seamless (or nearly so) utilization of an Annex port. However, a major disadvantage is that this feature is only available on Encore Multimaxes! Also, use of RDP limits the overall throughput to a printer connected to the Annex, due to the complexity of RDP and the burden of running the TTY driver on such a skimpy processor as in the Annex (its still only a 32CG16). Finally, the Annex-MX version of R5.0 has not been released by Encore as of yet (although the Annex-UX version has been shipping from Xylogics for several months). Clyde Hoover writes: > First, use TCP port 7000+serial line number. That avoids the telnet > option negoiation that Annex tries to do. (Sends crap down the serial > line that can mess the minds of printers). Hmm - this is *very* odd, as the Annex only goes option negotiation with the other end of the TCP connection; I have no idea how such data is getting sent down the serial line! John -- John Robert LoVerso Xylogics, Inc. 617/272-8140 x284 loverso@Xylogics.COM Annex Terminal Server Development Group