Bug 1879147

Summary: driverless cannot generate ppd for dns-sd based uris
Product: [Fedora] Fedora Reporter: Casey <casey.jao>
Component: cups-filtersAssignee: Zdenek Dohnal <zdohnal>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 32CC: twaugh, zdohnal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cups-filters-1.28.2-2.fc32 cups-filters-1.28.2-2.fc33 cups-filters-1.28.2-2.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-21 00:00:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
cupsd logs
none
driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > out.ppd 2> driverless-errors-0916..log
none
driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > driverless-0831.ppd 2> driverless-errors-0831.log
none
driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > driverless-0916.ppd 2> driverless-debug-0916.log
none
debug output none

Description Casey 2020-09-15 14:20:58 UTC
Created attachment 1714946 [details]
cupsd logs

Created attachment 1714946 [details]
cupsd logs

Description of problem: 

I have an Epson printer on my wireless network previously configured using driverless printing. Recently I noticed that after removing the printer I was unable to add it again using driverless printing. CUPS definitely sees the printer but errors out when I try to add it. 

Installing escpr drivers suffices as a workaround, but it would be simpler if driverless printing were to work.


Version-Release number of selected component (if applicable): cups-filters 1.28.1-1.

How reproducible: always


Steps to Reproduce:

1. Try to add wireless printer through gnome-control-center.
2. Observe that printer is discovered.
3. Select it and click "Add".

Actual results: "Failed to add new printer." See also the attached cupsd log.


Expected results: I should be able to configure the printer using driverless printing.


Additional info:

I'm running Silverblue on my laptop, and using OSTree I determined that this problem resulted from the system update 32.20200831.0 --> 32.20200901.0:

  container-selinux 2:2.143.0-1.fc32 -> 2:2.144.0-2.fc32
  crun 0.14.1-3.fc32 -> 0.14.1-4.fc32
  cups-filters 1.27.5-6.fc32 -> 1.28.1-1.fc32
  cups-filters-libs 1.27.5-6.fc32 -> 1.28.1-1.fc32
  exiv2 0.27.2-2.fc32 -> 0.27.3-3.fc32
  exiv2-libs 0.27.2-2.fc32 -> 0.27.3-3.fc32
  iptables 1.8.4-8.fc32 -> 1.8.4-9.fc32
  iptables-libs 1.8.4-8.fc32 -> 1.8.4-9.fc32
  iptables-nft 1.8.4-8.fc32 -> 1.8.4-9.fc32
  python3-cups 2.0.1-1.fc32 -> 2.0.1-5.fc32
  rsync 3.2.2-1.fc32 -> 3.2.3-1.fc32
  toolbox 0.0.93-1.fc32 -> 0.0.95-1.fc32
  vim-minimal 2:8.2.1522-2.fc32 -> 2:8.2.1551-1.fc32

I'm filing the bug here because cups-filters seems most likely to be responsible among these updated packages.

Comment 1 Zdenek Dohnal 2020-09-16 07:07:58 UTC
Hi Casey,

thank you for reporting the issue!

Would you mind trying the following command:


$ driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > out.ppd 2> log


and please attach the both created file if they aren't empty.

I tried the same command on my HP driverless printer and it worked, so it seems to be specific to your Epson model.

The core seems to be that now driverless backend isn't able to communicate with your printer or the printer doesn't provide enough info, which is required by driverless now, but we hopefully will see after checking the logs.

Comment 2 Casey 2020-09-16 09:40:08 UTC
Created attachment 1715043 [details]
driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > out.ppd 2> driverless-errors-0916..log

out.ppd is empty

Comment 3 Casey 2020-09-16 09:42:10 UTC
Created attachment 1715045 [details]
driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > driverless-0831.ppd 2> driverless-errors-0831.log

Result of running the same command on the 20200831 system image.

Comment 4 Casey 2020-09-16 09:43:45 UTC
Thanks, please see attachments.

Comment 5 Zdenek Dohnal 2020-09-16 10:13:31 UTC
Thank you for the files!

DEBUG2: Request for IPP attributes (get-printer-attributes) for printer with URI ipps://EPSON6B1C2F.local:631/ipip/print failed: Not Found
DEBUG2: get-printer-attributes IPP request failed:
DEBUG2:   - No response

See the uri - ipps://EPSON6B1C2F.local:631/ipip/print
                                           ----


Are you sure you didn't do a typo when you issued the command:

$ driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > out.ppd 2> log

?

If it is a typo, please retest again (and you can choose shorter file desc in bugzilla :) ).

Comment 6 Casey 2020-09-16 10:30:32 UTC
My apologies, you are right -- I am attaching the new logs, which do seem to indicate that the ppd file is generated correctly.

Comment 7 Casey 2020-09-16 10:31:25 UTC
Created attachment 1715059 [details]
driverless -d cat ipps://EPSON6B1C2F.local:631/ipp/print > driverless-0916.ppd 2> driverless-debug-0916.log

Comment 8 Casey 2020-09-16 10:31:47 UTC
Created attachment 1715060 [details]
debug output

Comment 9 Zdenek Dohnal 2020-09-16 11:06:26 UTC
Ok, so now to find out what GTK (framework which gnome-control-center and gnome-settings-daemon uses for getting printers) does differently... I'll check GTK code.

Comment 10 Zdenek Dohnal 2020-09-16 11:49:30 UTC
Aha:

$ driverless cat <uri>

works, but the following doesn't:

$ driverless <uri>


So the issue is in 'driverless' afterall. And it is reproducible regardless of printer device.

Comment 11 Zdenek Dohnal 2020-09-16 12:44:13 UTC
It is connected only to uris based on dns-sd name - like ipp://HP%20LaserJet%20M1536dnf%20MFP%20%2842307C%29._ipp._tcp.local/ .

hostname based names like ipps://EPSON6B1C2F.local:631/ipp/print works.

Comment 12 Zdenek Dohnal 2020-09-17 13:37:59 UTC
The fix is sent upstream https://github.com/OpenPrinting/cups-filters/pull/309

Comment 13 Zdenek Dohnal 2020-09-17 13:46:22 UTC
You can test the scratch build for now https://koji.fedoraproject.org/koji/taskinfo?taskID=51663181 .

Comment 14 Fedora Update System 2020-09-17 14:11:55 UTC
FEDORA-2020-b0e5a09b24 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-b0e5a09b24

Comment 15 Fedora Update System 2020-09-17 14:19:36 UTC
FEDORA-2020-6d1438650a has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-6d1438650a

Comment 16 Fedora Update System 2020-09-17 14:27:08 UTC
FEDORA-2020-f053cee377 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-f053cee377

Comment 17 Fedora Update System 2020-09-17 17:56:45 UTC
FEDORA-2020-b0e5a09b24 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-b0e5a09b24`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-b0e5a09b24

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 18 Casey 2020-09-18 10:18:01 UTC
Thanks, your patch works!

Comment 19 Fedora Update System 2020-09-18 16:41:19 UTC
FEDORA-2020-f053cee377 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-f053cee377`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-f053cee377

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 20 Fedora Update System 2020-09-18 16:42:31 UTC
FEDORA-2020-6d1438650a has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-6d1438650a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-6d1438650a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 21 Fedora Update System 2020-09-21 00:00:57 UTC
FEDORA-2020-6d1438650a has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 22 Fedora Update System 2020-09-26 00:14:37 UTC
FEDORA-2020-b0e5a09b24 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 23 Fedora Update System 2020-09-26 01:14:34 UTC
FEDORA-2020-f053cee377 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.