X-Git-Url: http://git.rot13.org/?p=safeq;a=blobdiff_plain;f=README;h=8dd8a3815b3f269dd486f3105c8525ccf7c02277;hp=bbce74cc4d4f2a801fa097a7020aa98db61a811c;hb=HEAD;hpb=4f22ebebf358443b247ee20a1c66ac486933c1ee diff --git a/README b/README index bbce74c..8dd8a38 100644 --- 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"