Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

DCPS Raw TCP/IP bidirectional protocol

J.Lorenzi
Occasional Visitor

DCPS Raw TCP/IP bidirectional protocol

Hello
I need to get text files from the VMS/DCPS output for further processing on a Windows 2003 server.

I've a program on the windows side which listens to the 9100 port for any incoming data.
I'm searching some detailed specification of the bidirectional communication between DCPS and a postscript printer to mimic it with my program.

Here is my status:
When starting a print job from DCPS, my program gets from DCPS, replying with a %%[status : idle]%%. DCPS sends a packet of PS code, then expects some acknoledgement.
I'm stuck with this ack answer, so DCPS still shows a PRINTING status.

Any clues ?

Many thanks
17 REPLIES
Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

The latest versions of DCPS supports LPD....
wich means....bidirectional support is not necessary and you can catch the output from DCPS.

Hakan
AKA The Diplomead Printerguru
Don't make it worse by guessing.........
Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

You could try defining the logical
DCPS$queuename_NO_SYNC to prevent handshaking.

You can define the logical to anything 1, "TRUE"....

Hakan
Don't make it worse by guessing.........
J.Lorenzi
Occasional Visitor

Re: DCPS Raw TCP/IP bidirectional protocol

Thanks for your answer. Unfortunately, I cannot change the DCPS configuration. I have to cope with the current one. That's why I'm searching the communications internals between the server and the PS printer.
Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

> I cannot change the DCPS configuration.

Could you be more specific ?

Defining the logical will ONLY affect the queue
you are trying to catch the data from.

You could try to send Paul Anderson a mail.
He is in DCPS-engineering team.
paul.anderson@hp.com

Hakan
Don't make it worse by guessing.........
J.Lorenzi
Occasional Visitor

Re: DCPS Raw TCP/IP bidirectional protocol

Yes I can : I have no access to the vms, nor to the DCPS !

Many thank, I will try with Paul Anderson
Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

Sorry for sticking my noose where it doesn't belong.

You are trying to catch a printout from VMS,
but you have NO access to this VMS node.
Who will do the printing ?....and what ?

Is this a hobbysystem ?
If not, why don't ask VMS system management to
help ? The queue is targeting your 2003 server.
Someone must have configured the queue.....

Don't take it the wrong way, I just try show the simplest path.....

Hakan
Don't make it worse by guessing.........
Paul Anderson_7
Frequent Advisor

Re: DCPS Raw TCP/IP bidirectional protocol

If you use a DCPS Raw TCP queue, there are a number of questions for which DCPS waits for an answer. Information like the PostScript product name, versions of PostScript prologues loaded in the printer's memory and the number of pages printed are just some.

In addition, DCPS sends a PostScript end-of-job character (control-D) and waits for a response too.

As far as the PostScript status request (control-T) goes, that's been eliminated in DCPS V2.7, so there is no longer any need to define the NO_SYNC logical name.

As mentioned earlier in the thread, using a DCPS LPD queue will eliminate all questions and waits for them.

Paul
Hoff
Honored Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

If you (really) want to know how this stuff works, and you absolutely can't make changes to the OpenVMS host system or to the DCPS queues? If that's the case, then this discussion has little to do with OpenVMS and DCPS. You are looking for help building (emulating) part of a printer.

Detailed docs? Here you go:

http://www.adobe.com/devnet/postscript/

That's how Postscript works. You are here writing (part of) a Postscript printer emulation.

It would certainly be easier to get access into the OpenVMS box to make some changes to the application(s) or the queue(s) here (eg: switch to LPD, etc), but it appears you headed for "the hard way.". If so, you might want to scrounge around for any available open-source Postscript printer emulation software, too.

Put another way, this looks to be a question of printer emulation and available open-source or commercial code on Microsoft Windows 2003 server boxes. (Was this a Unix box, I'd look to see if CUPS had anything.)
J.Lorenzi
Occasional Visitor

Re: DCPS Raw TCP/IP bidirectional protocol

Thank you all for your help and sorry for the delay.

Shortly said : The VMS Administrator is panicked by the idea of changing a single comma on his beloved system, not to mention updating DCPS.... I have to cope with it, even if it's the hard way: I have 30 MFP waiting for it

Hoff: Before coming here I've already searched within the Adobe documentation but there are no clues about my issue. There is a brief description of the serial and parallel communications protocol but nothing about TCP/IP.

Paul: In my case, DCPS was happy with a single idle status ( no prologues or page information).
I see that postscript data sending stops after a MTU packed (1492 octets). I assume that DCPS waits for any kind of low level acknoledgement. Can you give me a clue about it ?

What would be the CTRL-D answer for DCPS?

I assume I'm pretty close of a basic working program but I know that answering to my issue may not be your main purpose.
Can you just send me a log record of a successful transmission between DCPS and any kind PS printer ?

Thank you


Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

Now I'm getting a bit pissed off.....on your VMS SysMan.

The SysMan is a resource for the users, NOT the other way around. Without the users, the SysMan will be out of job.

Without knowing anything about your business...
It's the users that make the money !!

Could you tell me a little bit more about your problem. Are the 30 MFP:s for the VMS-users ?
What happens if you don't succeed in your tryings ?

Hakan
Don't make it worse by guessing.........
Hoff
Honored Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

Two options...

This starts with a managerial office visit for the system manager. Barring extenuating or conflicting circumstances and requirements, and as-yet unmentioned, this path can go as far as proceedings to fire the OpenVMS system manager and to hire a replacement, or to outsource the system management tasks. If you're not in a position to start this managerial process, then escalate this case and this conflict to your own manager. You're doing MASSIVELY more work here just to avoid making changes to an OpenVMS configuration.

The TCP stuff is basically the same as serial and parallel with a network connection interspersed, as those both chat. There are also open-source Postscript-compatible firmware options that get embedded in various printers around, too. Various vendors moved to open-source Postscript-compatible firmware. I'd be surprised if these packages were not available.

Here's a whole pile of client-side drivers:

http://gutenprint.sourceforge.net/p_Documentation.php

The OpenWRT and DDWRT open source projects also have embedded printer servers which might get you going, too. I'd expect that a few printers around will have technical documentation on the TCP port.

Here? I'd be having the visit with the system manager. He or she is costing your company some serious money here, and there better be a good reason for that.

Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

And let me know if there is ANYTHING I can do to help. I have supported DCPS since v1.0 when I worked at Digital/Compaq/HP Customer Support Center in Sweden.

Hakan
Don't make it worse by guessing.........
J.Lorenzi
Occasional Visitor

Re: DCPS Raw TCP/IP bidirectional protocol

Thank you all

The political aspect of the question is on progress, but a little on the OT side. The VMS admin job may be vacant soon, but we have no time to spare...
As someone said : failure is not an option ;-)

The purpose of the whole job is to get some better looking printings. We also want to use some duplexing and bin selection on the MFPs.

On the latest Toshiba MFP's, the Duplex/Input-Output bins are not drived by PS code, but are overrriden by PJL code.
In addition we have to add some EPS graphics (logos and some legal text) to the original printings. For these reasons, we cannot print using DCPS directly

As you may know now ,we cannot change anything to the VMS side, so we want to use an existing windows program to patch the ps files correctly, getting some keywords in the original printing. This program works fine, but we have to collect the original PS file from the VMS. That's the last step and the job will be done.

Hoff : I'm mining these ideas

Hakan : You may help me giving me some trace files of in/outs of a successfull transmission between DCPS and a PS printer



Jon Pinkley
Honored Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

I am not convinced this problem should be blamed on the VMS admin, unless they specified the replacement printers.

Just because a printer will work with Windows in no indication that it will work with DCPS.

What you apparently want to do is to have some black box that appears to VMS like a DCPS supported printer, and this box will magically transform the data, add EPS graphics background and then print to the MFP with its proprietary protocol.

If the version of DCPS loaded on the VMS system supports LPD, that will be the "easiest" way to get the postscript from the VMS system to the Windows PC, but that will require changes to the VMS print queue settings.

Otherwise, if you are trying to "emulate" a bidirectional DCPS supported printer, you have a much bigger task ahead of you.

If you are still committed to that task, then you need to become familiar with WireShark. If the VMS system has a recent version of TCPIP services, then it has the capability of capturing the Ethernet conversation between the VMS interface and the printer's ip (or MAC) address using tcpdump to a file. The file can then be analyzed with WireShark. Alternatively, everything can be done with WireShark as long as the Ethernet traffic can be seen on the Ethernet adapter that WireShark is using (this implies a HUB (repeater) or a SPAN/MIRROR port on a switch).

BTW, there are commercial products (non-DCPS) that run on VMS and support printing to "soft forms". And at least one product also has an optional product that runs on a PC, emulates a printer, and converts the print jobs to postscript. These can then be printed on any printer supported by Windows, and can even be emailed. It uses postscript comments embedded in the postscript generated by their VMS print symbiont to pass information needed for routing to email addresses, etc.

But that solution isn't free, and it would require changes on the VMS side.

How do you intend to control which EPS code is added to the document to be printed, or to select which bin to select, or whether duplexing will be done? Having separated queues for each possible combination doesn't scale. The way the product I am thinking of handles that is by using print parameters and /forms, and that does scale.

Jon
it depends
Hakan Zanderau ( Anders
Trusted Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

Send me a mail at hakan(dot)zanderau(at)ha-solutions(dot)se

Hakan
Don't make it worse by guessing.........

Re: DCPS Raw TCP/IP bidirectional protocol

Could you use something like wireshark to monitor what response the real printer sends back?
Jon Pinkley
Honored Contributor

Re: DCPS Raw TCP/IP bidirectional protocol

I thought you have DCPS installed. Has it ever worked with a supported printer? Have all those printers disappeared?

Sending you a trace probably won't be sufficient, you need to be able to see what happens under "abormal" conditions as well as the normal ones, so capturing the traces on your machine is going to be much more useful than anything someone else provides.

Jon
it depends