[sane-devel] Looking to add support for Avision AV50F plus scanner

Ralph Little skelband at gmail.com
Wed Sep 4 19:20:21 BST 2024


Hi,

On Wed, Sep 4, 2024 at 10:11 AM Ove Laurum <laurum.tech at gmail.com> wrote:

> Thanks Ralph,
>
> I found the code on GitLab. Very useful.
>
> I also managed to add my scanner to the config file
> /etc/sane.d/avision.conf
> usb 0x0638 0x2b6a
>

Great.


>
> I didn't get much of a trace out until I ran it as root, see abbreviated
> output below
> SANE_DEBUG_AVISION=100 scanimage -L
> (I don't think I can use the -d option unless the device is listed with
> "scanimage -L")
>
> When I do:
> SANE_DEBUG_AVISION=50 sane-find-scanner
> I get no trace, is that because the backend is not involved at this stage?
>

Yeah, that won't work. sane-find-scanner is not using the SANE API at all.
It merely looks for devices that might be scanners.
You should use scanimage or another SANE frontend instead. This *should*
work once the avision backend knows about your scanner.
I *think* that you can use -d avision to pick the first avision device.


>
> In the trace that I did get, it looks like the backend is opening the
> correct device "libusb:001:003" and tries a first command which is
> "Inquiry".
> It builds the query and tries to write it but fails with error code 9.
>
> I am running the command as root (not as sudo) so it should not be a
> permissions issue unless the backend is run by a different user.
> If I run as an unprivileged user then I do not even get this far. In that
> case it tries to access the scanner but fails and is not even getting to
> the stage of Attaching to the scanner.
> Also worth noting is that my Canon LiDE220 works fine with sane, which is
> another indicator that it is unlikely a permissions issue.
>

Permissions are generally handled by udev which has rules based on USB ids
to give permissions to non-root users.
Just adding the USB ids to the backend will not be sufficient. You *could*
add the USB ids to a udev file such as /lib/udev/hwdb.d/20-sane.hwdb
followed by running something like

*udevadm control --reload-rules*

...as root. This should allow you to connect to the device as a regular
scanning user.


>
> So based on the trace and on the source code it looks like it is:
>
>    - Attaching to the scanner.
>    - SANE_Status = SANE_STATUS_GOOD in reply to sanei_usb_open
>    - starts building an inquiry
>    - tries to send the inquiry
>    - fails to do sanei_usb_write_bulk
>    - sanei_usb.c responds with error
>
> How can I see log entries from sanei_usb.c code?
>
>
I believe SANE_DEBUG_SANEI_USB=5 will give you some info about sanei USB
operations. Greater value gives you more info.

Cheers,
Ralph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/sane-devel/attachments/20240904/060ca4b7/attachment-0001.htm>


More information about the sane-devel mailing list