Since the upgrade, my Epson scanner GT-S50 (Epkowa driver). It gets detected (dmesg) when plugged in:

[ 3755.680091] usb 3-4.4.1: new high-speed USB device number 8 using ehci-pci
[ 3755.789893] usb 3-4.4.1: New USB device found, idVendor=04b8, idProduct=0137
[ 3755.789895] usb 3-4.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3755.789896] usb 3-4.4.1: Product: EPSON Scanner
[ 3755.789897] usb 3-4.4.1: Manufacturer: EPSON

But when starting either "Image Scan!" or "Simple scan", no scanner can be detected.

Image Scan! Error

It still somehow gets detected by Sane, because when running sane-find-scanner, it "sees" it:

found USB scanner (vendor=0x04b8 [Language Error], product=0x0137 [Language Error]) at libusb:003:008

However, scanimage -L fails to detect it!

No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages).

If I can't find a solution, I'll consider downgrading back to 16.04.

Extra information after some extra investigation: it seems that the upgrade to Ubuntu 18.04 broke something within the Sane setup. Calling iscan or other sane related applications lead all to fail discovering my scanner due to the following error from syslog:

iscan: io/hpmud/pp.c 627: unable to read device-id ret=-1

Other calls to sane utilities fail for the same reason:

colord-sane: io/hpmud/pp.c 627: unable to read device-id ret=-1
scanimage: io/hpmud/pp.c 627: unable to read device-id ret=-1
xsane: io/hpmud/pp.c 627: unable to read device-id ret=-1

EDIT 2: Ok, found & solved the origin of the io/hpmud/pp.c 627: unable to read device-id ret=-1 messages; it is caused by the hplip's (libsane's) hpio module. I've disabled it (= commented out in /etc/sane.d/dll.d/hplip file) and the message is now gone.

Besides, I've tried to specify my scanner to sane by adding usb 0x04b8 0x0137 in the /etc/sane.d/epkowa.conf file and added the following UDEV rules in /etc/udev/rules.d/ as file 55-libsane.rules:

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE=="0666"
SUBSYSTEM=="usb_device", MODE=="0666"
ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0137", MODE="0666", 
GROUP="scanner", ENV{libsane_matched}="yes"

But, so far still no avail... scanner stubbornly undetected :'(

Side note: don't know if that matters, but when disconnecting the scanner, I see the following message appear in /var/log/syslog:

May 16 09:37:40 hades kernel: [22174.197243] usb 3-4.4.1: USB disconnect, device number 7
May 16 09:37:40 hades upowerd[1809]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:1c.5/0000:05:00.0/0000:06:00.2/usb3/3-4/3-4.4/3-4.4.1
May 16 09:37:40 hades colord-sane[7678]: failed to receive list of devices: Failed to connect to missing device /org/freedesktop/ColorManager/devices/sysfs_EPSON_EPSON_Scanner
  • very well researched and documented; I hope you have reported this as a bug to ubuntu; they need this – pdc May 13 '18 at 22:34
  • Hi pdc, thanks for the advice :-) There is actually already a bug filed in Ubuntu's sane-backend package: bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1728012. I've added my observations to it in a comment. Hoping they'll soon find a solution. Cheers, Manu – Manu May 16 '18 at 8:34

I found a word an affective workaround in the comments of the Ubuntu's sane-backends bug #1728012. I documented it as a comment on the bug report.

The problem seems to reside in missing symlinks to the epkowa (SEIKO EPSON) libraries in the /usr/lib/x86_64-linux-gnu/sane (or, more generically, /usr/lib/$(uname -m)-linux-gnu/sane) folder.

I thus did the following:

  1. sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane

  2. Removed the usb 0x04b8 0x0137 entry I had added to /etc/sane.d/epkowa.conf

  3. Added a 55-epson-libsane.rules file to /etc/udev/rules.d/ with the following text:

    SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE=="0666"
    SUBSYSTEM=="usb_device", MODE=="0666"
    ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0666"
    ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0137", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes"
  4. Finally I unplugged / plugged my scanner and tried

    scanimage -L

    and got this encouraging answer:

    device `epkowa:interpreter:003:011' is a Epson GT-S50 flatbed scanner
  5. Then I started iscan (Image Scan!) and it immediately detected my scanner. I then could successfully scan a page. Yipee! :-)

  • well done; great research – pdc May 16 '18 at 18:48
  • Thank you for this! I had a similar problem with Brother DCP-J315W. Adding symlinks to /usr/lib/x86_64-linux-gnu/sane solved the problem. – wojciech_rak Jun 9 '18 at 11:24
  • I followed your exact instructions with the exception of the vendor and product ID in the 55-epson-libsane.rules file. I had to change them to match my Epson V19 scanner. I was able to get the IDs by running the command sane-find-scanner. – Daniel Eagle Aug 4 '18 at 22:27
  • Thanks! This worked for my Epson DS-30 scanner as well. One observation: I think your "55-epson-libsane.rules" is overkill. I'm pretty sure all but the last line can be deleted. In my case (for Epson DS-30 scanner) my entire file was one line: ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0147", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes" – Benjamin Kraus Sep 9 '18 at 0:09
  • @BenjaminKraus: You're welcome, glad to know it helped. Besides, you're probably right about my UDEV rule, but at the time, I was experimenting and among the various suggestions in the thread about the libsane-backend bug, it was one of the recommendations, hence my try :-) – Manu Sep 10 '18 at 20:55

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.