Description of problem:
Gnome Settings > Devices > Printers is missing the driver for HP LaserJet 200 color M251n. It installs HP Deskjet 200. When i search for driver, "No suitable driver (is) found". Selecting from Database also doesn't list the driver.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Sorry forgot: hplip-3.18.4-1.fc28.x86_64
thank you for reporting your issue! What is your printer's exact name? I found only HP LaserJet Pro 200 Color Printer - M251n, which unfortunately isn't supported by hplip or other printer driver component.
You can try to install your printer manually (your printer is from 2013, it can support IPP everywhere, if you have mdns enabled in printer):
1) discover printer by:
# lpinfo --include-schemes dnssd -v
It returns something like:
2) Then take this output without 'network' and create print queue by lpadmin:
# lpadmin -p printer -v dnssd://Acme%20Laser%20Pro._ipp._tcp.local./?uuid=545253fb-1cb7-4d8d-98ed-ab6cd607cea7 -E -m everywhere
Or you can create print queue with generic PCL5e, PCL6 or PostScript driver (just open Printers in Gnome and choose generic driver).
Please tell me the outcome then.
Strange, this printer was working perfectly in Fedora 27...
$ lpinfo --include-schemes dnssd -v network dnssd://HP%20LaserJet%20200%20color%20M251n%20(6E41CB)._ipp._tcp.local/?uuid=434e4631-4330-3839-3632-38eaa76e41cb
$ lpadmin -p printer -v 'dnssd://HP%20LaserJet%20200%20color%20M251n%20(6E41CB)._ipp._tcp.local/?uuid=434e4631-4330-3839-3632-38eaa76e41cb' -E -m everywhere
lpadmin: Unable to resolve "dnssd://HP%20LaserJet%20200%20color%20M251n%20(6E41CB)._ipp._tcp.local/?uuid=434e4631-4330-3839-3632-38eaa76e41cb".
According to this website, the printer (HP LaserJet Pro m251n Color Printer) should be fully supported:
(In reply to Steve from comment #3)
> Strange, this printer was working perfectly in Fedora 27...
That would be good to mention in initial comment.
(In reply to Steve from comment #4)
> According to this website, the printer (HP LaserJet Pro m251n Color Printer)
> should be fully supported:
Hmm... I thought it is different printer, because names are different (HP LaserJet Pro m251n Color Printer != HP LaserJet Pro 200 color Printer M251n), but it seems HP guys have bad name on their website. Sorry for mystification (that's why I asked for exact name).
Would you mind trying https://fedoraproject.org/wiki/How_to_debug_printing_problems#HP_printer_isn.27t_discovered.2C_doesn.27t_print_or_doesn.27t_print_well if it temporary helps?
> Would you mind trying
> 27t_discovered.2C_doesn.27t_print_or_doesn.27t_print_well if it temporary
This temporary works for printing in black/white.
postscriptdriver provide disappeared - python-cups is responsible for setting postscriptdriver tag, reassign to python-cups.
(In reply to Steve from comment #6)
> This temporary works for printing in black/white.
...but the driver is not the correct one. The driver is 'HP LaserJet Pro MFP m25a' instead of 'HP LaserJet Pro (200 color Printer) M251n'.
I tried the (updated) iso's from F26 and F27. In F26 the printer driver is installed automatically and is printing correctly. In F27 the driver is not found.
Meanwhile I am able to print with the hp-color_laserjet_pro_m252-ps.ppd. This printer seems to be almost the same model (M251n > M252). Even if it is not the right driver...
This bug is not fixed until now. The driver is also missing in hplip.x86_64 3.18.6-9.fc28.
It seems this postscriptdriver tag is provided in rawhide:
$ rpm -qp --provides hplip-3.18.6-9.fc30.x86_64.rpm | grep m251
This ppd is in rawhide:
$ rpm -qlp hplip-3.18.6-9.fc30.x86_64.rpm | grep m251
Let's see what is in F27 and F28:
- the same as in rawhide...
$ rpm -qp --provides hplip-3.18.6-5.fc27.x86_64.rpm | grep m251
$ rpm -qlp hplip-3.18.6-5.fc27.x86_64.rpm | grep m251
So what is in F26:
- the same as previous two... that's interesting, seems to be provided correctly.
1) Did you try to uninstall printer via control-center and install it again by control-center?
2) Do you have these two installed and updated (the newest testing version is 1.5.11-13 from updates testing repo)? Or some parts of automatic installation stuff is in system-config-printer-libs and system-config-printer-udev packages, whose methods are called by control-center (actually by settings-daemon, but you interact with control-center, so I'll keep saying control-center) and it is more difficult to track if something bad happened there.
3) Would you mind checking if cups.service was running during 'hp-setup -i -g'? If it was running, please attach a file with output which 'hp-setup -i -g' gives.
Ad 'hp-setup' - there was an issue when 'hp-setup' creates queues with bad ppd when cups.service isn't running (it only checks if cups daemon is running, ignores a possibility that cupsd can set to be activated socket and uses different algorithm for finding the ppd).
In the worst scenario, you can create your print queue by lpadmin (you need to have hplip installed):
$ sudo lpadmin -p <name_of_your_print_queue> -v dnssd://HP%20LaserJet%20200%20color%20M251n%20(6E41CB)._ipp._tcp.local/?uuid=434e4631-4330-3839-3632-38eaa76e41cb -m lsb/usr/HP/hp-laserjet_200_color_m251-ps.ppd.gz -E
I hope I didn't make a mistake about printer model again.
You are right Zdenek. I deleted the printer and searched for it again. He will now recognized correctly. Thank you for your help. Closing...
I open again.
In F29 the driver is there (you have to select it from Database) but will not recognized correctly. Please see the screenshots i add to.
Created attachment 1499385 [details]
Created attachment 1499386 [details]
Created attachment 1499388 [details]
Created attachment 1499389 [details]
PS: It is also in F28.
do you have system-config-printer-libs package installed? control-center uses methods from the package for getting the best drivers, but control-center doesn't require system-config-printer-libs explicitly (because of large package dependencies for printing sw).
Or does 'hp-setup -i <printer_ip>' helps?
Yes, system-config-printer-libs is installed by default in a fresh F29 installation.
hp-setup -i <printer_ip>' does install the printer perfectly, just like system-config-printer:
$ hp-setup -i 192.168.100.2
Device URI: hp:/net/HP_LaserJet_200_color_M251n?ip=192.168.100.2
Queue name: HP_LaserJet_200_color_M251n
PPD file: lsb/usr/HP/hp-laserjet_200_color_m251-ps.ppd.gz
This bug persists in Fedora 30. Changing to 30...
This bug persists in Fedora 31. Changing to 31...
Installing and running system-config-printer solves the problem.
I'm sorry for not getting to the issue in the meantime.
Would you mind attaching complete output of 'sudo lpinfo -l -v' when your printer is turned on?
Now I know how I can test the installation of correct ppd for print queue in gnome center, but I need precise device id and model name from the printer and the command above will get it for me.
Created attachment 1632885 [details]
output of $ sudo lpinfo -l -v
(In reply to Steve from comment #24)
> Installing and running system-config-printer solves the problem.
Aha - the system-config-printer-libs is what do you need - it provides dbus api, which is used for getting correct driver in GNOME center, but it is not in hard deps of gnome, because some users do not have printers so they have unnecessary dependencies when s-c-p-libs is installed.
I can reassign the bug to gnome-settings-daemon, but it will be probably closed as NOTABUG, so I'm closing this for them.
If you have an opinion the issue is needed to be solved and s-c-p-libs needs to be brought in as gnome dependency, please feel free to reopen and discuss it with Marek.
Sorry, I meant Rui - Marek is gsd maintainer in other RH products.
Created attachment 1635193 [details]
output of $ sudo lpinfo -l -v (without system-config-printer-libs installed)
Why does gnome-settings-daemon install the printer when it has no driver?
BTW, also with system-config-printer-libs installed (without system-config-printer), there is no driver. And when you 'Search for Dirvers', then 'No suitable driver found'. You have to 'Select (it) from Database'. It seems that only system-config-printer sees and installs the driver.
You are right, that's strange, reopening.
For gsd maintainer:
scp-dbus-service gives correct output when hplip is installed:
$ busctl --user call --timeout=120000 org.fedoraproject.Config.Printing /org/fedoraproject/Config/Printing org.fedoraproject.Config.Printing GetBestDrivers sss "MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,URP,PCL,PDF,POSTSCRIPT;MDL:HP LaserJet 200 color M251n;CLS:PRINTER;DES:Hewlett-Packard LaserJet 200 color M251n;MEM:MEM=107MB;COMMENT:RES=600x8;LEDMDIS:USB#ff#04#01;CID:HPLJPDLV1;" "HP LaserJet 200 color M251n" ""
a(ss) 3 "lsb/usr/HP/hp-laserjet_200_color_m251-ps.ppd.gz" "exact-cmd" "drv:///sample.drv/generic.ppd" "generic" "foomatic:Generic-PostScript_Printer-Postscript.ppd" "generic"
so the error seems to be in gsd IMO.
(In reply to Steve from comment #29)
> Created attachment 1635193 [details]
> output of $ sudo lpinfo -l -v (without system-config-printer-libs installed)
> Why does gnome-settings-daemon install the printer when it has no driver?
Your printer is a printer which supports ipp everywhere (see the last entry of lpinfo -l -v).
It means it does not need any external driver (e.g. hplip) to work (all capabilities are communicated via IPP) and if you have avahi running (and nss-mdns installed), the print queue should appear only when you need to print - in print dialog.
Unfortunately, not all apps adapted this feature and work with it correctly - f.e. evince. But libreoffice works this way.
gnome-control-center seems to show those driverless print queues this way - like with no drivers.
This issue is not really fixed in F32. When gnome-settings-daemon installs the printer automatically, there is no driver and it does not print. I have to manually add the printer to get a driver, but the wrong one (driverless), but at least it does print. When I use system-config-printer, I get the right driver (HPP00016.PPD).
(In reply to Steve from comment #33)
> I have to manually add the printer to get a driver, but the wrong one (driverless),
> but at least it does print. When I use system-config-printer, I get the
> right driver (HPP00016.PPD).
Just note - if your printer is capable of driverless printing, please use it. It is newer solution for printing and the solution which will be here when printer drivers will be gone.
Just want to say that the behaviour is the same in Fedora 33.
However, by default (autoinstall), it does not install a working driver for the printer. One cannot even print. If i remove the printer and add it manually, then it installs the driverless-driver.