Hi all,
driverless+printer applications world of printing and scanning is coming
in the future:
- printer driver, raw queues and other removals are planned with CUPS
3.0, roughly in the next year,
- printer applications RPMs are waiting for cups-filters 2.0, but the
apps are in SNAP already for people to try them,
- driverless scanning is already possible with sane-airscan, which
supports WSD and eSCL protocols.
and since ipp-usb is in Fedora for a while (since Fedora 32), CUPS and
sane-airscan packages started to recommend ipp-usb package, which
unfortunately leads to expected breakage (see known issues[1] - either
under HPLIP or golang-github-openprinting-ipp-usb) due a conflict on USB
port.
_This breakage happens if both conditions below are met:_
- the device supports IPP-over-USB - how to find out here[2]
- the device is currently installed with a classic driver, (f.e. HPLIP -
has its device uri starting with 'hp:/usb/'),
_The __behavior__of breakage_ is:
- for printing - the old queue is available, but when a job is sent it
prints nothing, with errors in the logs as:
hp[3559]: io/hpmud/musb.c 515: invalid claim_interface 7/1/4: Device or
resource busy
- for scanning - the scanner is not recognized by the classic driver,
but sane-airscan should kick in and provide functional device, so a new
device should appear in scanning dialog
_The breakage is __expected__for IPP-over-USB devices_, because ipp-usb
is running on the USB port, prepared for incoming IPP requests. This
behavior blocks the port for other binaries, which can try to access it,
such as printing and scanning backends (pixma, hp, hpaio...).
Unfortunately there is no clean upgrade path to solve the migration
automatically because of unrealistic requirements such as:
- the USB device would have needed to be plugged in and turned on during
the update
- %post scriptlets don't work the same way on immutable Fedoras as on
Fedora Linux, and other upgrade possibilities such as Leapp don't
support Fedora upgrades AFAIK,
the fix has to be done manually.
_How to fix the breakage:_
- printing - remove the old print queue and start using CUPS temporary
queue[3], which is supported by modern print dialogs, or install the new
queue permanently by:
$ lpadmin -p <queue_name> -v ipp://localhost:60000/ipp/print -m
everywhere -E
ipp-usb advertises the printer only to localhost at port 60000 by
default, any other USB printer capable of IPP-over-USB will be available
at port 60001 etc...
- scanning - sane-airscan should automatically pick the device up, if
the device supports eSCL or WSD protocols - here [4] is the growing list
of devices, which were identified by users as they are working with
sane-airscan.
In case you have only one device supported by the driver package and the
driver is a list package, you can safely remove the driver package
_If the driverless setup with ipp-usb doesn't work for you:_
It would be great if you filed a bug at https://bugzilla.redhat.com for
golang-github-openprinting-ipp-usb component after you've gone through
the useful tricks for printing[8], 'How to fix the breakage' from this
email and known issues of CUPS[9].
If the device is unusable for ipp-usb due a serious firmware bug, we can
add a quirk upstream rejecting this device in ipp-usb, so the daemon
will ignore the device and the quirk will be shared with all users - so
the device can be again used with classic driver or with, in the future,
with a printer application.
If user wants to go with classic drivers again,
golang-github-openprinting-ipp-usb-0.9.20 (currently in rawhide and for
other releases in testing repo - F36[5], F35[6], F34[7]) supports device
quirks in /etc/ipp-usb/quirks directory. See 'man ipp-usb' for more info.
__
_Affected OS versions:_
Fedora 36+ and users who installed cups-2.3.3op2-15.fc35/fc34 updates -
the change was reverted in cups-2.3.3op2-16.fc35/fc34, but ipp-usb is
not removed with the new CUPS update, so it has to be removed manually
or the setup has to be migrated ('How to fix the breakage') to ipp-usb.
_SUMMARY:_
I'm deeply sorry for the inconvenience during the breakage and for not
announcing the change in advance via proper channels - hopefully
driverless setup with ipp-usb can help you with using the device without
additional drivers, proprietary binary blobs and its 'installation' (in
case of CUPS temporary queues you don't need to install the printer at
all, that's why installation with quotes) will be more smoother.
Thank you for your time and effort!
Zdenek
[1]
https://docs.fedoraproject.org/en-US/quick-docs/cups-known-issues/#_golang_github_openprinting_ipp_usb
[2]
https://docs.fedoraproject.org/en-US/quick-docs/cups-useful-tricks/#_how_to_find_out_if_my_usb_device_supports_ipp_over_usb
[3]
https://docs.fedoraproject.org/en-US/quick-docs/cups-terminology/#_temporary_print_queues
[4] https://github.com/alexpevzner/sane-airscan#compatibility
[5] https://bodhi.fedoraproject.org/updates/FEDORA-2022-037458e247
[6] https://bodhi.fedoraproject.org/updates/FEDORA-2022-140993eb13
[7] https://bodhi.fedoraproject.org/updates/FEDORA-2022-f151accd9b
[8] https://docs.fedoraproject.org/en-US/quick-docs/cups-useful-tricks
[9] https://docs.fedoraproject.org/en-US/quick-docs/cups-known-issues/#_cups
--
Zdenek Dohnal
Software Engineer
Red Hat, BRQ-TPBC
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam on the list, report it:
https://pagure.io/fedora-infrastructure