Epson printer stopped working after update

I have an Epson SX215 which was working well. The scanner part still does. Trying to print I get “Waiting for printer to appear” (/come online?). Printer appears in outputs of lsusb and hwinfo --printer and /usr/lib/cups.backend/usb. When I try to reinstall the printer both Yast and CUPS do not find the printer. I have installed the printer on a different laptop and it works OK.
Have reinstalled:- kernel, kernel-firmware, cups, ppds, yast, everything with usb in the name, just to try to get it working. What have I missed?

lsusb ouput

Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 0cf3:3008 Atheros Communications, Inc. Bluetooth (AR3011)
Bus 003 Device 006: ID 04b8:084f Seiko Epson Corp. ME OFFICE 510
Bus 003 Device 003: ID 0c45:6457 Microdia
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 18d1:4ee1 Google Inc. Nexus 4
Bus 001 Device 002: ID 045e:0084 Microsoft Corp. Basic Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

hwinfo --printer

13: USB 00.1: 10900 Printer
[Created at usb.122]
Unique ID: 0xKN.d2ohtEsMOWE
Parent ID: KRJj.4Nx_qoDfSd7
SysFS ID: /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.1
SysFS BusID: 3-1.2:1.1
Hardware Class: printer
Model: “Epson ME OFFICE 510”
Hotplug: USB
Vendor: usb 0x04b8 “Epson”
Device: usb 0x084f “ME OFFICE 510”
Revision: “1.00”
Serial ID: “4C41334B3134393028”
Driver: “usblp”
Driver Modules: “usblp”
Speed: 480 Mbps
Module Alias: “usb:v04B8p084Fd0100dc00dsc00dp00ic07isc01ip02in01”
Driver Info #0:
Driver Status: usblp is active
Driver Activation Cmd: “modprobe usblp”
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #9 (Hub)

/usr/lib/cups/backend/usb

DEBUG: Loading USB quirks from “/usr/share/cups/usb”.
DEBUG: Loaded 110 quirks.
DEBUG: list_devices
DEBUG: libusb_get_device_list=11
DEBUG2: Printer found with device ID: MFG:EPSON;CMD:ESCPL2,BDC,D4,D4PX,ESCPR1;MDL:Epson Stylus SX210;CLS:PRINTER;DES:EPSON Epson Stylus SX210;CID:EpsonRGB Device URI: usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1
direct usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1 “Epson Stylus SX210” “Epson Stylus SX210” “MFG:EPSON;CMD:ESCPL2,BDC,D4,D4PX,ESCPR1;MDL:Epson Stylus SX210;CLS:PRINTER;DES:EPSON Epson Stylus SX210;CID:EpsonRGB” “”

Thanks in advance for help.

John

Is this perhaps just a printer status issue? Can you simply re-enable the printer with the following?

cupsenable <printer_name>

Hello Deano,

Thanks for the thought. I tried stop/start disable/enable from the CUPS Administrator console to no avail. I then deleted the printer and tried to reinstall it. That is when I took the listings above but neither yast nor cups could “see” the printer. My wife’s laptop also runs openSUSE Leap 42.2 and I could install it successfully on that! Still puzzled a) why it stopped working, and b) why it is both detected by the the OS but not available to re-install?

Best wishes

John

A bit perplexing…especially since you say it was all working. We could try reconfiguring it by hand I guess. Delete any existing CUPS configuration and start over.

It is also interesting that your printer is enumerated as a Epson Stylus SX210. That’s what the printer itself annunciates, so it is likely an SX-210 underneath the hood. The openprinting page reports that this model is supportedby the epson-escpr driver, and the epson-inkjet-printer-escpr package supplies the required PPD and filter. Check that the ‘epson-inkjet-printer-escpr’ package is still installed

zypper se epson-inkjet*

If not install it. This package has a PPD for the specific model concerned: Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz

The CUPS usb backend output already gave us the printer URI

usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1

so perhaps try configuring like this (as root)

lpadmin -p Epson -v  "usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1" -P /usr/share/cups/model/manufacturer-PPDs/epson-inkjet-printer-escpr/Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz -E

Let’s see how that goes.

Hello Deano,

Thank you for your reply. I Have done what you asked. The ppds are installed and after running the lpadmin command the printer appeared in CUPS printer status as “Idle, accepting jobs” - normal. When I tried to print something nothing appears and the printer remains silent. I then ran the following:-

lpstat -t

and that produced:-

scheduler is running
no system default destination
device for Epson: usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1
device for hppsc1350: hp:/usb/psc_1300_series?serial=HU39A1Q4VF9F
Epson accepting requests since Fri 07 Jul 2017 17:51:56 BST
hppsc1350 accepting requests since Wed 28 Jun 2017 18:47:05 BST
printer Epson now printing Epson-86. enabled since Fri 07 Jul 2017 17:51:56 BST
Waiting for printer to become available.
printer hppsc1350 disabled since Wed 28 Jun 2017 18:47:05 BST -
Paused
Epson-86 john 13312 Fri 07 Jul 2017 17:51:56 BST

So we’ve managed to re-install the printer but not solved the problem :frowning:

You are also teaching me things I didn’t know.

Best wishes

John

I’m a little bit confused about ‘Epson-86’. Does that relate to a previous configuration (for the same printer)? The printer configuration is located in /etc/cups/printers.conf

cat /etc/cups/printers.conf

So we’ve managed to re-install the printer but not solved the problem :frowning:

Part of the diagnostic process…

You are also teaching me things I didn’t know.

Best wishes

John

Learning is often a by-product of having problems like these :slight_smile:

Anyway, so the print job was apparently accepted, but no output. Examination of /var/log/cups/error_log is required. Use the time stamps to determine when a job was sent and the output generated. We’re specifically looking for warning and error messages. Sometimes it helps to increase the CUPS logging verbosity with

sudo cupsctl --debug-logging

then send a print job and examine the error_log output.

It is also possible to open a terminal in advance of printing and watch the tail like this

tail -f /var/log/cups/error_log

BTW can be turned off again with

sudo cupsctl --no-debug-logging

All stale jobs can be cancelled using

cancel -a

One other simple thought I had - have you hard power-cycled the printer since having this problem? Tried another USB port?

FWIW, if I configure CUPS the same you have, but without such a printer attached I get the same which would obviously be expected in this case…

# lpstat -t
scheduler is running
no system default destination
device for Brother: ipp://192.168.1.8/printers/Brother_DCP-7055
device for Brother_HL-2150N_series: lpd://HL2150N.local/BINARY_P1
device for Epson: usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1
Brother accepting requests since Sun 02 Jul 2017 03:33:19 PM NZST
Brother_HL-2150N_series accepting requests since Sun 02 Jul 2017 03:41:59 PM NZST
Epson accepting requests since Sat 08 Jul 2017 11:48:36 AM NZST
printer Brother is idle.  enabled since Sun 02 Jul 2017 03:33:19 PM NZST
printer Brother_HL-2150N_series is idle.  enabled since Sun 02 Jul 2017 03:41:59 PM NZST
printer Epson is idle.  enabled since Sat 08 Jul 2017 11:48:36 AM NZST
        Waiting for printer to become available.
Epson-31                root              1024   Sat 08 Jul 2017 11:43:21 AM NZST

The print job remains in /var/cups/spool but after cancelling the print job, the print queue status is returned to default ‘idle’ status as expected. So we need to understand why the CUPS backend cannot send the print job in your case when a USB printer is actually attached.

Hello Deano,

Apologies for the delay but social activities got in the way.

“Epson-86” is the CUPS Job Id of the print that would not print. It seems that the job number is appended to the printer name with a hyphen before. The number had changed to 87 when I tried it again today to get the error log.

cat /etc/cups/printers.conf generates

Printer configuration file for CUPS v1.7.5

Written by cupsd on 2017-07-07 18:11

DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING

<Printer Epson>
UUID urn:uuid:aba2a5f0-f037-340d-49c1-7389e67242c5
Info Epson
MakeModel Epson ME OFFICE 510, Epson Inkjet Printer Driver (ESC/P-R) for Linux
DeviceURI usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028&interface=1
State Idle
StateTime 1499447486
Type 4108
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

I have power-cycled the printer and changed the USB port before testing to get the error log and the problem still exists.

The CUPS error log filtered by the job number can be found at https://pastebin.com/b2SR1vNw - I’m not allowed to post files to the forum. The file will be there for 2 weeks (I think).

Did I tell you that the scanner function and the USB mass storage function both work?

This printer seems a bit quantum - both there and not there at the same time :wink:

Thank you

John

Yes, I realised it was a job ID after I tried to print to my ‘fake’ Epson printer. :slight_smile:

The CUPS error log filtered by the job number can be found at https://pastebin.com/b2SR1vNw - I’m not allowed to post files to the forum. The file will be there for 2 weeks (I think).

You did the right thing in uploading it pastebin. For your future reference, you can also upload lengthy output to https://paste.opensuse.org/

The actual issue is CUPS failing to open the device, but I’m not sure what the specific error code represents…

D [09/Jul/2017:18:26:54 +0100] [Job 87] libusb_get_device_list=10
D [09/Jul/2017:18:26:54 +0100] [Job 87] Failed to open device, code: -3

The next logical thing to do is check device ownership/permissions (although since you have scanner access I don’t expect to see any problems here). First, get the bus and device number that the printer device is connected to using

lsusb

then check using ‘ls -l /dev/bus/usb//’. For example

ls -l /dev/bus/usb/002/003
crw-rw-r--+ 1 root lp 189, 10 Jul 10 08:36 /dev/bus/usb/002/003

Then get access control list (ACL) info using the getfacl command. Run it as root (again using the relevant bus and device numbers)…


# getfacl /dev/bus/usb/002/003
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/002/003
# owner: root
# group: lp
user::rw-
user:dean:rw-
group::rw-
mask::rw-
other::r--

One other thought crossed my mind…perhaps specifying the interface in the URI (asreported by ‘lpinfo -v’) is problematic. Try just using

usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028

Delete the existing configuration, then reconfigure using the modified URI…

lpadmin -x Epson
lpadmin -p Epson -v  "usb://EPSON/Stylus%20SX210?serial=4C41334B3134393028" -P /usr/share/cups/model/manufacturer-PPDs/epson-inkjet-printer-escpr/Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz -E

Also, open a terminal prior to connecting the printer and run

dmesg -w

then observe/capture the output after connecting the printer. (I just want to see if usblp is involved somehow.)

The various outputs you asked for:-

lsusb output includes the line:-Bus 001 Device 004: ID 04b8:084f Seiko Epson Corp. ME OFFICE 510

ls -l /dev/bus/usb/001/004crw-rw-r–+ 1 root lp 189, 3 Jul 10 18:07 /dev/bus/usb/001/004

getfacl /dev/bus/usb/001/004getfacl: Removing leading ‘/’ from absolute path names

file: dev/bus/usb/001/004

owner: root

group: lp

user::rw-
user:john:rw-
group::rw-
mask::rw-
other::r–

I deleted and recreated the printer according to your post, disconnected it, re-connected it and tried to print. Still the same sadly.

The dmesg -w command produced:- 993.246996] usb 1-3: new high-speed USB device number 5 using xhci_hcd
993.382679] usb 1-3: New USB device found, idVendor=04b8, idProduct=084f
993.382684] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
993.382686] usb 1-3: Product: USB2.0 MFP(Hi-Speed)
993.382688] usb 1-3: Manufacturer: EPSON
993.382689] usb 1-3: SerialNumber: 4C41334B3134393028
993.390333] usblp 1-3:1.1: usblp0: USB Bidirectional printer dev 5 if 1 alt 0 proto 2 vid 0x04B8 pid 0x084F
993.391294] usb-storage 1-3:1.2: USB Mass Storage device detected
993.391397] scsi host6: usb-storage 1-3:1.2
994.393537] scsi 6:0:0:0: Direct-Access EPSON Stylus Storage 1.00 PQ: 0 ANSI: 2
994.394132] sd 6:0:0:0: Attached scsi generic sg2 type 0
994.401203] sd 6:0:0:0: [sdb] Attached SCSI removable disk

Thanks, John

The device permissions and ACL assignments (set by udev rules) are as expected. (I didn’t really think there would be an issue here.)

I deleted and recreated the printer according to your post, disconnected it, re-connected it and tried to print. Still the same sadly.

Ok.

The dmesg output shows that the usblp module isl oaded. Now as far as I understand this should no longer cause problems for the CUPS usb backend, but it wouldn’t hurt to unload that driver as it isn’t required. It can even be blacklisted if required. FWIW, I found a recent linuxquestions.org thread where the usblp module is suspected as being the cause of printing failure. However I’m not impacted by this with my Brother USB-connected printer.

Unload it with

modprobe -r usblp

then try printing again.

See how that goes.

Applied

modprobe -r usblp

as root then plugged in the printer.

dmesg -w

then output:-

354.200834] usb 3-3: new high-speed USB device number 4 using xhci_hcd
354.336650] usb 3-3: New USB device found, idVendor=04b8, idProduct=084f
354.336656] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
354.336658] usb 3-3: Product: USB2.0 MFP(Hi-Speed)
354.336660] usb 3-3: Manufacturer: EPSON
354.336662] usb 3-3: SerialNumber: 4C41334B3134393028
354.342048] usb-storage 3-3:1.2: USB Mass Storage device detected
354.342180] scsi host6: usb-storage 3-3:1.2
354.408095] usblp 3-3:1.1: usblp0: USB Bidirectional printer dev 4 if 1 alt 0 proto 2 vid 0x04B8 pid 0x084F
354.408130] usbcore: registered new interface driver usblp
355.343579] scsi 6:0:0:0: Direct-Access EPSON Stylus Storage 1.00 PQ: 0 ANSI: 2
355.344160] sd 6:0:0:0: Attached scsi generic sg2 type 0
355.350233] sd 6:0:0:0: [sdb] Attached SCSI removable disk

Printer still does not print with the same status as before.

John

The usblp driver loads as soon as the printer is connected…


  354.408095] usblp 3-3:1.1: usblp0: USB Bidirectional printer dev 4 if 1 alt 0 proto 2 vid 0x04B8 pid 0x084F
  354.408130] usbcore: registered new interface driver usblp

Unload it manually, then try sending a print job. If that doesn’t work, it’s time to submit a bug report IMO.

Sorry. No joy with that. Still the same.

When raising a bug is it OK to refer to this thread or should I create a separate set of diagnostics?

Many thanks for all your help on this.

John

I would submit a bug report with a succinct description of the problem and include the diagnostic output you’ve captured from here. This will help characterise the issue definitively. They may well ask you to run further tests. (Some users do reference a thread, but I’m not sure that most developers have the time to read often convoluted and verbose threads.)

Many thanks for all your help on this.

John

Glad to have been of guidance, even if only to help with obtaining diagnostic information. Please share the link to the bug report here so that we can follow the progress. It may be helpful to others who come searching as well.

This issue has been reported as a bug:

https://bugzilla.opensuse.org/show_bug.cgi?id=1048331

John