Bug 688614

Summary: hpijs fails with "unable to open PrintContext object err=2" for the "hp" backend for some HP network printers (it works with the "socket" backend)
Product: [openSUSE] openSUSE 11.4 Reporter: jordi relats <jordirelats>
Component: PrintingAssignee: Johannes Meixner <jsmeix>
Status: RESOLVED UPSTREAM QA Contact: Johannes Meixner <jsmeix>
Severity: Normal    
Priority: P5 - None CC: forgotten_gxNgjAWAcH, gordon, mt, ralf
Version: Final   
Target Milestone: ---   
Hardware: i686   
OS: openSUSE 11.4   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: hpcheck log
Output of hpcheck command
cups error log when printing test page with HPLIP tool, printer created with hp-toolbox, printer driver hpijs
cups error log when printing from kwrite, printer created with hp-toolbox, printer driver hpijs
cups error log when printing from kwrite, printer created with hp-toolbox, printer driver hpcups

Description jordi relats 2011-04-19 21:00:46 UTC
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:2.0.0) Gecko/20100101 Firefox/4.0

When Installing printer HP officejet 7500A (LAN MODE) using the HP_SETUP the printer is found and install without problem, but when print on the print document I get the following message **** Unable to open the initial device, quitting. 
When the printer is installed using yast on tcp port using Jetdirect option is working perfectly.

For other printers the hp-setup works perfectly

Reproducible: Always

Steps to Reproduce:
1Install printer hp officejet 7500A with hp-setup
2.
3.
Actual Results:  
on the printing document I get
**** Unable to open the initial device, quitting. 

Expected Results:  
the document selected to be print
Comment 1 Johannes Meixner 2011-04-20 07:57:05 UTC
"**** Unable to open the initial device, quitting."
is a Ghostscript error message - in this case usually when
the Ghostscript ijs device is used without an ijs server:
-------------------------------------------------------------
# gs -sDEVICE=ijs
...
**** Unable to open the initial device, quitting.
-------------------------------------------------------------
Instead of the normal printing output this Ghostscript
error message is sent to your printer so that it
appears on the printed paper.

Currently I have no idea what the root cause is
which lets Ghostscript fail in your particular case.

I need more information:

What is the output of
  rpm -qa | grep hplip
and
  rpm -qa | grep -i ghostscript
Provide the output of both commands in a comment to this bug.

As root run
  hp-check -r -t &>/tmp/hpcheck.log
Attach /tmp/hpcheck.log as MIME type "text/plain" to this bug.

What is the output when you run as root
  /usr/lib/cups/backend/hp
Provide the output of this command in a comment to this bug.

Provide CUPS debug messages for one single failed print job
as follows, see "If problems are encountered:" at
http://en.opensuse.org/SDB:CUPS_in_a_Nutshell
1. Set the "LogLevel debug" in /etc/cups/cupsd.conf.
2. Stop cupsd.
3. Move /var/log/cups/error_log* to another location (or delete it)
   in order to avoid having to search through gigantic log files.
4. Start cupsd.
5. Retry the action leading to the problem.
   I.e. submit one single print job which fails
   with "Unable to open the initial device".
6. Attach /var/log/cups/error_log as MIME type "text/plain"
   to this bug.
Comment 2 jordi relats 2011-04-21 20:27:17 UTC
Created attachment 426187 [details]
hpcheck log
Comment 3 jordi relats 2011-04-21 20:28:17 UTC
Some information needed:
jordi@linux-61yw:~> rpm -qa | grep hplip
hplip-3.11.3a-30.1.i586
hplip-hpijs-3.11.3a-30.1.i586

jordi@linux-61yw:~> rpm -qa | grep -i ghostscript
ghostscript-fonts-std-9.00-4.8.1.noarch
ghostscript-library-9.00-4.8.1.i586
ghostscript-x11-9.00-4.8.1.i586
ghostscript-fonts-other-9.00-4.8.1.noarch

jordi@linux-61yw:~> su
Contrasenya: 
linux-61yw:/home/jordi #  /usr/lib/cups/backend/hp
direct hp "Unknown" "HP Printer (HPLIP)"
Comment 4 jordi relats 2011-04-21 20:35:36 UTC
/etc/cups/cupsd.conf. is empty using kwrite to read
Comment 5 Johannes Meixner 2011-04-26 09:52:35 UTC
hp-check log in attachment #426187 [details]
does not show me something which is wrong

I need CUPS debug messages for one single failed print job.

An empty /etc/cups/cupsd.conf is not good.
What is the output when you run as root
  ls -l /etc/cups/cupsd*
Comment 6 jordi relats 2011-04-26 19:24:53 UTC
See the information required

linux-61yw:/home/jordi #  ls -l /etc/cups/cupsd*
-rw-r----- 2 root lp 5159 21 abr 15:30 /etc/cups/cupsd.conf
-rw-r----- 2 root lp 5159 21 abr 15:30 /etc/cups/cupsd.conf.default
linux-61yw:/home/jordi #

I have open cupsd.conf.default with kwrite and is empty too.

This problem only happen with this printer I have a hp_LaserJet_4345_mfp installed via network and works perfectly installed with HPLIP.

I have and other computer and I have exactly the same problem, and the files are empty when I open with Kwrite.
Comment 7 Forgotten User gxNgjAWAcH 2011-04-26 22:30:01 UTC
Hi,
I have exactly the same problem with OpenSuse 11.4 x86_64, and printer HP OfficeJet Pro8500 n909n.

When using the JetDirect IP, it works, but when configured trough the HP utility, it produces "Unable to open the initial device, quitting."
Comment 8 Johannes Meixner 2011-04-27 07:36:20 UTC
Svetoslav Milenov,
please provide all the information as described in comment #1
Comment 9 Ralf Krüdewagen 2011-04-28 09:56:25 UTC
See also discussion in #681071 at https://bugzilla.novell.com/show_bug.cgi?id=681071.

The "Unable to open the initial device" error appears also in my setup (openSUSE 11.4 32 bit, HP OfficeJet Pro 8500 a910), but only when I use the hpijs driver. Using the cups driver leads to inverted colors discussed in bug #681071.
Comment 10 Ralf Krüdewagen 2011-04-28 12:17:03 UTC
(In reply to comment #9)
Okay, just made some more tests using hp-tool and yast for creating the printers. The "Unable to open the initial device" problem with hpijs driver disappears if the printer is created with yast.

Here are the entries in printers.conf ("hp" is created with yast, "Officejet_Pro_8500_A910" with hp-tool):

<DefaultPrinter hp>
Info HP Officejet Pro 8500 a910 hpijs, 3.11.3a
MakeModel HP Officejet Pro 8500 a910 hpijs, 3.11.3a
DeviceURI socket://192.168.245.207:9100
State Idle
StateTime 1303991970
Type 8425500
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-postscript 100 foomatic-rip-hplip
Filter application/vnd.cups-pdf 0 foomatic-rip-hplip
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
Attribute marker-colors none,none,none,none
Attribute marker-levels 16,53,57,57
Attribute marker-names yellow ink C4902S,magenta ink C4909S,cyan ink C4908S,light cyan ink C4907S
Attribute marker-types ink,ink,ink,ink
Attribute marker-change-time 1303991970
</Printer>

<Printer Officejet_Pro_8500_A910>
Info 
Location 
MakeModel HP Officejet Pro 8500 a910 hpijs, 3.11.3a
DeviceURI hp:/net/Officejet_Pro_8500_A910?ip=192.168.245.207
State Idle
StateTime 1303992647
Type 8425500
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-postscript 100 foomatic-rip-hplip
Filter application/vnd.cups-pdf 0 foomatic-rip-hplip
Filter application/vnd.cups-command 0 commandtops
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Main difference seems to be the different DeviceURI.
Comment 11 Johannes Meixner 2011-04-28 13:11:26 UTC
Many thanks!

At last comment #10 provides exact data which show
that the backend (i.e. DeviceURI) "socket" versus "hp"
makes a difference (compare what was mentioned
in comment #0 and in comment #7).

But without CUPS debug information or "hp" log messages
from /var/log/messages which hopefully show something
of interest I still have no idea about the root cause.

Ralf Krüdewagen,
perhaps you could provide CUPS debug information
(see comment #1) and/or "hp" log messages
from /var/log/messages which hopefully show
something of interest?
Comment 12 Ralf Krüdewagen 2011-04-29 05:57:58 UTC
Created attachment 427210 [details]
Output of hpcheck command
Comment 13 Ralf Krüdewagen 2011-04-29 05:59:55 UTC
Created attachment 427211 [details]
cups error log when printing test page with HPLIP tool, printer created with hp-toolbox, printer driver hpijs
Comment 14 Ralf Krüdewagen 2011-04-29 06:00:51 UTC
Created attachment 427212 [details]
cups error log when printing from kwrite, printer created with hp-toolbox, printer driver hpijs
Comment 15 Ralf Krüdewagen 2011-04-29 06:19:57 UTC
(In reply to comment #11)

Johannes, please see attached hpcheck log and cups error logs (1st printing test page from hp tool, 2nd printing from kwrite).

And here is the other info:
-------------------------------------------
# rpm -qa | grep hplip
hplip-hpijs-3.11.3a-30.1.i586
hplip-3.11.3a-30.1.i586

# rpm -qa | grep -i ghostscript
ghostscript-fonts-other-9.00-53.1.noarch
ghostscript-fonts-std-9.00-53.1.noarch
ghostscript-x11-9.00-53.1.i586
ghostscript-library-9.00-53.1.i586

# /usr/lib/cups/backend/hp
direct hp "Unknown" "HP Printer (HPLIP)"

scheduler is running
system default destination: hp
device for hp: socket://192.168.245.207:9100
device for hp_cups: socket://192.168.245.207:9100
device for Officejet_Pro_8500_A910: hp:/net/Officejet_Pro_8500_A910?ip=192.168.245.207
device for Photosmart_C5100: hp:/net/Photosmart_C5100_series?zc=hp
device for pipe: pipe
hp accepting requests since Thu Apr 28 14:31:04 2011
hp_cups accepting requests since Thu Apr 28 14:06:57 2011
Officejet_Pro_8500_A910 accepting requests since Fri Apr 29 07:48:19 2011
Photosmart_C5100 accepting requests since Fri Mar 25 07:36:46 2011
pipe accepting requests since Thu Feb 25 08:57:58 2010
printer hp is idle.  enabled since Thu Apr 28 14:31:04 2011
printer hp_cups is idle.  enabled since Thu Apr 28 14:06:57 2011
printer Officejet_Pro_8500_A910 is idle.  enabled since Fri Apr 29 07:48:19 2011
        ready to print
printer Photosmart_C5100 is idle.  enabled since Fri Mar 25 07:36:46 2011
printer pipe disabled since Thu Feb 25 08:57:58 2010 -
        Filter "/usr/lib/cups/filter/foomatic-rip" for printer "pipe" not available: No such file or directory
-------------------------------------------

Notes:
* I have installed cups packages from http://download.opensuse.org/repositories/Printing/openSUSE_11.4/ and ghostscript from http://download.opensuse.org/repositories/home:/jsmeix:/branches:/Printing:/ghostscript/openSUSE_11.4/ in order to get rid of the problems described here and the other bug described in bug #681071.

* The printer "hp" is created with yast2 and works fine (when using hpijs driver, see #681071) !!! It's the printer "Officejet_Pro_8500_A910" which causes the device troubles regarding this ticket. This printer was created with hplip tools. If this is a hplip bug, then I could raise a ticket at https://launchpad.net/hplip. But strange is that a printer created with the hplip tools works if I use hp-cups driver. So this "device error" bug only occurs in combination hp-tool/hpijs driver.

* During the tests today for generating the debug output, no "Unable to open the initial device" error was printed to paper. This error seems to appear not every time. The actual print jobs were just not printed and remained in the queue. But these error messages in the error_log are always the same:

D [29/Apr/2011:07:43:57 +0200] [Job 112] prnt/hpijs/hpijs.cpp 638: unable to open PrintContext object err=2
D [29/Apr/2011:07:43:57 +0200] [Job 112] GPL Ghostscript  9.00: Can't start ijs server "hpijs"
D [29/Apr/2011:07:43:57 +0200] [Job 112] Process 16775 ending: "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=ijs -sIjsServer=hpijs -dDEVICEWIDT
HPOINTS=5..."

The same error from /var/log/messages:
-------------------------------------------
Apr 29 07:43:57 eddrakr hpijs[16777]: prnt/hpijs/hpijs.cpp 638: unable to open PrintContext object err=2
Apr 29 07:44:06 eddrakr hp[16767]: prnt/backend/hp.c 839: ERROR: null print job total=0
-------------------------------------------

If you need more info, just give me a note.
Comment 16 Ralf Krüdewagen 2011-04-29 06:22:00 UTC
Oh, just forgot to mention the the output staring with

----
scheduler is running
system default destination: hp
----

is from command "lpstat -t".
Comment 17 Ralf Krüdewagen 2011-04-29 06:56:54 UTC
Created attachment 427226 [details]
cups error log when printing from kwrite, printer created with hp-toolbox, printer driver hpcups
Comment 18 Ralf Krüdewagen 2011-04-29 07:01:38 UTC
I have created another printer with hp-toolbox but now with hpcups driver. Printing works as a I have stated above. See attached error_log_3 at https://bugzilla.novell.com/attachment.cgi?id=427226

printers.conf:
<Printer Officejet_Pro_8500_A910_hpcups>
Info HP Officejet Pro 8500 a910, hpcups 3.11.3a
MakeModel HP Officejet Pro 8500 a910, hpcups 3.11.3a
DeviceURI hp:/net/Officejet_Pro_8500_A910?ip=192.168.245.207
State Idle
StateTime 1304059821
Type 36876
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-raster 0 hpcups
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
Comment 19 Johannes Meixner 2011-04-29 08:37:46 UTC
Ralf Krüdewagen,
very many thanks for your complete and exact logs!

Without logs of such quality there would be nothing
what I could do here but now there can be progress:

Both attachment #427211 [details]
(cups error log when printing test page with HPLIP tool)
and attachment #427212 [details]
(cups error log when printing from kwrite)
and your comment #15
show the actual piece of software which fails via:

  prnt/hpijs/hpijs.cpp 638: unable to open PrintContext object err=2

It is the hpijs driver which fails
and as a consequence Ghostscript which had called
the hpijs driver also fails and Ghostscript outputs
on stderr:      Can't start ijs server "hpijs"
and on stdout:  Unable to open the initial device, quitting.

Currently I have no idea what the root cause could be
which lets the hpijs driver fail in this case.

I searched in Google for
"unable to open PrintContext object err=2"
and got an old bug report from Jan 2008
https://bugs.launchpad.net/hplip/+bug/182658
(start to read at "#4" therein)
which ends with "Fixed in hplip 2.8.2."
and
a newer user question
https://answers.launchpad.net/hplip/+question/99661
which shows an interesting possible reason
because therein I found (near the end):
-------------------------------------------------------------
kovach  said on 2010-04-27:
YES, still having a problem to run the HP P1006 on RHE 5.0.
-------------------------------------------------------------
Naga Samrat Chowdary, Narla  said on 2010-05-14:
Please try by setting following settings.
System -> SELinux Management
Set "System Default Enforcing Mode" and
"Current Enforcing Mode" to Permissive.
and try printing.
-------------------------------------------------------------
kovach said on 2010-05-14:
That did the trick!
-------------------------------------------------------------


Ralf Krüdewagen,

do you have any kind of special security software active
like AppArmor, SELinux, Firewall, whatever else?

E.g. see
Bug #539401 (AppArmor lets cupsd fail to start)
Bug #474403 (AppArmor makes CUPS irresponsive)

Have in mind that the filters and the CUPS backend
are run by default as the user "lp" so that this
user must have sufficient permissions e.g. to run
subsequent filter programs and/or to communicate
with the printer device via USB or network.


FYI, some background information:

All stderr output of all filters is redirected to the cupsd
which writes it into /var/log/cups/error_log if
"LogLevel debug" is set in /etc/cups/cupsd.conf
so that both the hpijs stderr output
  prnt/hpijs/hpijs.cpp 638: unable to open PrintContext object err=2
and the Ghostscript stderr output
  Can't start ijs server "hpijs"
appear in /var/log/cups/error_log

Now it depends on how exactly Ghostscript was called
by which kind of foomatic-rip filter (either foomatic-rip
or foomatic-rip-hplip) whether or not Ghostscript's stdout output
  Unable to open the initial device, quitting.
is discarded or sent as if it was usual filter output
to the CUPS backend which sends it to the printer device.
Comment 20 Johannes Meixner 2011-04-29 08:48:50 UTC
Regardless what the root cause is why hpijs fails here
I think that there is in any case a minor bug in hplip
because its current error message

  "unable to open PrintContext object err=2"

is meaningless even for experienced users
(in particular because "err=2" is meaningless)
and HPLIP seems to fail to inform the user
in a meaninful way about the error.

Any filter program which aborts should send
a meaningful stderr message with an appropriate prefix
as described in "man 7 filter (see LOG MESSAGES)"
so that CUPS can show meaningful messages to the user.

Therefore I suggest that you raise a ticket at
https://launchpad.net/hplip
to have the HPLIP authors at least informed.
Comment 21 Johannes Meixner 2011-04-29 09:02:55 UTC
FYI:
To simulate the above Ghostscript stdout and stderr output run
----------------------------------------------------------------
# gs -q -sDEVICE=ijs -sIjsServer=/bin/false 2>/dev/null
**** Unable to open the initial device, quitting.

# gs -q -sDEVICE=ijs -sIjsServer=/bin/false 1>/dev/null
GPL Ghostscript  9.00: Can't start ijs server "/bin/false"
----------------------------------------------------------------
Comment 22 Ralf Krüdewagen 2011-04-29 10:16:21 UTC
Thanks for your feedback.

No, I don't have AppArmor or SELinux enabled (BTW: openSUSE 11.4 enabled AppArmor by default, which is IMHO bad and caused other problems; so I disabled it a while ago). SuSEfirewall was running, but even after stopping it printing does still not work.

So, it might in deed be the best if I create a ticket at https://launchpad.net/hplip. But before I do so I would like to test with another HP printer on another machine on another place. If I raise a ticket at HPLIP team I will put the ticket# here. But that could take some days. 

I'm not sure if you want me to check anything else (e.g. the manual "gs" commands from above, which give same output then you described or do I need to compile a real gs statement?). If so let me know.
Comment 23 Johannes Meixner 2011-04-29 10:30:49 UTC
FYI:

An analogon for a HP USB printer (fails with the "hp" backend
but works with the generic CUPS backend "usb"), see
https://bugs.launchpad.net/hplip/+bug/506303

Regarding meaningless error messages in the logs
and no message at all to the user, see
https://bugs.launchpad.net/hplip/+bug/199084

I think HPLIP should be more robust against errors
and exit at least with a nice error message, see
https://bugs.launchpad.net/hplip/+bug/319231
Comment 24 Johannes Meixner 2011-04-29 10:34:27 UTC
Yes, please create a ticket at
https://launchpad.net/hplip

For now I don't have an idea which additional information
might reveal the real root cause.
Comment 25 jordi relats 2011-04-29 10:41:45 UTC
I have tested in a hp_LaserJet_4345_mfp installed via network and works perfectly installed with HPLIP, is only some printers that it fail
Comment 26 jordi relats 2011-04-29 10:43:51 UTC
I have tested in a hp_LaserJet_4345_mfp installed via network and works perfectly installed with HPLIP, is only some printers that it fail
Comment 27 Johannes Meixner 2011-04-29 11:00:53 UTC
When it is "only some printers that fail" this issue here
matches to the analogon for a HP USB printer in
https://bugs.launchpad.net/hplip/+bug/506303

When issues depend on particular printer models
there is almost nothing we (i.e. openSUSE/Novell) can do
because usually we neither have the particular printers
(I have none of the above mentioned printer models)
so that we can neither reproduce it nor could we verify
what a tentative change in the printer driver actually results
nor do we have model-specific knowledge to fix model-specific
issues in printer drivers.

I am afraid but all what I can do is to close the issue
as UPSTREAM.

I ask all of you to "Report a Bug" via
http://hplipopensource.com/hplip-web/support.html

Please provide at least the "hp-check -t" output to them
because the HPLIP developers usually ask for it.


Regardless that it is closed as UPSTREAM you can add comments
(you do not need to reopen it) and I would appreciate it
when you keep me informed what goes on at upstream HPLIP.
Comment 28 Johannes Meixner 2011-04-29 13:44:37 UTC
FYI:

From my non-expert point of view and as far as I understand
prnt/hpijs/hpijs.cpp in the HPLIP sources (long lines wrapped here)
----------------------------------------------------------------------------
   pSS->pPC = new PrintContext (pSS, 0, 0);

   /* Ignore JOB_CANCELED. This a bi-di hack that allows
      the job to continue even if bi-di communication failed. */
   if (pSS->pPC->constructor_error > 0 
       && pSS->DisplayStatus != DISPLAY_PRINTING_CANCELED)
   {
      BUG("unable to open PrintContext object err=%d\n",
          pSS->pPC->constructor_error);
      goto BUGOUT;
   }
----------------------------------------------------------------------------
it seems it is an issue with bidirectional communication.

Compare
https://bugzilla.novell.com/show_bug.cgi?id=462048#c23

If it is really an issue with bidirectional communication
it is a bug in HPLIP because HPIJS should not abort but
fall back to unidirectional communication if bidirectional
communication is not possible and if the printer also
works with unidirectional communication (some printers
do not work with unidirectional communication but then
the "socket" backend would also not work), see
http://hplipopensource.com/node/128

The generic CUPS backend "socket" does basically
unidirectional communication (i.e. it only sends
the data to port 9100 at the network printer)
similar as the "backend for a network printer" at
http://en.opensuse.org/SDB:Using_Your_Own_Backends_to_Print_with_CUPS

From my corrent point of view it seems HPLIP/HPIJS is still
not sufficiently robust if bidirectional communication fails.
Comment 29 Ralf Krüdewagen 2011-04-29 16:07:58 UTC
This problem seems really only affect some printer models, since my Photosmart C5180 at home works fine with hpijs driver over network.

I have created the following bug report at HPLIP: https://bugs.launchpad.net/hplip/+bug/773374
Comment 30 Ralf Krüdewagen 2011-05-18 06:00:21 UTC
Just for info: New HPLIP 3.11.5 does not fix this issue.
Comment 31 Gordon Dickens 2011-12-25 20:42:15 UTC
I realize that this bug has been closed, however, I have evidence that this is an OpenSUSE problem and not an upstream hplip problem. I am indeed having these problems with my OpenSUSE systems, however, these problems do not exist with my two CentOS systems on the exact same network with my HP 8500 A910 printer. Therefore, I have come to the conclusion that this is not an upstream problem but a problem with the OpenSUSE implementation.

Here is a summary of what I have found along with a work-around solution:

The hpijs driver does not work at all for printing in OpenSUSE.  You get the following errors in /var/log/cups/error_log with the hpijs driver:

[Job 118] prnt/hpijs/hpijs.cpp 638: unable to open PrintContext object err=2
[Job 118] GPL Ghostscript  9.00: Can't start ijs server "hpijs"
[Job 118] **** Unable to open the initial device, quitting.
[Job 118] renderer exited with status 1
[Job 118] Possible error on renderer command line or PostScript error. Check options.kid3 exited with status 3
[Job 118] Process is dying with "Error closing renderer

This hpijs driver works fine with a slightly older version of CUPS (1.3.7) and hplip (3.10.6) on my CentOS 5.7 machines so I think this is somehow related to OpenSUSE's implementation of CUPS (version 1.5.0) or hplip (3.11.10).

As an FYI, my work-around solution for this problem was to use the hpcups driver for printing.  However, then I found a problem with the hpcups driver.  That is, the hpcups driver will not print some images such as FedEx or UPS barcodes.  So, I solved all this by setting up the printer configuration directly from the CUPS interface at http://localhost:631/printers with a socket driver. I setup the printer's network address as: socket://<Printer IP Address>:9100. This is my driver for printing since it will print everything including barcode images, however, it will not work for xsane scanning.  So, I then setup another printer configuration for scanning using the hpcups driver.  While this is quite a kluge of a solution it does work to get my OpenSUSE system printing and scanning.  That is,I have one printer config for printing and another printer config for scanning.

Also, another solution for OpenSUSE users is to setup NetBIOS/Samba network printing to work through another networked system OS such as CentOS, Windows, etc where the hpijs driver works for all printing including barcode images, etc. On my networks, all printing, including image printing, work great through my CentOS print servers.

FYI,

Gordon
Comment 32 Ralf Krüdewagen 2011-12-26 08:11:22 UTC
Yes, that fits to my latest experiences with the printer under openSUSE 12.1. The hpijs drivers does not work at all, the hpcups driver works (either setup with Yast or with the HP tool). However, I don't know which images the hpcups driver is not able print. I haven't tested with many different images yet.
Comment 33 Gordon Dickens 2011-12-26 15:13:15 UTC
Actually, the hpijs driver works fine as long as you use the socket:// connection instead of the standard hp:/net connection for the DeviceURI value. You can do this manually in /etc/cups/printers.conf or with the cups web interface. This is my HP 8500 A910 configuration in /etc/cups/printers.conf which has so far worked for all printing including images such as FedEX and UPS barcodes:

<Printer HP_8500_A910_Hurleston_Printer>
UUID urn:uuid:70e74a85-96b5-3a23-503f-7c85588fd8e9
Info HP Officejet Pro 8500 a909a hpijs, 3.11.10
Location
MakeModel HP Officejet Pro 8500 a910 hpijs, 3.11.10
DeviceURI socket://192.168.2.105:9100
State Idle
StateTime 1324887536
Type 8425500
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
Attribute marker-colors none,none,none,none
Attribute marker-levels 89,64,100,32
Attribute marker-names black ink C4906A,yellow ink C4905A,magenta ink C4904S,cyan ink C4903S
Attribute marker-types ink,ink,ink,ink
Attribute marker-change-time 1324887536
</Printer>
Comment 34 Johannes Meixner 2012-01-10 09:48:40 UTC
Regarding comment #31 "somehow related to OpenSUSE's implementation
of CUPS (version 1.5.0) or hplip (3.11.10)":

We neither have patches for CUPS nor for HPLIP which could cause
such an issue - i.e. we do not implement special stuff there.
We provide both CUPS and HPLIP "as is" from upstream.

Nevertheless something in the openSUSE environment (e.g. whatever
lower level libraries or complier settings or whatever else)
might make a difference which could cause issues which happen
only in the openSUSE environment.

But I guess CUPS 1.5.0 and HPLIP 3.11.10 have this issue on any
Linux distribution.

In particular in comment #33 "the hpijs driver works fine as long
as you use the socket:// connection instead of the standard hp:/net
connection for the DeviceURI" indicates that it is an issue in
HPLIP 3.11.10 (all their own drivers should work together with
all connection types of their own backend).