This is a discussion on Problem with piobe within the AIX Operating System forums, part of the Unix Operating Systems category; --> Dear all, I am trying to track down a problem with printouts just not coming off the printer. What ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Dear all, I am trying to track down a problem with printouts just not coming off the printer. What I found so far is: 1) I can see my jobs queueing up in /var/spool/qdaemon. They just stay there forever. 2) I can successfully print my jobs using /usr/lib/lpd/pio/etc/piohpnpf -x the.host.name -p 9100 /var/spool/qconfig/jobfilename 3) My backend= line for the printer reads: backend = /usr/lib/lpd/pio/etc/piojetd the.host.name 9100 piojetd is a script, which contains a line: /usr/lib/lpd/piobe "$@" | /usr/lib/lpd/pio/etc/piohpnpf -x $hostname -p $port Note that the right half of the pipe is exactly that works for me when I use it stand-alone. So I conclude that there might be the following reasons why my jobs don't work: 1) The backend does not call the piojetd script at all. Unlikely, as the queued is up and running and the queue is READY. 2) The script never reaches the above mentioned line. 3) piobe does not return anything which might get piped into piohpnpf. I have quite a strong believe in option 3), because I tried to call piobe manually: /usr/lib/lpd/piobe /var/spool/myjobfilewhichIwasabletoprint The exit code is 0 and the result is basically nothing. I also tried /usr/lib/lpd/piobe -a 1 -dp -A 2 /var/spool/myjobfilewhichIwasabletoprint I would have expected some diagnostic output from that command and I understand -dp will just pass the file through, so I would have expected seeing the content of the jobfile on stdout. Did I misunderstand anything? Kind regards, Torsten Schlabach |
| |||
| "Torsten Schlabach" <tschlabach@gmx.net> wrote in message news:1124105983.934590.124470@g49g2000cwa.googlegr oups.com... > Dear all, > > I am trying to track down a problem with printouts just not coming off > the printer. > > What I found so far is: > > 1) I can see my jobs queueing up in /var/spool/qdaemon. They just stay > there forever. > > 2) I can successfully print my jobs using > > /usr/lib/lpd/pio/etc/piohpnpf -x the.host.name -p 9100 > /var/spool/qconfig/jobfilename > > 3) My backend= line for the printer reads: > > backend = /usr/lib/lpd/pio/etc/piojetd the.host.name 9100 > > piojetd is a script, which contains a line: > > /usr/lib/lpd/piobe "$@" | /usr/lib/lpd/pio/etc/piohpnpf -x $hostname -p > $port > > Note that the right half of the pipe is exactly that works for me when > I use it stand-alone. So I conclude that there might be the following > reasons why my jobs don't work: > > 1) The backend does not call the piojetd script at all. Unlikely, as > the queued is up and running and the queue is READY. > > 2) The script never reaches the above mentioned line. > > 3) piobe does not return anything which might get piped into piohpnpf. > > I have quite a strong believe in option 3), because I tried to call > piobe manually: > > /usr/lib/lpd/piobe /var/spool/myjobfilewhichIwasabletoprint > > The exit code is 0 and the result is basically nothing. I also tried > > /usr/lib/lpd/piobe -a 1 -dp -A 2 > /var/spool/myjobfilewhichIwasabletoprint > > I would have expected some diagnostic output from that command and I > understand -dp will just pass the file through, so I would have > expected seeing the content of the jobfile on stdout. > > Did I misunderstand anything? > > Kind regards, > Torsten Schlabach > How did you originally set up the printer? Have you made any changes to the colon file or qconfig for this printer? Do other printers setup in the same method work ok? Chris. |
| |||
| >> How did you originally set up the printer? Through SMIT. I did not do that myself, but the system admin did. >> Have you made any changes to the colon file or qconfig for this printer? To the qconfig - yes. The colon file - no. >> Do other printers setup in the same method work ok? No, all printers work fine when I submit jobs using SMIT for example, but they don't work when printing through the application. Regards, Torsten |
| |||
| If you attempt to print using : "lp -d [printer_name] /etc/hosts" or "qprt -P[printer_name] /etc/hosts" also usually error messages from the spooler are sent to the system console, or wherever /etc/syslog directs them. also if you attempt the print a job using options on the command line that are not supported backend will error out. It is possible that the backend /etc/qconfig.bin file is corrupt. you should never edit /etc/qconfig directly as it can corrupt the /etc/qconfig.bin file. this is the file that is used in the backend process. ending the qdaemon and renaming the qconfig.bin (NOT qconfig!!!) and restarting the daemon will recreate it. some thoughts. Chris "Torsten Schlabach" <tschlabach@gmx.net> wrote in message news:1124276412.357272.279630@g47g2000cwa.googlegr oups.com... > >> How did you originally set up the printer? > > Through SMIT. I did not do that myself, but the system admin did. > > >> Have you made any changes to the colon file or qconfig for this printer? > > To the qconfig - yes. The colon file - no. > > >> Do other printers setup in the same method work ok? > > No, all printers work fine when I submit jobs using SMIT for example, > but they don't work when printing through the application. > > Regards, > Torsten > |
| ||||
| > 2) I can successfully print my jobs using > > /usr/lib/lpd/pio/etc/piohpnpf -x the.host.name -p 9100 > /var/spool/qconfig/jobfilename > 3) piobe does not return anything which might get piped into piohpnpf. > > I have quite a strong believe in option 3), because I tried to call > piobe manually: > > /usr/lib/lpd/piobe /var/spool/myjobfilewhichIwasabletoprint > > The exit code is 0 and the result is basically nothing. I also tried Invoking piobe without doing so from the commandline is problematic. Piobe is normally invoked by qdaemon when a job gets to the top of the queue and runs: backend = /usr/lib/lpd/piobe Or backend = /some/script and within the script piobe is called. Piobe then looks to see for which queue it was invoked (communication with qdaemon) to determine which colon files it needs to use for formatting the job at hand. If you have a script that is acting as a backend which calls piobe to format the job and then pipes the output to something else (eg piohpnpf to send it to a JetDirect) try this: /usr/lib/lpd/piobe "$@" | tee /tmp/piobe_output | /usr/lib/lpd/piohpnpf -x hostname -p 9100 Capture the output of piobe into a file. Is it 0 bytes? If so, you know piobe isn't producing any output. Best regards, Paul |
| Thread Tools | |
| Display Modes | |
|
|