OpenPrinting / OpenPrinting/ipp-usb

ipp-usb needs to be restarted after Pantum M6559NW is reconnected

Open
#66 1 comment 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

Hello,

I'm experiencing an issue with a Pantum M6559NW, where the scanner and printer functions stop working after disconnecting and reconnecting the device. Checking the logs of the ipp-usb execution, I found the following:

> HTTP[008]: GET http://localhost:60000/eSCL/ScannerCapabilities
  USB[1]: connection allocated, 1 in use: --- a-- ---
  HTTP[008]: connection 1 allocated
! USB[1]: send: libusb_bulk_transfer: Input/Output Error
! HTTP[008]: libusb_bulk_transfer: Input/Output Error
  USB[1]: connection released, 0 in use: --- --- ---
! ESCL: eSCL: Get "http://localhost:60000/eSCL/ScannerCapabilities": libusb_bulk_transfer: Input/Output Error
[...]
> HTTP[009]: POST http://localhost:60000/ipp/print
> HTTP[009]: request body: got 173 bytes; EOF
> HTTP[009]: body is small (173 bytes), prefetched before sending
  USB[2]: connection allocated, 1 in use: --- --- a--
  HTTP[009]: connection 2 allocated
! USB[2]: send: libusb_bulk_transfer: Input/Output Error
! HTTP[009]: libusb_bulk_transfer: Input/Output Error
  USB[2]: connection released, 0 in use: --- --- ---
> HTTP[009]: POST http://localhost:60000/ipp/print
! HTTP[009]: libusb_bulk_transfer: Input/Output Error

To try to solve the issue, I set the max-usb-interfaces to 1. While this did work, I noticed that it resulted in the loss of the job cancelling feature, which is required to prevent the printer from remaining in the 'printing' state after the document is printed (as detailed in this issue).

Since limiting the USB interfaces to 1 is not a feasible solution if you want to implement the aforementioned workaround, I tried re-run ipp-usb when the printer is reconnected. This solution works well and provides a similar effect without the need to limit the USB interfaces.

I tested both the ipp-usb_0.9.23-1+53.1_amd64.deb version and a compiled one from the master branch, and observed same behavior in both cases.

Please let me know if you need any more information, or if there is anything I can contribute.

Thanks in advance!

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

Reproduce the failure by disconnecting and reconnecting the Pantum M6559NW, then inspect the ipp-usb execution logs for the libusb_bulk_transfer errors shown in the report. Compare normal operation with max-usb-interfaces set to 1; done means reconnection restores scanning and printing without losing job cancellation, without requiring ipp-usb to be manually restarted.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.