[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#658033: marked as done (cups: USB Epson receipt printer M129C not recognized)



Your message dated Tue, 16 Jul 2013 11:48:03 +0200
with message-id <201307161148.11228.odyx@debian.org>
and subject line Re: Bug#658033: cups: USB Epson receipt printer M129C not recognized
has caused the Debian Bug report #658033,
regarding cups: USB Epson receipt printer M129C not recognized
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
658033: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658033
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: cups
Version: 1.5.0-13
Severity: normal
Tags: upstream patch

Hi,

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 dretected 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 of the original source tree of cups 1.5.0.

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.
(I have tested the lastest debian cups version 1.5.0-16, and the problem is
still there)

I filled the same bug report in the cups bug tracker some months ago, but they
refuse to fix it, as they don't want to support non-standard printers. IMHO
it's still a regression caused by the transition from usblp to libusb, but
anyway ...


Thanks



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (700, 'testing'), (650, 'stable'), (600, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 3.1.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages cups depends on:
ii  adduser                3.113
ii  bc                     1.06.95-2
ii  cups-client            1.5.0-13
ii  cups-common            1.5.0-13
ii  cups-ppdc              1.5.0-13
ii  debconf [debconf-2.0]  1.5.41
ii  ghostscript            9.04~dfsg-3
ii  libavahi-client3       0.6.30-6
ii  libavahi-common3       0.6.30-6
ii  libc6                  2.13-24
ii  libcups2               1.5.0-13
ii  libcupscgi1            1.5.0-13
ii  libcupsdriver1         1.5.0-13
ii  libcupsimage2          1.5.0-13
ii  libcupsmime1           1.5.0-13
ii  libcupsppdc1           1.5.0-13
ii  libdbus-1-3            1.4.16-1
ii  libgcc1                1:4.6.2-11
ii  libgnutls26            2.12.16-1
ii  libgssapi-krb5-2       1.10+dfsg~beta1-2
ii  libijs-0.35            0.35-8
ii  libkrb5-3              1.10+dfsg~beta1-2
ii  liblcms1               1.19.dfsg-1+b1
ii  libldap-2.4-2          2.4.28-1.1
ii  libpam0g               1.1.3-6
ii  libpaper1              1.1.24+nmu1
ii  libpoppler13           0.16.7-2+b1
ii  libslp1                1.2.1-7.8
ii  libstdc++6             4.6.2-11
ii  libusb-0.1-4           2:0.1.12-20
ii  lsb-base               3.2-28
ii  poppler-utils          0.16.7-2+b1
ii  procps                 1:3.2.8-11
ii  ssl-cert               1.0.28
ii  ttf-freefont           20100919-1
ii  zlib1g                 1:1.2.3.4.dfsg-3

Versions of packages cups recommends:
ii  avahi-daemon                                        0.6.30-6
ii  colord                                              0.1.15-3
ii  cups-driver-gutenprint                              5.2.7-4
ii  foomatic-filters                                    4.0.9-1
ii  ghostscript-cups                                    9.04~dfsg-3
ii  printer-driver-gutenprint [cups-driver-gutenprint]  5.2.7-4

Versions of packages cups suggests:
ii  cups-bsd     <none>
ii  cups-pdf     2.6.1-5
ii  foomatic-db  20111206-1
ii  hplip        <none>
ii  smbclient    2:3.6.1-3
ii  udev         175-3

-- Configuration Files:
/etc/cups/cupsd.conf [Errno 13] Permission denied: u'/etc/cups/cupsd.conf'

-- debconf information:
--- 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->bInterfaceClass != USB_CLASS_PRINTER ||
-	        altptr->bInterfaceSubClass != 1 ||
-		(altptr->bInterfaceProtocol != 1 &&	/* Unidirectional */
+	    if (( altptr->bInterfaceClass != USB_CLASS_PRINTER ||  altptr->bInterfaceSubClass != 1 ) &&  
+		/* Ugly patch for Epson Receipt Printer M129C */
+		( device->descriptor.idVendor != 0x04b8 && device->descriptor.idProduct != 0x0202 ) ) 
+	      continue;
+	    if ((altptr->bInterfaceProtocol != 1 &&	/* Unidirectional */
 		 altptr->bInterfaceProtocol != 2) ||	/* Bidirectional */
 		altptr->bInterfaceProtocol < protocol)
 	      continue;
@@ -383,8 +385,7 @@
 
             if (!open_device(&printer, data != NULL))
 	    {
-	      if (!get_device_id(&printer, device_id, sizeof(device_id)))
-	      {
+	  get_device_id(&printer, device_id, sizeof(device_id));
                 make_device_uri(&printer, device_id, device_uri,
 		                sizeof(device_uri));
 
@@ -402,7 +403,6 @@
 					   bEndpointAddress;
 		  return (&printer);
 		}
-              }
 
               close_device(&printer);
 	    }
@@ -609,7 +609,7 @@
 
   mfglen = strlen(mfg);
 
-  if (!strncasecmp(mdl, mfg, mfglen) && _cups_isspace(mdl[mfglen]))
+  if ( mdl && !strncasecmp(mdl, mfg, mfglen) && _cups_isspace(mdl[mfglen]))
   {
     mdl += mfglen + 1;
 
Bus 006 Device 004: ID 04b8:0202 Seiko Epson Corp. Receipt Printer M129C
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x04b8 Seiko Epson Corp.
  idProduct          0x0202 Receipt Printer M129C
  bcdDevice            1.00
  iManufacturer           1 EPSON
  iProduct                2 TM-T88IV
  iSerial                 3 J4LG008211
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      2
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0001
  Self Powered


--- End Message ---
--- Begin Message ---
Version: 1.6.1-1

Hi Nicolas,

Le lundi, 30 janvier 2012 21.51:56, Nicolas Leonard a écrit :
> 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
> dretected 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 of the original source tree of cups 1.5.0.

This has been fixed by upstream in cups 1.6.0; hereby marking this bug as 
fixed in said version.

I will see if I can backport that fix to Wheezy.

Cheers,
OdyX

Attachment: signature.asc
Description: This is a digitally signed message part.


--- End Message ---

Reply to: