ITEM: DF3404L

HP JetDirect queues fail after 3.2.5 to 4.1.5 migration


 ENV:
        AIX 4.1.5
        7013-590
        HP JetDirects

*CUSTOMER REP:
        Kirk

 PROBLEM:
        After upgrading from AIX 3.2.5 to AIX 4.1.5 our JetDirect 
        print queues that existed before the migration don't function
        but newly added JetDirect queues do.  When I submit a print
        job to a JetDirect print queue defined before the migration,
        I get the error:

        error opening /var/spool/lpd/pio/dev/hp..... as stdout for
        backend.

*ACTION TAKEN:
        If you look in /etc/qconfig you will see that each queue 
        device (for local and JetDirect queues) have a line that
        reads:

        file = \

        In the case of a local (serial or parallel) printer, the 
        purpose of this is much more obvious... When a job is sent
        to this queue, qdaemon invokes the backend program and sends
        its stdout to the file specified by the "file =" line.
        This makes good sense for piobe - it writes the formatted
        print job to stdout which is directed to the appropriate 
        file, eg. /dev/lp0.

        However, in the case of an HP JetDirect, the behavior is a bit
        more subtle.  Since the output isn't going to a "file" but
        rather being piped into piohpnpf to be sent across the network,
        why bother to have a "file =" at all?  The answer is for 
        locking purposes - if you have two print queues pointing to 
        the same JetDirect printer, only one of the two queues can
        be sending data to it at a time.  The file specified in the
        "file =" line isn't where output is sent, but since only one
        process can open the file for writing at a given moment, it
        ensures only one queue will be RUNNING a job while the other
        is in DEV_BUSY state waiting to be able to open the "file ="
        file.

        However, at AIX 3.2.5 these "lock" files resided in 
        /var/spool/lpd/pio/dev - which no longer exists in AIX 4.1.
        Therefore, no queue can open the files in this directory.
        In AIX 4.1.5 the files now reside in 
        /var/spool/lpd/pio/@local/dev directory.

        The solution is to modify the path of the "file =" line in
        /etc/qconfig to the correct location and create a blank file
        in the directory corresponding to the "file =" line in 
        qconfig.  An alternate solution would be to just take out the
        "file =" line, or set "file = FALSE" which has special 
        meaning (discard stdout).  



Support Line: HP JetDirect queues fail after 3.2.5 to 4.1.5 migration ITEM: DF3404L
Dated: July 1997 Category: N/A
This HTML file was generated 99/06/24~13:30:16
Comments or suggestions? Contact us