Bug 633227

Summary: Missing Device ID for HP Laserjet 4000
Product: [Fedora] Fedora Reporter: Jiri Popelka <jpopelka>
Component: hplipAssignee: Tim Waugh <twaugh>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 13CC: jfrieben, jpopelka, twaugh, ykopkova
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: hplip-3.10.9-9.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-14 21:35:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 639394, 643073    
Bug Blocks: 219467    
Attachments:
Description Flags
Output of 'lpinfo -l -v'
none
Output of 'system-config-printer --debug'
none
Output of 'system-config-printer --debug' (1.2.4-3.fc14)
none
Output of 'system-config-printer --debug' (1.2.5-1.fc14)
none
Output of 'system-config-printer --debug' (1.2.5-2.fc14) none

Description Jiri Popelka 2010-09-13 10:16:48 UTC
snmp backend output in bug #630350, comment #4 includes
network socket://192.168.2.2 "HP LaserJet 4000 Series" "HP LaserJet 4000 Series" "MANUFACTURER:Hewlett-Packard;COMMAND SET:PJL,MLC,PCL,PCLXL,POSTSCRIPT;MODEL:HP LaserJet 4000 Series;CLASS:PRINTER;DESCRIPTION:Hewlett-Packard LaserJet 4000 Series" ""

Running it through check-device-ids.py by hand gives:

./check-device-ids.py "HP LaserJet 4000 Series" "MANUFACTURER:Hewlett-Packard;COMMAND SET:PJL,MLC,PCL,PCLXL,POSTSCRIPT;MODEL:HP LaserJet 4000 Series;CLASS:PRINTER;DESCRIPTION:Hewlett-Packard LaserJet 4000 Series"
Installing relevant drivers using session service
Ignoring exception: org.freedesktop.PackageKit.Modify.Cancelled: did not agree to download
Fetching driver list
└── HP LaserJet 4000 Series (user-specified): MFG:Hewlett-Packard;MDL:HP LaserJet 4000 Series;CMD:PJL,MLC,PCL,PCLXL,POSTSCRIPT;
    ├── drv:///hp/hpcups.drv/hp-laserjet_4000_series-pcl3.ppd [/usr/share/cups/drv/hp/hpcups.drv]
    ├── ...
    └── foomatic:HP-LaserJet_4000-pxlmono.ppd [/usr/lib/cups/driver/foomatic]
        MISSING  lsb/usr/HP/hp-laserjet_4000_series-ps.ppd.gz [/usr/share/ppd/HP/hp-laserjet_4000_series-ps.ppd.gz]

Version-Release number of selected component (if applicable):
hplip-3.10.6-1.fc13.x86_64

Comment 1 Joachim Frieben 2010-09-29 11:00:54 UTC
Could anybody push package hplip-3.10.6-5.fc14 to F14 or F14-updates-testing repos? Thanks!

Comment 2 Jiri Popelka 2010-09-29 12:20:03 UTC
You can get it from koji
https://koji.fedoraproject.org/koji/buildinfo?buildID=196054

Comment 3 Joachim Frieben 2010-09-29 15:21:35 UTC
(In reply to comment #2)
According to Tim's comment at https://bugzilla.redhat.com/show_bug.cgi?id=630350#c11 package hplip (which is not even installed yet (!)) is expected to raise its hand when s-c-p is querying for the best printer driver. This requires the presence of the corrected package hplip-3.10.6-5.fc14 in the online repositories. Otherwise, autodetection cannot be tested.

Comment 4 Fedora Update System 2010-09-29 16:28:59 UTC
hplip-3.10.6-5.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/hplip-3.10.6-5.fc14

Comment 6 Joachim Frieben 2010-10-01 05:27:17 UTC
Even though yum reports that hplip-3.10.6-7.fc14 is available, s-c-p still wants me to install driver "laserjet.ppd":

  $ system-config-printer
  No ID match for device socket://192.168.2.2:9100:
  MFG:HP;MDL:LaserJet 4000;DES:HP LaserJet 4000;
  Using drv:///sample.drv/laserjet.ppd (status: 1) .

After installing hlip manually which updates or pulls in other packages as shown below

================================================================================
 Package            Arch        Version              Repository            Size
================================================================================
Installing:
 hplip              x86_64      3.10.6-7.fc14        updates-testing      6.0 M
Installing for dependencies:
 hpijs              x86_64      1:3.10.6-7.fc14      updates-testing      4.9 M
 net-snmp           x86_64      1:5.5-20.fc14        fedora               302 k
Updating for dependencies:
 hplip-common       x86_64      3.10.6-7.fc14        updates-testing       73 k
 hplip-libs         x86_64      3.10.6-7.fc14        updates-testing      144 k
 libsane-hpaio      x86_64      3.10.6-7.fc14        updates-testing       77 k

Transaction Summary
================================================================================

The outcome now becomes:
 
  $ system-config-printer
  No ID match for device socket://192.168.2.2:9100:
  MFG:HP;MDL:LaserJet 4000;DES:HP LaserJet 4000;
  Using lsb/usr/HP/hp-laserjet_4000_series-ps.ppd.gz (status: 0)

File hp-laserjet_4000_series-ps.ppd.gz is actually part of package hpijs.

Comment 7 Tim Waugh 2010-10-01 08:37:25 UTC
Could you please run 'lpinfo -l -v' and attach the output here?  There seem to be two different IDs in play here.

Comment 8 Joachim Frieben 2010-10-01 08:52:19 UTC
Created attachment 450964 [details]
Output of 'lpinfo -l -v'

Comment 9 Joachim Frieben 2010-10-01 08:55:03 UTC
Command 'lpinfo -l -v' was run while packages listed in comment 6 were still installed.

Comment 10 Tim Waugh 2010-10-01 09:31:50 UTC
I wish we could find out which ID it was actually trying to look for.

Guess I'll need to build a system-config-printer with that debug comment fixed, and maybe with some extra debugging for where IDs are found from.

Comment 11 Tim Waugh 2010-10-01 10:32:09 UTC
Can you please run 'system-config-printer --debug', and follow the same procedure as before to install a queue for the printer?  You can stop once you see the manufacturer list.

I'd like to see the output -- it might give a clue about what's going wrong.

It's fine to do this with the hplip packages installed.

Comment 12 Joachim Frieben 2010-10-01 11:48:49 UTC
Created attachment 450987 [details]
Output of 'system-config-printer --debug'

After entering the root password twice, then "Devices > AppSocket/JetDirect" and the printer address, s-c-p jumps directly to dialog window for "Installable Options" of hp-laserjet_4000_series-ps.ppd.

Comment 13 Tim Waugh 2010-10-01 12:21:27 UTC
Thanks.

Could you please try again with this new system-config-printer build?:
http://koji.fedoraproject.org/koji/buildinfo?buildID=198400

Comment 14 Joachim Frieben 2010-10-01 15:27:18 UTC
Created attachment 451036 [details]
Output of 'system-config-printer --debug' (1.2.4-3.fc14)

Comment 15 Tim Waugh 2010-10-01 16:06:59 UTC
*sigh*

There's a problem with the way system-config-printer fetches Device IDs from specific SNMP hosts.  Filed as a separate bug...

Comment 16 Fedora Update System 2010-10-04 16:03:26 UTC
hplip-3.10.9-1.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/hplip-3.10.9-1.fc13

Comment 17 Fedora Update System 2010-10-05 09:30:17 UTC
hplip-3.10.9-1.fc13 has been pushed to the Fedora 13 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: https://admin.fedoraproject.org/updates/hplip-3.10.9-1.fc13

Comment 18 Tim Waugh 2010-10-13 13:40:28 UTC
I've built system-config-printer-1.2.5-1.fc13 which fixes the problem mentioned in comment #15.

Could you please try again using that?
http://koji.fedoraproject.org/koji/buildinfo?buildID=200314

Comment 19 Joachim Frieben 2010-10-13 15:29:54 UTC
Created attachment 453236 [details]
Output of 'system-config-printer --debug' (1.2.5-1.fc14)

Neither package hplip nor package foomatic have been installed prior to running system-config-printer.

Comment 20 Tim Waugh 2010-10-13 15:54:05 UTC
And did it ask you to install hpijs? (I expect so?)

Comment 21 Joachim Frieben 2010-10-13 16:11:05 UTC
(In reply to comment #20)
No, it didn't. It immediately prompted me to choose between either the PCL 4/5 or the PCL 6 driver, the former one being marked as "recommended". hpijs is currently not installed, only packages hplip-common-3.10.9-1.fc14.x86_64 and hplip-libs-3.10.9-1.fc14.x86_64. The current CUPS driver is /etc/cups/ppd/HP-LaserJet-4000.ppd.

Comment 22 Tim Waugh 2010-10-13 16:58:59 UTC
(In reply to comment #21)
> hpijs is currently not installed

Yes, I know.  But I'm confused because the debug log says this:

MFG:Hewlett-Packard;MDL:HP LaserJet 4000 Series;CMD:PJL,MLC,PCL,PCLXL,POSTSCRIPT;
...
Asking PackageKit to install drivers

and on Fedora 13 I get matches for that ID when running this:

pkcon what-provides 'hewlett_packard;hp_laserjet_4000_series;'

So it all looks like it should work.

What does this do, for you?:

dbus-send --print-reply --session \
  --dest=org.freedesktop.PackageKit \
  /org/freedesktop/PackageKit \
  org.freedesktop.PackageKit.Modify.InstallPrinterDrivers \
  uint32:0 \
  array:string:"MFG:Hewlett-Packard;MDL:HP LaserJet 4000 Series;" \
  string:"hide-finished"

(I get a prompt to install hpijs...)

Comment 23 Joachim Frieben 2010-10-13 18:07:53 UTC
(In reply to comment #22)
After executing command 'dbus-send ..", a dialog window pops up prompting me to accept installing packages foomatic, hpijs, and gutenprint-cups. This behaviour clearly contradicts the suggestion by system-config-printer which after querying and displaying the printer make ("HP") jumps from "Choose Driver" ("Select printer from database") to "Choose Driver" ("Models" ("LaserJet"), "Drivers" ("HP LaserJet Series PCL 4/5[en] (recommended)", "HP LaserJet Series PCL 6 CUPS [en]").
It thus seems that system-config-printer actually does not execute the dbus command specified in comment 22.

Comment 24 Joachim Frieben 2010-10-13 19:12:30 UTC
> pkcon what-provides 'hewlett_packard;hp_laserjet_4000_series;'
Getting provides              [=========================]
Starting                      [=========================]
Querying                      [=========================]

Comment 25 Tim Waugh 2010-10-14 13:33:21 UTC
Sorry, the pkcon command line should have read:

pkcon what-provides 'hewlett-packard;hp_laserjet_4000_series;'

(i.e. 'hewlett-packard', not 'hewlett_packard')

I've tried to replicate your environment as closely as I can here.  I created a new CUPS backend, /usr/lib/cups/backend/test:

==>
#!/bin/bash
cat <<"EOF"
direct test://foo "HP LaserJet 4000" "HP LaserJet 4000" "MFG:Hewlett-Packard;MDL:HP LaserJet 4000 Series;CMD:PJL,MLC,PCL,PCLXL,POSTSCRIPT;"
EOF
exit 0
<==

and made it executable, so that I see a device in the list and so that system-config-printer attempts Device ID matching for it.  The result: I get a prompt to install drivers.

I've built another system-config-printer package with debugging at the crucial moment (like "Calling InstallPrinterDrivers (...)") telling us what it's doing.  It sounds like the problem might be in gnome-packagekit or somewhere like that.

http://koji.fedoraproject.org/koji/buildinfo?buildID=200485

Comment 26 Joachim Frieben 2010-10-14 14:57:03 UTC
Created attachment 453478 [details]
Output of 'system-config-printer --debug' (1.2.5-2.fc14)

Having moved to F14, I had to build the binary package from system-config-printer-1.2.5-2.fc13.src.rpm. After installing the new packages, I obtain

$ rpm -qa 'system-config-printer*'
system-config-printer-libs-1.2.5-2.fc14.x86_64
system-config-printer-1.2.5-2.fc14.x86_64 .

Please let me know if I was supposed to install system-config-printer-udev-1.2.5-2.fc14.x86_64, too.

Moreover, 'pkcon what-provides 'hewlett-packard;hp_laserjet_4000_series;'' returns
Getting provides              [=========================]
Starting                      [=========================]
Querying                      [=========================]
Available   foomatic-4.0.5-1.fc14.x86_64            Database of printers and printer drivers
Available   foomatic-4.0.5-1.fc14.x86_64            Database of printers and printer drivers
Available   gutenprint-cups-5.2.6-1.fc14.x86_64     CUPS drivers for Canon, Epson, HP and compatible printers
Available   gutenprint-cups-5.2.6-1.fc14.x86_64     CUPS drivers for Canon, Epson, HP and compatible printers
Available   hpijs-1:3.10.6-3.fc14.x86_64            HP Printer Drivers
Available   hpijs-1:3.10.9-1.fc14.x86_64            HP Printer Drivers

Comment 27 Tim Waugh 2010-10-14 15:39:32 UTC
That last debug output seems to have pointed out the problem: the device is giving us MANUFACTURER and MODEL keys, but the InstallPrinterDrivers interface is defined only in MFG and MDL keys.

New build should fix it: system-config-printer-1.2.5-3.fc13
http://koji.fedoraproject.org/koji/buildinfo?buildID=200507

I've filed bug #643073 to track that.

Comment 28 Fedora Update System 2010-11-14 21:35:20 UTC
hplip-3.10.9-5.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 29 Fedora Update System 2011-01-12 05:24:15 UTC
hplip-3.10.9-9.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.