Bug 184798 - Full HPLIP support in YaST printer module
Summary: Full HPLIP support in YaST printer module
Status: RESOLVED FIXED
: 230493 (view as bug list)
Alias: None
Product: openSUSE 11.1
Classification: openSUSE
Component: Printing (show other bugs)
Version: Alpha 0
Hardware: All openSUSE 11.0
: P5 - None : Major with 16 votes (vote)
Target Milestone: ---
Assignee: Johannes Meixner
QA Contact: Johannes Meixner
URL:
Whiteboard:
Keywords:
Depends on: 175323 184824 184825 184827 186587 203207 226038 237693 309933 330063 330615 332750 334166 335901 378248 396246
Blocks:
  Show dependency treegraph
 
Reported: 2006-06-14 09:25 UTC by Johannes Meixner
Modified: 2008-08-14 07:34 UTC (History)
5 users (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
y2log for comment #1 (272.21 KB, text/plain)
2006-06-14 09:36 UTC, Johannes Meixner
Details
My mail on <hplip-help@lists.sourceforge.net> (8.17 KB, text/plain)
2007-07-24 05:46 UTC, Johannes Meixner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Meixner 2006-06-14 09:25:51 UTC
This is an enhancement request for Suse Linux 10.2.
Nevertheless it is marked as "major" bug because
at the moment the HPLIP support in YaST printer module
is insufficient for the current HPLIP version (i.e. if nothing
changes in YaST it would be actually a major bug in 10.2).
For RPMs of the current HPLIP for Suse Linux 10.1, see
ftp://ftp.suse.com/pub/people/jsmeix/unsupported/hplip/10.1/RPMS/

This one is intended as a summary what should be done to get
"full HPLIP support in YaST printer module".


A)
The topmost problem is that YaST hides the special case "HPLIP"
from the user (e.g. it doesn't show the correct CUPS DeviceURI
but instead some vague "beautified" information so that it
is not clear whether the CUPS "usb" backend is used or the
HPLIP "hp" backend).

For a normal user (i.e. a user who doesn't know about what
is going on behind the YaST surface) the HPLIP stuff is
obscure and as a result it results easily wrong setups.

See the related bug #175323.

To solve it, I suggest the following:
Seperate HPLIP printers from usual USB/parport/network printers.
Therefore add a new connection type for HPLIP printers, see
https://bugzilla.novell.com/show_bug.cgi?id=175323#c9

Which models belong to HPLIP is listed in
/usr/share/hplip/data/xml/models.xml
YaST should parse this file instead of the currently used
fixed list of HP all-in-one devices because only this file
matches always to the actually installed version of HPLIP.
Hopefully the model names in the "case-model" section
match well to the autodetected model name.


B)
Support HPLIP network printers and all-in-one devices.
See netx item C):


C)
Add support for faxing in YaST.
This is a real enhancement request.

The current HPLIP supports sending faxes for HP all-in-one devices
if the device has a built-in fax-unit.
I have a HP Officejet 7210 with USB and network connection to test it.
Michal, do you also have a HP all-in-one device with built-in fax-unit?

To send a fax an additional special print queue must be set up
(therefore it belongs to the YaST printer module).
This queue must use the new special backend "hpfax"
(/usr/lib[64]/cups/backend/hpfax)
and it must use the new special PPD file "HP-Fax-hplip.ppd"
(/usr/share/cups/model/manufacturer-PPDs/hplip/HP-Fax-hplip.ppd).
The DeviceURI for the "hpfax" queue is the same as for the
normal "hp" print queue only the backend name is exchanged, e.g.:
When the DeviceURI for the HPLIP print queue is
hp:/usb/Officejet_7200_series?serial=1X2Y3Z
then the DeviceURI for the HPLIP fax queue is
hpfax:/usb/Officejet_7200_series?serial=1X2Y3Z

Remember that HPLIP also supports network printers.
For example my Officejet 7210 has the IP address 10.10.100.100
and my DeviceURIs are
hp:/net/Officejet_7200_series?ip=10.10.100.100
hpfax:/net/Officejet_7200_series?ip=10.10.100.100

To autodetect a HPLIP network printer, the user must specify its IP.
(The "hp" backend does no network scan.)
Then the HP tool /usr/share/hplip/makeuri can be used:
----------------------------------------------------------------------
user@host$ /usr/share/hplip/makeuri -c -s -f 10.10.100.100
hp:/net/Officejet_7200_series?ip=10.10.100.100
hpaio:/net/Officejet_7200_series?ip=10.10.100.100
hpfax:/net/Officejet_7200_series?ip=10.10.100.100
----------------------------------------------------------------------
See "/usr/share/hplip/makeuri -h".

Which models do have a built-in fax-unit is listed in
/usr/share/hplip/data/xml/models.xml
(i.e. all models where "fax type" != "0")
see the comments at the bottom of this file.


D)
usblp <-> usbfs/libusb conflict:

The current HPLIP "hp" backend removes HP USB-printers
from the USB device list (it uses libusb) so that the CUPS
usb backend will no longer work with those printers.
Remember that during startup of cupsd all backends are executed
so that at the moment no HP USB-printer works with the
CUPS usb backend if HPLIP is installed.
According to the HPLIP developers this will change the future:
-------------------------------------------------------------------------
Suffield, David wrote (shortened):
> > I have fixed this in the "hp" backend for the next release. 
> > A device discovery in the "hp" backend will no longer remove
> > the usblp for that URI. But, any other I/O (ie: printing,
> > toolbox or scanning) will remove usblp for that URI which
> > would disable the "usb" backend for that URI.
> 
> Could you explain why the "usb" backend and the "hp" backend 
> can no longer co-exist for "real" I/O?
> 
> When they cannot co-exist for "real" I/O, there will be the 
> problem that a queue can be set up using "usb" because it can 
> detect the printer and a second queue for the same device can 
> be set up using "hp" because it also detects the device but 
> then the "usb"-queue stops to work as soon as the "hp"-queue 
> was used once.

[...]

Yes, this is a general kernel problem. You cannot have two different
drivers (kernel modules) talking to the same USB device. In this case
usblp and usbfs (ie: libusb). 

I have talked to Michael Sweet, and he is planning on releasing a
libusb version of the CUPS "usb" backend. Once both backends
use libusb the problem goes away.
-------------------------------------------------------------------------

Regardless what there will be in Suse Linux 10.2:
The crucial point is that YaST printer module must work
in full compliance to the CUPS backend design and in
full compliance to the HPLIP design - otherwise
it may too often end up for the user in obsure mess.

Regarding disabled queues remember bug 119588.
Comment 1 Johannes Meixner 2006-06-14 09:34:25 UTC
By the way:
Right now I set up my LaserJet 1200 with current HPLIP
which rsults the DeviceURI
hp:/usb/HP_LaserJet_1220?serial=00XXXXXXXXXX
and then (during te same YaST run) I added one more queue
for this printer but the second queue got the DeviceURI
usb://HP/LaserJet%201220
which does not work because of item D) above.

The bug is that an additional new queue for the same printer
should result the same DeviceURI by default.
Comment 2 Johannes Meixner 2006-06-14 09:36:05 UTC
Created attachment 89297 [details]
y2log for comment #1
Comment 3 Johannes Meixner 2006-06-14 11:46:23 UTC
I will make seperated bug reports and let bug 184798 as a
"parent" bug depend on the individual "childs" and I reassign
the parent to me and keep it open until all the childs are solved.
Comment 4 Johannes Meixner 2006-06-14 12:14:58 UTC
Split it as follows:

Items A and B are bug #175323.

Item C => bug #184824

Item D => bug #184825

Comment #1 => bug #184827
Comment 6 Johannes Meixner 2006-06-21 10:15:54 UTC
See also
https://bugzilla.novell.com/show_bug.cgi?id=116446#c2
Comment 7 Michal Zugec 2006-09-01 11:31:53 UTC
mark as invalid, because this bug is splitted to separated reports
Comment 8 Johannes Meixner 2006-09-01 11:44:51 UTC
Hey - it's my bug (i.e. it is assigne to me).
It is not invalid.
Comment 9 Johannes Meixner 2006-09-01 11:46:53 UTC
I will close it ad fixed when all dependent bugs are fixed.
At the moment bug #184827 is not yet fixed.
Comment 10 Johannes Meixner 2006-09-01 11:52:41 UTC
Because HPLIP is also for scanners, bug #203207 also belongs to this one.
Comment 11 Johannes Meixner 2006-12-05 13:06:54 UTC
A bug in openSUSE 10.2:
Bug #226038 - service hplip not started for testpage print in YaST.
Comment 12 Johannes Meixner 2006-12-20 13:53:24 UTC
Regarding the models.xml files (see item A and C):
In the newest HPLIP 1.6.12 version the new models.dat file replaces
the .xml files. For third-party applications, the preferred way
to read the models.dat file is to use the hplip_api. The hplip_api
can be used to get model attributes without running the HPLIP daemons.
See hplip_api.h for reference.
Comment 13 Johannes Meixner 2006-12-22 13:26:20 UTC
*** Bug 230493 has been marked as a duplicate of this bug. ***
Comment 14 Johannes Meixner 2007-01-23 10:31:34 UTC
Bug #237693 "hplip service started because of remote HP all-in-one device"
is another problem.
Comment 15 Forgotten User xs3PtXj4XH 2007-02-09 01:47:25 UTC
Yes, please implement these changes.  I agree that something needs to be done.  New users are likely to become frustrated after finding their "100% linux compatible" HP multifunctions don't work the way they thought (at least this is what they will think).
Comment 16 Johannes Meixner 2007-05-24 09:06:37 UTC
Also a duplicate: bug #276824
"HP Photosmart C4180 drops out of ready for printing after scanning"
Comment 17 Johannes Meixner 2007-06-05 08:43:33 UTC
Also a duplicate: bug #280047
"Cannot Use Both Scanner And Printer On The Officejet 6210"
Comment 18 Jarl Friis 2007-07-21 18:12:51 UTC
Does the release of version 2.7.6 (or newer) make the solution to this bug (and all the child bugs) simpler? From the release notes of version 2.7.6, I quote "No more Start-up daemons; New Direct Device I/O (hpmud)"

Or does that new architecture have other impact on these bugs? I hope suse 10.3 plans to include HPLIP 2.7.6 or later
Comment 19 Johannes Meixner 2007-07-24 05:46:08 UTC
Created attachment 152555 [details]
My mail on <hplip-help@lists.sourceforge.net>

See this mail on <hplip-help@lists.sourceforge.net> regarding HPLIP 2.7.6
Comment 20 Jarl Friis 2007-10-20 06:27:14 UTC
(In reply to comment #9 from Johannes Meixner)
> I will close it ad fixed when all dependent bugs are fixed.
> At the moment bug #184827 is not yet fixed.
> 

Wouldn't it be appropriate to update the "product" and "OS" fields. I still experience problems with hplip capable printers in SuSE 10.3 final. Should I describe these problems in separate bugs? Somehow I wouldn't open a new bug since this is yet not marked fixed.
Comment 21 Johannes Meixner 2007-10-23 06:52:06 UTC
Updated "product" from openSUSE 10.2 to openSUSE 11.0
which means the issue is also present in openSUSE 10.3.

Regarding any "HPLIP and YaST" issue:
Please file seperated bug reports for each seperated issue.
This bug #184798 is only a "parent" bug to have an overview
over its individual "childs", see comment #3.
Comment 22 Jakub Rusinek 2008-05-29 16:18:48 UTC
Shouldn't this bug be closed now?
Comment 23 Johannes Meixner 2008-05-30 06:08:38 UTC
Moving this one to product "openSUSE 11.1" because there are
still several open issues are (see the "Dependencies" below):
bug #116446, bug #203207, bug #309933, and bug #378248.

In general as long as hp-setup does a much better job
to set up a HP printer than YaST, this bug is vaild.
Comment 24 Johannes Meixner 2008-05-30 06:27:17 UTC
This one does no longer depend on bug #116446, see
https://bugzilla.novell.com/show_bug.cgi?id=116446#c7
Comment 25 Johannes Meixner 2008-06-04 13:38:40 UTC
As an example for "hp-setup does a much better job
to set up a HP printer than YaST", is bug 396246:
"HP PSC 2175 wrong driver used (but via hp-setup it works)".
Comment 26 Johannes Meixner 2008-08-14 07:34:37 UTC
All dependant bugs are now solved
so that I close this one now as well.

Currently this are the dependant bugs:
bug #175323, bug #184824, bug #184825, bug #184827, bug #186587,
bug #203207, bug #226038, bug #237693, bug #309933, bug #330063,
bug #330615, bug #332750, bug #334166, bug #335901, bug #378248,
bug #396246.