http://bugzilla.suse.com/show_bug.cgi?id=920937
http://bugzilla.suse.com/show_bug.cgi?id=920937#c116
--- Comment #116 from Ian Powell
From an USB expert I got the information that the printer's firmware is the root cause of the issue.
When the libusb-based CUPS backend 'usb' is used something in the printer's firmware does not behave well which leads to failures.
In contrast up to CUPS 1.5.4 where the CUPS backend 'usb' uses the usblp kernel module the printer's firmware is used in a bit different way where it works.
Because in very most cases (i.e. for very most printer models) the CUPS 'usb' backend "just works" (otherwise there would be more bug reports here at SUSE and also at least one at CUPS upstream), I assume that the CUPS 'usb' backend is basically o.k. but in some special cases (i.e. for some printer models) it needs to do some model specific special stuff.
Fortunately the libusb-based CUPS 'usb' backend already supports printer model dependant special case handling via so called "USB quirks", see the comments in /usr/share/cups/usb/org.cups.usb-quirks (excerpt): ------------------------------------------------------------------------- # USB backend 'quirks' file. # # This file lists known issues with various vendors or printers. Each # line contains either a comment (starting with #) or the USB vendor ID, # product ID (omit for all vendor products), and a list of known issues: # # blacklist The printer is not functional with the USB backend. # no-reattach Do no re-attach usblp kernel module after printing. # soft-reset Do a soft reset after printing for cleanup. # unidir Only supported unidirectional I/O # usb-init Needs vendor USB initialization string. # vendor-class Uses vendor-specific class or subclass. # whitelist The printer is functional with the USB backend.
...
# Prolific Technology, Inc. PL2305 Parallel Port (USB -> Parallel adapter), # https://bugs.launchpad.net/bugs/987485 0x067b 0x2305 no-reattach soft-reset unidir
...
# All Samsung devices, https://bugs.launchpad.net/bugs/1032456 0x04e8 soft-reset
... -------------------------------------------------------------------------
When a particular printer model does not work with the defaults of the libusb-based CUPS 'usb' backend, it might help to specify model specific appropriate "USB quirks".
Usually one should have selfmade "USB quirks" in a separated file like /usr/share/cups/usb/selfmade.usb-quirks (the 'usb' backend reads all files in /usr/share/cups/usb/).
I've create the selfmade.usb-quirks with just my specific printer in it doing a soft-reset but it made no difference, will it override the setting in the org.cups.usb-quirks? There is a "usb-init" in the quirks that needs a vendor string, could that be an option? Or is this the end of the line? -- You are receiving this mail because: You are on the CC list for the bug.