# sane-find-scanner works, scanimage -L fails (again) [solved]

## folder

went to make a copy for someone tonight, xsane failed with 'no devices found'.  been a while since I used the scanner, but I *did* leave it working.  I post this in the hopes of saving time for others.

as per instructions somewhere I enabled debug flags for scanimage and my scanner (Canon LiDE 30, uses plustek driver):

export SANE_DEBUG_PLUSTEK=12

export SANE_DEBUG_DLL=12

scanimage -L then told me all about how it could not find a device for driver 'hpaio'.  (btw, sane-find-scanner reports my printer as a scanner, though it is not.)

after some searching, I found that /etc/sane.d/sane.dll contained only 'hpaio', however on re-emerging sane-backends the file was re-populated with the list of all drivers.

just re-emerge'd hplip, yup, over-wrote dll.conf again.  then dispatch-conf confirmed the change, presumably because I have it set to auto-accept changes to files I've not edited.   cool  :Smile: 

rob.

----------

## gustafson

I'm not having any luck, despite having the same problem. Any ideas?

```
$ sane-find-scanner 

found USB scanner (vendor=0x04b8 [EPSON], product=0x0801 [USB MFP]) at libusb:003:004
```

```
$ scanimage -L    

[sanei_debug] Setting debug level of dll to 12.

[dll] sane_init: SANE dll backend version 1.0.12 from sane-backends 1.0.18

[dll] sane_init: reading dll.conf

[dll] add_backend: adding backend `epson'

[dll] sane_get_devices

[dll] load: searching backend `epson' in `/usr/lib64/sane'

[dll] load: trying to load `/usr/lib64/sane/libsane-epson.so.1'

[dll] load: dlopen()ing `/usr/lib64/sane/libsane-epson.so.1'

[dll] init: initializing backend `epson'

[sanei_debug] Setting debug level of epson to 12.

[epson] sane_init: sane-backends 1.0.18

[epson] sane_init, ># epson.conf<

[epson] sane_init, >#<

[epson] sane_init, ># here are some examples for how to configure the EPSON backend<

[epson] sane_init, >#<

[epson] sane_init, ># USB scanner:<

[epson] sane_init, ># There are two different methods of configuring a USB scanner: libusb and the kernel module<

[epson] sane_init, ># For any system with libusb support (which is pretty much any recent Linux distribution) the<

[epson] sane_init, ># following line is sufficient. This however assumes that the connected scanner (or to be more<

[epson] sane_init, ># accurate, it's device ID) is known to the backend.<

[epson] sane_init, ><

[epson] sane_init, ><

[epson] sane_init, >#Bus 003 Device 004: ID 04b8:0801 Seiko Epson Corp. Stylus CX5200<

[epson] sane_init, >#  idVendor           0x04b8 Seiko Epson Corp.<

[epson] sane_init, >#  idProduct          0x0801 Stylus CX5200<

[epson] sane_init, ><

[epson] sane_init, >usb<

[epson] attach_one_usb()

[epson] SANE Epson Backend v0.2.46 - 2006-06-11

[epson] attach(, 3)

[epson] attach: opening

[epson] attach_one_usb(libusb:003:004)

[epson] SANE Epson Backend v0.2.46 - 2006-06-11

[epson] attach(libusb:003:004, 3)

[epson] attach: opening libusb:003:004

[epson] Found valid EPSON scanner: 0x4b8/0x801 (vendorID/productID)

[epson] reset()

[epson] send buf, size = 2

[epson] w_cmd_count = 1

[epson] r_cmd_count = 0

[epson] w_cmd_count = 1

[epson] r_cmd_count = 1

[epson] receive buf, expected = 1, got = 1

[epson] get_identity_information()

[epson] send buf, size = 2

[epson] w_cmd_count = 2

[epson] r_cmd_count = 1

[epson] w_cmd_count = 2

[epson] r_cmd_count = 2

[epson] receive buf, expected = 4, got = 4

[epson] code   02

[epson] status 00

[epson] count  19

[epson] w_cmd_count = 2

[epson] r_cmd_count = 3

[epson] receive buf, expected = 19, got = 19

[epson] type    D 0x44

[epson] level   1 0x31

[epson] no option equipment installed

[epson] resolution (dpi): 100

[epson] resolution (dpi): 300

[epson] resolution (dpi): 600

[epson] resolution (dpi): 1200

[epson] maximum scan area: x 10200 y 14040

[epson] send buf, size = 2

[epson] w_cmd_count = 3

[epson] r_cmd_count = 3

[epson] w_cmd_count = 3

[epson] r_cmd_count = 4

[epson] receive buf, expected = 4, got = 4

[epson] code   02

[epson] status 00

[epson] count  42

[epson] w_cmd_count = 3

[epson] r_cmd_count = 5

[epson] receive buf, expected = 42, got = 42

[epson] product name 43 43 2d 36 30 30 50 58

[epson] fbf tlx 0.000000 tly 0.000000 brx 215.899994 bry 297.179993 [mm]

[epson] get_identity2_information()

[epson] send buf, size = 2

[epson] w_cmd_count = 4

[epson] r_cmd_count = 5

[epson] w_cmd_count = 4

[epson] r_cmd_count = 6

[epson] receive buf, expected = 4, got = 4

[epson] w_cmd_count = 4

[epson] r_cmd_count = 8

[epson] receive buf, expected = 88, got = 88

[epson] close_scanner(fd = 0)

[epson] w_cmd_count = 4

[epson] r_cmd_count = 8

[epson] w_cmd_count = 4

[epson] r_cmd_count = 8

[epson] sane_init, >#usb 0x04b8 0x0801<

[epson] sane_init, ><

[epson] sane_init, ># For libusb support for unknown scanners use the following command<

[epson] sane_init, ># usb <product ID> <device ID><

[epson] sane_init, ># e.g.:<

[epson] sane_init, ># usb 0x4b8 0x110<

[epson] sane_init, ># And for the scanner module, use the following configuration:<

[epson] sane_init, >#usb /dev/usbscanner0<

[epson] sane_init, >#usb /dev/usb/scanner0<

[dll] init: backend `epson' is version 1.0.246

[epson] sane_get_devices()

[dll] sane_get_devices: found 0 devices

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).

[dll] sane_exit: exiting

[dll] sane_exit: calling backend `epson's exit function

[dll] sane_exit: finished
```

----------

## gustafson

Bump,  

I might start a new topic if nobody responds on this topic... Since the parent is marked solved, perhaps the most knowledgable people aren't looking anymore.

----------

## AssociateX

gustafson,

Did you try doing the following:

```
emerge -avD sane-backends
```

That's what did it for me as I thought that the poster folder was suggesting above.

cat /etc/sane.d/dll.conf showed only hpaio Then after the emerge sane-backends that file has a lot more. The scanner just works now... at least here.

----------

## gustafson

This post was retracted as the suggestion caused more problems than it solved.Last edited by gustafson on Tue Jan 09, 2007 5:28 pm; edited 1 time in total

----------

## tom_bxl

Do you have by any chance the ehci_hcd module loaded? I'm getting similar problems that get "solved" when I remove ehci_hcd, using my USB 2 port at full speed   :Evil or Very Mad: 

----------

## gustafson

Thanks, no your suggestion didn't make a difference (compiling ehci as a module and then not installing it).  

Nor did my solution of emerge --nodeps iscan above, since this broke some of the permission assignments on devices (I'm going to edit that post to remove the bad suggestion).  So I'm back out of luck with no solution for scanning.

----------

## onesandzeros

 *tom_bxl wrote:*   

> Do you have by any chance the ehci_hcd module loaded? I'm getting similar problems that get "solved" when I remove ehci_hcd, using my USB 2 port at full speed  

 

This solved a "Failed to start scanner: error device i/o" message I was getting from Xsane.  I'm using an Epson GT-9700F (same as a 2450).  I was getting that message even when attempting a scan as root.  Any idea what's behind this?  I wonder if I should start another thread somewhere...

Anyway, thanks!

----------

## gustafson

No idea... I suggest you start another thread because it appears to be a different symptom and this topic is marked solved, so you are less likely to get help.

Good luck,

----------

## infogerance

How did you find your solution?

My problem is not solved yet if you could help.

My scanner is a plustek chipset based

 */etc/sane.d/plustek.conf wrote:*   

> 
> 
> [usb] 0x03F0 0x0605
> 
> option lampOff 300
> ...

 

The problem remains the same.

----------

## tom_bxl

onesandzeros,

I created  this post . You may want to add any comment.

----------

## AssociateX

Just for the record, "folder" (the guy who started this thread) has a very good solution, but it just affects people who have the package "net-print/hplip" or maybe the package "net-print/hpoj"(I have not tested it but my guess is that hpoj would cause the same problem that's why I say maybe here.)

There may have been a typo in his solution though as he said:  *Quote:*   

>  after some searching, I found that /etc/sane.d/sane.dll contained only 'hpaio'

  I do not have a /etc/sane.d/sane.dll although I do have  /etc/sane.d/dll.conf which matched the rest of his problem and solution.

If you don't use "net-print/hplip" or "net-print/hpoj" then this solution probably does not affect you.... although it might not hurt to look in the file /etc/sane.d/dll.conf and see if it looks right or not. If there are a lot of lines in there that is better than only one line.

 "cat /etc/sane.d/dll.conf" only outputed "hpaio" but after the "emerge -avD sane-backends" and "etc-update" running "wc -l /etc/sane.d/dll.conf" showed "78 /etc/sane.d/dll.conf" meaning 78 lines in that file. "cat /etc/sane.d/dll.conf |grep hpaio" returned nothing so I did a "echo hpaio >> /etc/sane.d/dll.conf" to add it to the file and all is good now, scanner/xsane works and the HP printer which uses hplip/hpaio works.

If you don't use  "net-print/hplip" or "net-print/hpoj" then this solution is not for you... more than likely.

----------

