added systemd service file
[safeq] / README
diff --git a/README b/README
index bbce74c..8dd8a38 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,81 @@
 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 targeting only Xerox devices which we have.
+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
+
+./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"