# Scanner suddenly stopped working [semi-SOLVED]

## eliddell

I have an Epson CX4200 multifunction printer/scanner that was working perfectly under Gentoo as of Jan. 12, but when I tried to use it today, all attempts to scan failed silently.

sane-find-scanner and scanimage both still detect the device:

```

akio ~ # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the

  # result is different from what you expected, first make sure your

  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that

  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04b8 [EPSON], product=0x0820 [USB2.0 MFP(Hi-Speed)]) at libusb:001:020

  # Your USB scanner was (probably) detected. It may or may not be supported by

  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports

  # can't be detected by this program.

akio ~ # scanimage -L

device `epkowa:usb:001:020' is a Epson (unknown model) flatbed scanner

device `epson2:libusb:001:020' is a Epson CX4200 flatbed scanner

```

However, if I try to actually scan with scanimage, it exits silently without doing anything.  I've also tried four different graphical scanner applications:  iscan, xsane, xscanimage, kooka.  Mostly, they exit silently without loading their main GUI and with no error message (xsane will show its device selection dialog, and it and xscanimage have loaded correctly once each.  No clue why, and neither has loaded a second time.)

I tried upgrading the sane-epkowa driver to the latest provided by upstream (I already had the latest that was in Portage).  It didn't fix anything.

This device has always been a bit flaky, but it's usually the printer end I have trouble with, not the scanner.  I don't know where to go from here.  Help?Last edited by eliddell on Sun Mar 18, 2012 4:27 pm; edited 1 time in total

----------

## BillWho

eliddell,

Start the apps from the cl to see if it kicks any messages back.

----------

## eliddell

I did that, multiple times, both from my user account and as root.  No messages.

----------

## BillWho

eliddell,

 *Quote:*   

> No messages.

 

That's odd. Usually the app complains about something! Try appname 2>&1 

If you still get nothing try unplugging the device and starting udevadm then plug it back in. Check for similar output. I use simple scan which hasn't  exhibited any problems.

root@gentoo-gateway linuxshared # udevadm monitor --udev

monitor will print the received events for:

UDEV - the event which udev sends out after rule processing

UDEV  [1331675431.025054] add      /devices/pci0000:00/0000:00:12.1/usb4/4-2 (usb)

UDEV  [1331675431.028858] add      /devices/pci0000:00/0000:00:12.1/usb4/4-2/4-2:1.0 (usb)

Also did you try a revdep-rebuild? Doesn't hurt!   :Cool: 

----------

## eliddell

I think it's odd, too—if I could just get it to generate an error message, I'd be off to the nearest search engine. :/

I run revdep-rebuild every time I update world.  I may not have run it to completion last time, as I was having problems involving a couple of live ebuilds being out of sync with each other, but as far as I can tell, no relevant packages were updated at that time (unless you count either linux-headers or a rebuild of the version of cups I've had installed since November.).

udevadm monitor --udev gives the following:

```

UDEV  [1331678927.030319] add      /class/usb (class)

UDEV  [1331678927.061437] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3 (usb)

UDEV  [1331678927.062618] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1 (usb)

UDEV  [1331678927.064558] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.0 (usb)

UDEV  [1331678927.064893] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

```

(At about this point, I started xscanimage, which for some reason chose to load this time.)

```

UDEV  [1331678961.342677] remove   /class/usb (class)

UDEV  [1331678961.342823] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

UDEV  [1331679051.348460] add      /class/usb (class)

UDEV  [1331679051.348515] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

```

(closed xscanimage)

```

UDEV  [1331679057.431597] remove   /class/usb (class)

UDEV  [1331679057.431665] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

UDEV  [1331679340.284007] add      /class/usb (class)

UDEV  [1331679340.284296] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

```

(started xsane, which failed)

```

UDEV  [1331679589.039821] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

UDEV  [1331679589.039887] remove   /class/usb (class)

UDEV  [1331679679.046383] add      /class/usb (class)

UDEV  [1331679679.046985] add      /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

UDEV  [1331679683.896788] remove   /class/usb (class)

UDEV  [1331679683.896929] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/usb/lp0 (usb)

```

(turned the Epson off again)

```

UDEV  [1331679908.422391] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.0 (usb)

UDEV  [1331679908.422450] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1 (usb)

UDEV  [1331679908.437279] remove   /devices/pci0000:00/0000:00:12.2/usb1/1-3 (usb)

```

All the same messages, just in a slightly different order. Corresponding dmesg, just for the heck of it:

```

usb 1-3: new high speed USB device using ehci_hcd and address 23

usblp0: USB Bidirectional printer dev 23 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0820

usblp0: removed

usblp0: USB Bidirectional printer dev 23 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0820

usb 1-3: usbfs: interface 1 claimed by usblp while 'xscanimage' sets config #1

usblp0: removed

usblp0: USB Bidirectional printer dev 23 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0820

usblp0: removed

usblp0: USB Bidirectional printer dev 23 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0820

usb 1-3: usbfs: interface 1 claimed by usblp while 'xsane' sets config #1

usblp0: removed

usb 1-3: USB disconnect, address 23

```

----------

## BillWho

eliddell,

Unfortunately all the output is not a heck of a lot of help with this. One more thing to look at is what's getting picked-up with udev. This just simulates what took place when the device was detected.

You'll have to change the device address to your output.

root@gentoo-gateway linuxshared # udevadm test /devices/pci0000:00/0000:00:12.1/usb4/4-2 2>&1|grep libsane

parse_file: reading '/lib/udev/rules.d/41-libsane.rules' as rules file

parse_file: reading '/etc/udev/rules.d/70-libsane.rules' as rules file

udev_rules_apply_to_event: GROUP 102 /lib/udev/rules.d/41-libsane.rules:43

udev_rules_apply_to_event: MODE 0664 /lib/udev/rules.d/41-libsane.rules:43

udev_rules_apply_to_event: RUN '/bin/sh -c 'test -e /sys/$env{DEVPATH}/power/level && echo on > /sys/$env{DEVPATH}/power/level'' /lib/udev/rules.d/41-libsane.rules:1530

libsane_matched=yes

The line with 41-libsane.rules:43 corresponds to line 43 of  /lib/udev/rules.d/41-libsane.rules - in this case it's the correct scanner at line 43. Line 1530 has to do with disabling USB autosuspend for the device. Maybe you can see what's happening with yours.

42  # Hewlett-Packard ScanJet 4100C

43  ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0101", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"

I would run this when the device doesn't work to see if the problem was with udev mixing up the scanner. 

I wanted to buy a new printer/scanner because mine are aging, but I don't want one that I'm going to have problems with in linux.

Hope this helps   :Cool: 

----------

## eliddell

Uninstalled iscan and the other applications suddenly started to work again (driver conflict, maybe)?  This is suboptimal, but I guess I'll just have to live with kooka and xsane from now—they're better than nothing, which was what I had. :/

----------

