OpenPrinting / OpenPrinting/ipp-usb

ipp-usb migration path

Open
#50 19 comments 0 reactions 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

Hi @tillkamppeter, @zdohnal, @debiantriage, @michaelrsweet and everybody else who may be interested,

I want to create a single discussion point for problems caused by migration from legacy USB drivers to the IPP-USB approach.

The running ipp-usb daemon known to be incompatible with legacy/proprietary printer and scanner drivers.

Although for most users IPP-USB works perfectly well, some people report printing or scanning breakage when system was upgraded, and ipp-usb was automatically installed.

This problem was discussed many times in many places, but we still have not found a good solution.

It was many times proposed, that ipp-usb will claim USB device access only when needed, and release it after use, or will not claim all the IPP-USB interfaces, allowing coexistence with legacy/proprietary drivers. I don't agree with this approach due to the following reasons:

  1. From the ipp-usb perspective, it is hard to guess, when device usage was finished
  2. Some devices don't like to be simultaneously accessed via IPP-USB and via legacy interface. See #26, for example
  3. If ipp-usb will fail to claim USB access to the already announced but temporary released device, the behaviour will be quite confusing for users

My proposal is following:

  1. On a newly installed system, ipp-usb always installed and enabled automatically
  2. During upgrade of existent system, if there are already existent print queues, using the legacy USB access, user needs to switch to the ipp-usb explicitly
  3. Some UI needs to be created to prompt the user to make such a decision
  4. UI needs to be provided to let user to switch between ipp-usb and legacy approach at any time

However, I have no idea what mechanisms we already have to implement this proposal, and what missed parts needs to be created.

Any comments welcome!

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

The issue names no files, tests, or entry points, so start by mapping how ipp-usb is installed, enabled, and detects existing legacy print queues. Done would require an agreed migration mechanism and user-facing way to choose or switch between IPP-USB and legacy access.

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.