Bug 510926 - hpijs incorrectly reports low ink on HP PSC 2110v
Summary: hpijs incorrectly reports low ink on HP PSC 2110v
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: hplip
Version: 12
Hardware: i386
OS: Linux
low
low
Target Milestone: ---
Assignee: Tim Waugh
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-12 15:03 UTC by Matt Foster
Modified: 2010-07-27 02:44 UTC (History)
4 users (show)

Fixed In Version: hplip-3.10.5-1.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-07-27 02:44:29 UTC
Type: ---


Attachments (Terms of Use)
Screenshot that displays the status page from the printer's built in web server along with the CUPS/Gnome print tools incorrectly reporting low ink levels (1.39 MB, image/png)
2009-10-27 20:49 UTC, Tore Anderson
no flags Details
Output of printer troubleshooting (166.93 KB, text/plain)
2010-04-27 19:28 UTC, Dave Allan
no flags Details


Links
System ID Priority Status Summary Last Updated
CUPS Bugs and Features 3570 None None None Never
Launchpad 463298 None None None Never

Description Matt Foster 2009-07-12 15:03:21 UTC
Description of problem:
The hpijs driver is reporting the following two messages in /var/log/messages:
Jul 12 08:46:48 anvil hpijs: WARNING: both pens have low ink
Jul 12 08:46:48 anvil hpijs: STATE: +marker-supply-low-warning

This is incorrect, as the printer itself is not indicating low ink on its own status screen.  This is on a dual-boot machine, and WinXP SP3 does not indicate low ink for the same printer.

Version-Release number of selected component (if applicable):
hpijs-3.9.2-4.fc11.i586

How reproducible:
Always

Steps to Reproduce:
1. Connect an HP PSC 2110v
2. Observe incorrect low ink warnings
3.
  
Actual results:
Low ink warning when ink is not low

Expected results:
No warnings

Additional info:

Comment 1 Tim Waugh 2009-07-13 08:47:27 UTC
What does 'hp-levels' say?

The device itself might not give any indication until the ink level is detected as empty, or it may be that it has a different 'low' threshold than hplip does.

Comment 2 Matt Foster 2009-07-17 12:21:46 UTC
Here is the relevant part of the output from hp-levels...

Black cartridge
Part No.: 56 (C6656A) / 27 (C8727A)
Health: Low

----------------------------------------------------------------
|                                                              | (approx. 0%)
----------------------------------------------------------------

Tri-color cartridge
Part No.: 57 (C6657A) / 28 (C8728A)
Health: Low

----------------------------------------------------------------
|                                                              | (approx. 0%)
----------------------------------------------------------------


Done.

Comment 3 Tim Waugh 2009-08-28 09:45:48 UTC
Could you please try the test update?:

yum --enablerepo=updates-testing update 'hplip*' 'hpijs*' 'libsane-hpaio*'

Comment 4 Tim Waugh 2009-08-28 10:10:34 UTC
Oh, actually, please hold off testing it as I have just discovered a mis-build...

Comment 5 Matt Foster 2009-08-31 13:58:42 UTC
I've replaced that printer, so additional testing here might be tough.

Comment 6 Tim Waugh 2009-09-01 11:27:56 UTC
OK, closing due to lack of testing hardware.

Could it perhaps have been non-HP ink cartridges in the device?  Does the Windows driver ever warn about low ink?

Comment 7 Matt Foster 2009-09-05 18:27:15 UTC
They were HP ink cartridges and not refilled either.  Windows correctly warned about low ink levels.

Comment 8 Tore Anderson 2009-10-27 20:48:12 UTC
I have the exact same issue, but on a OfficeJet Pro K550.  It has been like this for a while, the print server ran Debian Lenny so I assumed it was a bug in the CUPS version running there but recently I re-installed with with F12 Beta and the warning is still present.  I'm attaching a screen shot which displays it quite nicely - the language is Norwegian but I think all you need to know is that «Skriver 'Gluttony' har lite blekk igjen» translates word-by-word to «Printer 'Gluttony' has little ink left» for it all to make sense.

So this bug can be re-opened, I think.  I'll be happy to help out with gathering more debug information.

Tore

Comment 9 Tore Anderson 2009-10-27 20:49:42 UTC
Created attachment 366346 [details]
Screenshot that displays the status page from the printer's built in web server along with the CUPS/Gnome print tools incorrectly reporting low ink levels

Comment 10 Tim Waugh 2009-10-28 13:46:20 UTC
Tore: please run this command:

/usr/lib/cups/backend/snmp gluttony

and show me the output.

Comment 11 Tore Anderson 2009-10-28 20:56:53 UTC
Sure:

[root@lust ~]# /usr/lib/cups/backend/snmp gluttony
network socket://192.168.1.4 "HP Officejet Pro K550" "HP Officejet Pro K550" "" ""
[root@lust ~]# 

This was run on the print server (F12 Beta), but the output is identical if I run it on the client too (F11).

Tore

Comment 12 Tim Waugh 2009-10-29 10:15:32 UTC
Please install the net-snmp-utils package and run this command:

snmpget -c public gluttony 1.3.6.1.4.1.11.2.3.9.1.1.7.0

Comment 13 Tore Anderson 2009-10-29 11:10:02 UTC
I needed to force SNMP version 1 for it to return anything:

[root@wrath ~]# snmpget -c public gluttony 1.3.6.1.4.1.11.2.3.9.1.1.7.0
snmpget: Timeout
[root@wrath ~]# snmpget -v 1 -c public gluttony 1.3.6.1.4.1.11.2.3.9.1.1.7.0
SNMPv2-SMI::enterprises.11.2.3.9.1.1.7.0 = STRING: "MFG:HP;MDL:Officejet Pro K550;CMD:MLC,PCL,PML,DESKJET,DW-PCL,DYN;CLS:PRINTER;DES:HP Officejet Pro K550;SN:MY65D5102B;S:028080A880001000810002000300040005031605070518040;Z:031;1284.3M:f7f,f7f;1284.4DL:4d,4e,1;"

Tore

Comment 15 Fedora Update System 2009-11-26 15:45:14 UTC
hplip-3.9.8-21.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/hplip-3.9.8-21.fc11

Comment 16 Fedora Update System 2009-11-26 15:46:22 UTC
hplip-3.9.8-24.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/hplip-3.9.8-24.fc12

Comment 17 Tore Anderson 2009-11-26 20:04:48 UTC
I've just upgraded to the following on my print server:

hplip-gui-3.9.8-24.fc12.i686
hpijs-3.9.8-24.fc12.i686
hplip-libs-3.9.8-24.fc12.i686
hplip-common-3.9.8-24.fc12.i686
hplip-3.9.8-24.fc12.i686

I've also restarted cupsd on both the server and the client.  But I still get the message about the printer being low on ink whenever I print something, even though the lowest level according to the printer itself is 46%.  So this bug doesn't seem fixed to me.

Updated versions of the debug info I provided earlier are as follows:

tore@lust:~$ /usr/lib/cups/backend/snmp gluttony
network socket://10.0.0.4 "HP Officejet Pro K550" "HP Officejet Pro K550" "" ""
tore@lust:~$ snmpget -v 1 -c public gluttony 1.3.6.1.4.1.11.2.3.9.1.1.7.0
SNMPv2-SMI::enterprises.11.2.3.9.1.1.7.0 = STRING: "MFG:HP;MDL:Officejet Pro K550;CMD:MLC,PCL,PML,DESKJET,DW-PCL,DYN;CLS:PRINTER;DES:HP Officejet Pro K550;SN:MY65D5102B;S:028080A88000100081000200030004000502e60507050803f;Z:031;1284.3M:f7f,f7f;1284.4DL:4d,4e,1;"

Tore

Comment 18 Tim Waugh 2009-11-27 16:12:33 UTC
Try this:

service cups stop
rm -rf /var/cache/cups
service cups start

Comment 19 Tore Anderson 2009-11-27 16:29:53 UTC
Okay, done (on both the server and the client).  But the popup still appears when I print something.  Only thing that shows up in the logs of the server, is:

2001:16d8:ee47:0:230:1bff:febc:7f23 - - [27/Nov/2009:17:26:18 +0100] "POST /printers/Gluttony HTTP/1.1" 200 5913 Print-Job successful-ok

Tore

Comment 20 Tim Waugh 2009-11-27 17:06:40 UTC
Please attach any new lines written to /var/log/messages on the server when you print a job.

(One easy way to do this is to 'cp /var/log/messages /var/log/messages.orig' first, then run 'diff -u /var/log/messages.orig /var/log/messages' afterwards.)

Comment 21 Tore Anderson 2009-11-27 17:22:36 UTC
This is the only line added to /var/log/messages at the time I printed the above page:

Nov 27 17:26:25 lust Gluttony: prnt/hpijs/hpcups.cpp 682: hpcups: returning status 0 from main

There's no other log lines in that minute (and the surrounding ones are not relevant to printing anyway).

Tore

Comment 22 Fedora Update System 2009-11-27 21:42:32 UTC
hplip-3.9.8-21.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update hplip'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-12227

Comment 23 Fedora Update System 2009-11-27 21:51:04 UTC
hplip-3.9.8-24.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update hplip'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12253

Comment 24 Dave Allan 2010-03-01 15:42:58 UTC
I have hplip-3.9.8-28.fc12.x86_64 installed, and my HP DeskJet 6988 is still reporting that it is low on ink.  I started seeing the low on ink popups when the printer was indeed low on ink.  However, I have replaced the black cartridge, which is the one that was low, but I am still seeing the low ink popup bubbles every time I print.  The printer's internal webserver reports that it has ink available in all its cartridges.  I'm happy to help troubleshoot this problem, since it's still happening on my system.  For that matter, I still have the mostly empty black cartridge, so I could make the printer actually low on ink again if needed.

Comment 25 Tim Waugh 2010-03-01 16:49:36 UTC
Dave: I need to see its IEEE 1284 Device ID.  Please see comment #13.

Comment 26 Dave Allan 2010-03-01 17:02:04 UTC
SNMPv2-SMI::enterprises.11.2.3.9.1.1.7.0 = STRING: "MFG:HP;MDL:Deskjet 6980 series;CMD:MLC,PCL,PML,DW-PCL,DESKJET,DYN;1284.4DL:4d,4e,1;CLS:PRINTER;DES:6980;SN:MY78H1R0TH04YX;S:038000C484001021002c180005dc2880026;J:                    ;Z:0102,0503fac8014dc9,0600;BT:000000000000,4465736B6A65742036393830207365"

Comment 27 Tore Anderson 2010-03-01 19:42:43 UTC
Just so you know, as I pointed out in comment #17, it's still not fixed for me either.  No change in hardware, software versions on both client and server is the newest in F12.

Tore

Comment 28 Dave Allan 2010-03-12 17:56:09 UTC
Hi Tim, was what I provided helpful?  It's all pretty much gibberish to me.  :)  If there's more data I can gather for you, let me know.

Comment 29 Tim Waugh 2010-03-17 12:18:48 UTC
Tore: yes, I know.
Dave: yes, it will be.

I haven't had a chance to look at this bug closely for a few months.

HP printers report their ink levels using a special field in the IEEE 1284 Device ID string.  Which field is used varies by model, as well as the format of the field's value.

The code to parse it is here:
  prnt/hpijs/dj9xxvip.cpp:2113 (DJ9xxVIP::CheckInkLevel)
  prnt/hpijs/dj3320.cpp:1244 (DJ3320::CheckInkLevel)

Comment 30 Adrie Taniwidjaja 2010-04-12 02:51:55 UTC
I have this problem after updating to hplip 3.10.2-2.fc12. I used HP Officejet 4355 all-in-One. Before updating I sometime saw this message but the printer still printing. Both catridge (black and tri-color) ok. Also this printer have no problem when use from Windows XP.
After updating this message always pop up in the printer dialog, and the printer never print at all.

Comment 31 Adrie Taniwidjaja 2010-04-12 03:21:40 UTC
Sorry guys .....after reading bug #579355 (https://bugzilla.redhat.com/show_bug.cgi?id=579355) it seems that my printer could not print at all because of this bug.

After updating once again to hplip 3.10.2.4.fc12 (testing update) the printer could print again. But the messages on "low ink" still apear like before.

Comment 32 Tim Waugh 2010-04-21 13:31:33 UTC
(In reply to comment #26)
> SNMPv2-SMI::enterprises.11.2.3.9.1.1.7.0 = STRING: "MFG:HP;MDL:Deskjet 6980
> series;CMD:MLC,PCL,PML,DW-PCL,DESKJET,DYN;1284.4DL:4d,4e,1;CLS:PRINTER;DES:6980;SN:MY78H1R0TH04YX;S:038000C484001021002c180005dc2880026;J:
>                   
> ;Z:0102,0503fac8014dc9,0600;BT:000000000000,4465736B6A65742036393830207365"    

OK, so stepping through DeviceRegistry::ParseDevIDString() imagining this Device ID, I get:

VIPVersion is 4

This is the pen-info block:
2c180005dc2880026

i.e. 2 pens:

c180005d
c2880026

From the comment in DJ9xxVIP::ParsePenInfo() this looks like:

they are both ink print heads (from bits 31-30)
the first is black ink (from next six bits: 000001)
the second is CMY (000002)

Then looking at DJ9xxVIP::CheckInkLevel() we can read out the ink supply:

penInfoBits[1] is 0x80 and 0x88 respectively, so:

blackink =  penInfoBits[1] & 0x7;
... is 0

colorink =  penInfoBits[1] & 0x7;
... is also 0

This value is:

0: no problem
1: no problem
2: low ink

The printer is reporting that both ink print heads are fine for ink, which is what we expect.

So why are we still getting low ink warnings?  I think that to find the answer we'll need to see the debugging output from HPLIP on your machine, Dave.  Could you please run the printing troubleshooter and post the resulting troubleshoot.txt file?
https://fedoraproject.org/wiki/Printing/Debugging#Printing_troubleshooter

Comment 33 Tim Waugh 2010-04-21 15:46:16 UTC
Tore, to explain in depth about your problem:

(In reply to comment #17)
> tore@lust:~$ snmpget -v 1 -c public gluttony 1.3.6.1.4.1.11.2.3.9.1.1.7.0
> SNMPv2-SMI::enterprises.11.2.3.9.1.1.7.0 = STRING: "MFG:HP;MDL:Officejet Pro
> K550;CMD:MLC,PCL,PML,DESKJET,DW-PCL,DYN;CLS:PRINTER;DES:HP Officejet Pro
> K550;SN:MY65D5102B;S:028080A88000100081000200030004000502e60507050803f;Z:031;1284.3M:f7f,f7f;1284.4DL:4d,4e,1;"

VIPVersion is 3

This is the pen-info block:

81000200030004000502e60507050803f
i.e. 8 pens:

1000: ?
2000: ?
3000: ?
4000: ?
502e: black
6050: cyan
7050: magenta
803f: yellow

Beyond that it's hard to say what it means.  There are no comments in the code explaining it, and the upstream bug has not been answered.  The code seems to be saying that because the second digit of each of the 4-digit ink status codes is '0', that means they're low on ink.  Clearly that's wrong.

Comment 34 Bug Zapper 2010-04-27 15:37:50 UTC
This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '11'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 11's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 11 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 35 Dave Allan 2010-04-27 19:28:32 UTC
Created attachment 409560 [details]
Output of printer troubleshooting

Hi Tim, Here's the troubleshoot.txt --Dave

Comment 36 Tim Waugh 2010-04-28 11:06:37 UTC
Dave: you're currently using the hpcups driver, but I guess you must have been using the hpijs driver before that on the same queue?

I think the problem is that the hpcups driver does not report low/empty ink at all, whereas the hpijs driver used to.  The printer-state-reasons attribute is persistent across driver changes.

One solution would be for CUPS to clear printer-state-reasons when the queue's PPD is changed.  Another solution would be for pycups to do it.

I've adjusted pycups.  I'll file a CUPS bug for it now.

Comment 37 Tim Waugh 2010-04-28 11:20:13 UTC
(In reply to comment #21)
> This is the only line added to /var/log/messages at the time I printed the
> above page:
> 
> Nov 27 17:26:25 lust Gluttony: prnt/hpijs/hpcups.cpp 682: hpcups: returning
> status 0 from main

Tore, you are also using the hpcups driver.  Although... I think I now see what the real problem is.  I think you've been using the hpcups driver all along, but it lost the ability to report low ink, so if you had low ink at that point it got "stuck" in the printer-state-reasons.

In hplip-3.9.8 the hpcups driver was a slightly modified version of the hpijs driver.  After that it was rewritten to be a completely new filter... and *that* is when it lost the ability to report marker-supply-low/empty.

So the PPD for the queue wouldn't have actually changed in this case, only the hpcups binary.

However, because at the same time the hpcups driver completely broke when run against existing PPDs, I had to write a script to update those PPDs.  So if CUPS were to clear printer-state-reasons when PPDs are changed, this would have been fixed at that point.

So really there is another bug: hpcups ought to clear any printer-state-reasons that it used to manage.  I think it's just "marker-supply-low-warning".

Comment 38 Tim Waugh 2010-04-28 12:05:41 UTC
Fixed packages built:
  hplip-3.10.2-6.fc11
  hplip-3.10.2-8.fc12
  hplip-3.10.2-13.fc13
  hplip-3.10.2-13.fc14

F-12 build is here if anyone wants to give it a go:
http://koji.fedoraproject.org/koji/buildinfo?buildID=169180

After upgrading, the low ink warning should disappear when the next print job is sent to the queue.

Comment 39 Adrie Taniwidjaja 2010-04-29 01:43:48 UTC
yes upgrading to hplip-3.10.2-13.fc13 solved this problem on my HP Officejet 4355 printer.

Comment 40 Dave Allan 2010-05-05 21:01:08 UTC
Fixed the problem for me as well (HP DJ 6988).  Thanks!

Comment 41 Fedora Update System 2010-05-17 15:33:01 UTC
hplip-3.10.5-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/hplip-3.10.5-1.fc13

Comment 42 Fedora Update System 2010-05-17 15:35:27 UTC
hplip-3.10.5-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/hplip-3.10.5-1.fc12

Comment 43 Fedora Update System 2010-05-18 21:50:56 UTC
hplip-3.10.5-1.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update hplip'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/hplip-3.10.5-1.fc12

Comment 44 Fedora Update System 2010-07-01 18:50:01 UTC
hplip-3.10.5-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 45 Fedora Update System 2010-07-27 02:44:01 UTC
hplip-3.10.5-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.