OpenPrinting / OpenPrinting/ipp-usb

ipp-usb compatibility issues with existing/future software in distributions

Open
#56 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
209
Forks
33
PR merge metrics
No merged PRs in 30d

Description

To ease up using ipp-usb in the system by default, we should try to tackle and track issues which other apps have if ipp-usb is on system.

There are:

  1. any classic USB printer backends (CUPS usb, hplip hp, gutenprint gutenprint53+usb and more proprietary ones) list the device even if its interface is claimed by ipp-usb, which means the newly installed printer won't work, even if the device was advertised by the backend
  2. any printer applications list the device even if it claimed by ipp-usb, thus unavailable
  3. any already installed USB printers from the past which interface is now claimed by ipp-usb don't work - aka migration solution
  4. there is duplicity in the scanner's list, if the scanner/multifunction device is supported by ipp-usb and by a classic driver, but the classic driver won't work because ipp-usb claims the device's interface.

Ad 1.

  • CUPS tracks the issue - usb backend will check mDNS comm and if the found device is on mDNS, ignore this device in usb backend
  • the similar solution can be done in other open source driver packages - probably gutenprint will be a possible candidate because it has responsive upstream

Ad 2.

Ad 3.

Ad 4.

  • I've reported the issue to SANE project, proposing the CUPS solution. I mentioned an idea for ipp-usb writing a file with claimed devices in /tmp, and function in SANE library, libusb_scan_devices() will read it and ignore devices mentioned there
  • issue https://gitlab.com/sane-project/backends/-/issues/603

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the compatibility cases and linked CUPS, PAPPL, ipp-usb issue 50, and SANE issues in the issue body. The issue does not name repository files or tests; completion would require defining and coordinating fixes for the listed printer and scanner integration problems.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.