Skip to content

ffzg/safeq

Repository files navigation

Goal is to write replacement SafeQ using cups and samba

For now, first goal is to support SafeQ terminal protocol so we can re-use devices not supported
by vendor any more. We are also annoyed by SafeQ "feature" which doesn't allow us to use scanning
if Xerox runs out of toner. This is arbitrary limitation which cripples this setup for us.


./debian-install.sh		# will install required Debian packages


We have old Xerox WorkCentre 5225 and 7232 machines (from 2008) and getting active jobs or
history is supported by web interface which is scraped and javascript variables inside
used to display info.

./xwc-jobs.pl 10.60.3.35		# list active jobs on Xerox WorkCentre 5225 by scraping web
./xwc-jobs.pl 10.60.3.35 list

./xwc-jobs.pl 10.60.3.35 hist	# list completed jobs

Script produces tab delimited output, but if you want to format it nicely you can always use
SEP enviroment variable to specify sparator and column to format it. This is included in
xwc-jobs helper shell script which is useful for interactive use:

dpavlin@t42:~/safeq$ ./xwc-jobs 10.60.3.35
IP          id        Job Name   Owner       Status         Type     Quantity
10.60.3.35  00015c2c  -          10.60.3.10  3:User Action  1:Print  0
10.60.3.35  00015c2f  Test Page  root        3:User Action  1:Print  0
10.60.3.35  00015c32  -          10.60.3.10  3:User Action  1:Print  0


You can delete job using:

dpavlin@t42:~/safeq$ curl -XPOST -d OPR=CANCEL -d JOBS=00015c32/ http://10.60.3.35/JOBCTRL.cmd

or use d[elete] or c[ancel] aruguments and job id(s):

dpavlin@t42:~/safeq$ ./xwc-jobs 10.60.3.35 d 00015c41
10.60.3.35  00015c41  CANCEL  REQUEST: ACCEPTED


We would like to have nice job name and user info on Xerox, so I tested how to send data
using various protocols:

dpavlin@t42:~/safeq$ lpstat -v
device for ipp: ipp://10.60.3.35/ipp
device for XWC5225-5KatL: socket://10.60.3.35

dpavlin@t42:~/safeq$ lpr -Pipp -U lpr-U1 -C lpr-C1 -J lpr-J1 -T lpr-T1 /usr/share/doc/printer-driver-foo2zjs/manual.pdf

dpavlin@t42:~/safeq$ lpr -PXWC5225-5KatL -U lpr-U2 -C lpr-C2 -J lpr-J2 -T lpr-T2 /usr/share/doc/printer-driver-foo2zjs/manual.pdf

dpavlin@t42:~/safeq$ rlpr -H 10.60.3.35 -U rlpr-U -C rlpr-C -J rlpr-J -T rlpr-T /usr/share/doc/printer-driver-foo2zjs/manual.pdf

And results are *VERY* different:

dpavlin@t42:~/safeq$ ./xwc-jobs
IP          id        Job Name  Owner       Status             Type     Quantity
10.60.3.35  00015c65  lpr-T1    lpr-U1      1:Printing...      1:Print  0
10.60.3.35  00015c68  -         10.60.3.10  0:Printing - wait  1:Print  0
10.60.3.35  00015c6b  rlpr-J    rlpr-U      0:Printing - wait  1:Print  0

So, it seems that we can't tranfer job name or owner through caps and socket connection.


Next problem is pesky banner pages which Xerox insists on printing using default cups
drivers for it. Solution might be to use ppd files from Xerox, but they reference filter
which doesn't exist and assume that postscript is supported on device which isn't the case
for us. However, we can migrate option to disable banner to working ppd:


*JCLOpenUI *JCLBanner/Banner Sheet: Boolean
*OrderDependency: 10.0 JCLSetup *JCLBanner
*DefaultJCLBanner: False
*JCLBanner False/Disabled: "@PJL SET JOBATTR=<22>@BANR=OFF<22><0A>"
*JCLBanner True/Enabled: "@PJL SET JOBATTR=<22>@BANR=START<22><0A>"
*JCLCloseUI: *JCLBanner


This will use more-or-less undocumented option @BANR to turn it off. Only reference to
this option is in Xerox document "PDL Reference Guide for the Phaser 6510/WC 6515 Series"

About

Goal is to write replacement SafeQ using cups and scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors