Commit 70359cf
committed
Workaround for "Pantum BP5100DN series" initialization failure
Starting from version 0.9.31, ipp-usb requires that printers return
non-empty Manufacturer, ProductName, and SerialNumber strings.
Without these, quirks, state files, and per-device logging do not work
properly, as they are bound to the combination of these strings.
Additionally, for some devices (Xerox B205/B210/B215), failure to
return these strings may indicate improper initialization and require
a reset.
Unfortunately, other devices (notably the "Pantum BP5100DN series")
may fail to return a string descriptor on the first attempt.
Investigation revealed that the request for language IDs, implicitly
performed by libusb_get_string_descriptor_ascii, returns a malformed
packet. This causes libusb to fail with LIBUSB_ERROR_IO.
As a workaround, we retry several times before giving up.1 parent c4974f5 commit 70359cf
1 file changed
Lines changed: 21 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
611 | 611 | | |
612 | 612 | | |
613 | 613 | | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
623 | 635 | | |
624 | 636 | | |
625 | 637 | | |
| |||
0 commit comments