Hi Stan,
Sorry for the late reply. I meant to follow-up earlier.
Stan writes:
Hi,
does anyone have an experience with using sane on rasperian OS?
Not me.
I have found officil linux driver for cannon P-208 scanner.
You may want to mention where so others can find it too.
Followed installation instruction and compiled module with specific Sane
backend sane-backends-1.0.19
1.0.19? That's ancient, but not necessarily problematic.
but it did not helped anything.
Most strange is that sane-find-scanner reports as scanner network
devices but not the real scanner.
Please note that sane-find-scanner is mostly just a heuristic. It
hasn't got much attention in the last, oh, four years.
I had a peek at the source code basically reports *any* USB device with
a vendor specific class as a scanner. While many USB scanners *are* in
fact devices in the vendor specific class, the reverse is of course not
necessarily true.
What to do with this?
I wouldn't care too much about the results of sane-find-scanner.
[...]
pi@raspberrypi ~ $ sudo scanimage -L
[bjnp] create_broadcast_socket: bind socket to local address failed -
Cannot assign requested address
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).
pi@raspberrypi ~ $
As you have installed the "official driver", one would assume the above
would find your scanner. It doesn't. Often this is due to the driver
getting installed in a place where scanimage won't find it. Assuming
that rasperian is like most Linux distributions, the "drivers" are very
likely installed in /usr/lib/sane/ or /usr/lib/*/sane/ (where the * is
shorthand for an architecture/OS specific name, on my system that would
be x86_64-linux-gnu).
If your "official driver" is installed in any of these places, you may
need to add it to dll.conf (normally installed in /etc/sane.d/) to solve
your problem.
If your "official driver" ended up getting installed some other place,
e.g. /usr/local/lib/sane/, you can:
- add symbolic links from /usr/lib/sane/ to the installed location, or
- set and export LD_LIBRARY_PATH to include the directory your driver
was installed to
You still may have to add it to dll.conf before things work, though.
On 22/11/15 2:58 PM, Stan wrote:
[...]
I have also found that product id is slightly different for my device to
the one in cannon config, for my device it reports "e" at the end
instead of "c"
[...]
so I added line with my product id to /etc/sane.d/canon_dr.conf
# P-208
usb 0x1083 0x164c
usb 0x1083 0x164e
If the canon_dr backend supports your scanner that should to the trick.
But, seeing that you had to add them, we don't know yet whether the
canon_dr backend actually does.
not sure for what this exatly is but I have also created
/lib/udev/rules.d/40-libsane.rules
# These are used to set device access permissions. You will need to
# replug your scanner to make sure the permissions are updated.
with
# Canon P208
ATTRS{idVendor}=="1083", ATTRS{idProduct}=="164e",
ENV{libsane_matched}="yes"
# Canon P208
ATTRS{idVendor}=="1083", ATTRS{idProduct}=="164c",
ENV{libsane_matched}="yes"
Assuming you followed the pattern of the installed libsane.rules, that
should do.
Not sure what else to check.
You might want to try running scanimage so that it produces debugging
output. Maybe that will give other people a clue. To do so for the
canon_dr backend
SANE_DEBUG_CANON_DR=127 scanimage -L
For the "official driver" all I can do is guess. I would try something
like for the canon_dr backend but with the CANON_DR part replaced by the
driver name in ALLCAPS (or check the source code for a hint to turn on
debugging).
By the way, to check if scanimage finds your "official driver", you can
use
SANE_DEBUG_DLL=5 scanimage -L
# Bigger numbers normally mean more debugging output.
Hope this helps,