Hi,

two weeks ago (before the Printing Summit in Lexington) I have observed 
that faxing with HPLIP 1.6.7, 1.6.9, and 1.6.10 works without problem 
under Mandriva 2007 (released three weeks ago) and does not work at all 
with Ubuntu Edgy/6.10 (released last week). Under Ubuntu Dapper/6.06 
faxing works, too.

After some discussion with Donald Welch and Phil Thompson we found out 
that on the transition from PyQt 3.15 to 3.16 a new bug was introduced 
which broke inter-process communication (IPC) between hpssd and 
hp-sendfax (a fax job sent into the "hpfax:/..." queue  is forwarded to 
the hp-sendfax of the user who sent the job by hpssd and supposed to 
stay in the CUPS queue when hp-sendfax is not running in the sender's 
account). From PyQt 3.16 on Fax jobs sent out by hpssd seem to run into 
a black hole instead of being picked up by hp-sendfax.

Debugging this is very complicated for end users and even experienced 
system administrators:

- It is difficult to find out the version numbers of PyQt and SIP as 
some distros ship them in the kdebindings package and also if they are 
in separate packages the package names are not the same.

- One cannot easily find out how to bring a Python program into debug 
logging mode (someome of you told it to me and I saved this information 
in a file, but whenever I need it I am looking up this file).

- Running HPLIP and CUPS normally no footprints of the faxing process 
appear in any log file.

In addition the PyQt guys did not propose any fix or at least a 
workaround yet.

So every Edgy user and also every user trying out KDE 3.5.5 on other 
distros has broken fax with HPLIP now.

To make faxing with HPLIP more robust and to make admin's life easier, I 
suggest the passing of the fax via hot folder:

Every user has a hot folder named ~/hpfax/ in his home directory 
(auto-created if needed).

When a user sends a job into the fax queue, the hpijs driver converts 
the job into fax G3 format and the hpfax CUPS backend drops the fax G3 
file in the user's hot folder (hot folder created by hpfax backend if 
needed). hpfax should be fairly the same code as the cups-pdf backend 
available as free software here (and available as Debian package in 
Ubuntu Edgy):

http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/

On Ubuntu Edgy (CUPS runs as "cupsys" user) this backend runs SUID root 
so that it has root rights to create directories and files in the user's 
home directory. On other distros (CUPS runs as root) it is enough to 
give 0700 permissions to the backend.

As soon as the user runs hp-sendfax, hp-sendfax checks the hot folder 
regularly (for example every 3 sec) and shows every file in the list of 
files to be faxed, but does not delete or modify any file in the hot 
folder. If the user uses the "add to list" function, the chosen file is 
simply put into the fax queue and the converted file appears 
automatically in the list as soon as CUPS has converted it and the hpfax 
backend has dropped the result in the hot folder. If the user finally 
sends his fax, every successfully faxed file gets deleted from the hot 
folder. If the user closes hp-sendfax without faxing, the files stay in 
the hot folder and can be faxed by calling hp-sendfax later.

Advantages:

- CUPS queue for faxing is not blocked when the user who has sent the 
first job has no hp-sendfax running, as fax jobs leave the CUPS queue 
immediately.

- CUPS's filter work to get a job converted to G3 can easily be 
monitored by watching files appearing in the hot folder and by opening 
them with Konqueror (Konqueror uses KDE's fax program to display G3 files).

- hp-sendfax can be started before or after sending the fax job, nothing 
gets lost due to hp-sendfax not running.

- hp-sendfax can be closed without faxing and the fax jobs do not get 
lost. They can be faxed later.

- The data flow is much more clear to users and admins, so debugging is 
easier. Also maintaining it secure is probably easier then.

WDYT about that?

    Till

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
HPLIP-Devel mailing list
HPLIP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hplip-devel

Reply via email to