Closed michaelrsweet closed 12 years ago
CUPS.org User: mike
Sorry, but we don't want to try supporting non-standard USB printers with the USB backend - we have enough trouble supporting the ones that "follow" the standard printer class.
You can still use "file:///dev/usb/lp0" to refer to the kernel USB printer device, assuming that the kernel folks continue supporting their hack.
CUPS.org User: jsmeix.suse
FYI:
In any case you could use a selfmade backend for such very special cases, have a look at
http://en.opensuse.org/SDB:Using_Your_Own_Backends_to_Print_with_CUPS
CUPS.org User: nleonard
Well, I understand the policy of just handling "regular printers". It's just that its some kind of regression caused by the transition from usblp to libusb.
Anyway, thanks for the link on how to make custom backends - it's a temporary, but "not-so-ugly" way to solve my problem.
"cups-usb-backend-epson.patch":
--- orig/cups-1.5.0/backend/usb-libusb.c 2011-11-01 02:28:20.000000000 +0100 +++ cups-1.5.0/backend/usb-libusb.c 2011-11-02 00:54:05.000000000 +0100 @@ -339,9 +339,11 @@ * 1284.4 (packet mode) protocol as well. */
if ((altptr->bInterfaceProtocol != 1 && /* Unidirectional */
altptr->bInterfaceProtocol != 2) || /* Bidirectional */
altptr->bInterfaceProtocol < protocol)
continue;
@@ -383,8 +385,7 @@
if (!open_device(&printer, data != NULL))
{
@@ -402,7 +403,6 @@ bEndpointAddress; return (&printer); }
}
close_device(&printer);
}
@@ -609,7 +609,7 @@
mfglen = strlen(mfg);
Version: 1.5.0 CUPS.org User: nleonard
The USB receipt printer Epson/Seiko TM-T88IV (M129C) is not recognized by the cups usb backend. This printer returns to Vendor-Specific values for bInterfaceClass and bInterfaceSubClass USB attributes which prevents it to be properly detected as a 'regular' printer. The output of 'lsusb -v' for such a printer is attached It's correctly detected by usblp, since several years, thanks to this patch: http://www.spinics.net/lists/linux-usb-devel/msg03603.html.
I've made and tested successfully the same kind of patch for backend/usb-libusb.c.
A related drawback is that this device doesn't have any IEEE-1284 device ID, so the output of backend/usb is something like direct usb://Unknown/(null)?serial=J4LG008211 "/(null)?serial=J4LG008211" "/(null)?serial=J4LG008211" "" "" It could also be fixed using hard-wire values, but I haven't done such additions in my patch. This device ID problem doesn't prevent the printer to work perfectly.
Let me know if you want me to do additional tests - I really need this printer to be recognized properly by cups.
Thanks