[sane-devel] When to disable sane?

steve rinsler stevesr0 at yahoo.com
Mon Feb 28 18:20:48 GMT 2022

Hi Ralph,


The debug you suggested revealed a package that was needed and wasn't installed - libusb -0.1-4.

after installing - without a reboot - scanning with simple-scan worked.

As a perennial noobie, without a lot of debugging knowledge, your information was critical.



On Monday, February 28, 2022, 12:15:09 PM EST, Ralph Little <skelband at gmail.com> wrote: 


On Mon, Feb 28, 2022 at 7:05 AM steve rinsler <stevesr0 at yahoo.com> wrote:
>  Hi Ralph,
> My now my questions are (1) with the sane daemon disabled, what sane software is involved in scanning? 

So the architecture is SANE frontend (this is your application, typically scanimage, xsane or simple-scan) which loads SANE backends (DLLs which provide support for classes of scanners via USB and Ethernet, such as sane-genesys or sane-escl).

Many backends are part of the SANE project and you would typically find them in /usr/lib/sane (exact location depends on your distro and arch). However, there are 3rd party backends such as sane-airscan (which is free) and brscan1/2/3 from Brother. These are installed in locations where SANE frontends can find them in addition to the classic ones. They interact with your frontend in the same way. Brother's backends offer access directly to the network for network connectivity and also via USB depending on how you have connected them. If you connect your Brother MFP to the router, then it should be accessible and reachable by SANE on any PC that has SANE and the Brother backend installed.

How the backend module *finds* the scanner really depends on the implementation. Often network backends will probe for supported scanners by using a variety of methods. I have seen some 3rd party backends come with a utility that performs the probe or requests networking details (such as the static IP) of the scanner via a GUI. Typically probes don't work if the scanner is on another subnet and you have to supply some details directly. This would usually be squirreled away into a config file somewhere for the backend to find. The advantage of this is that startup is fast. Probing is slow.

That's the long answer. The short answer is if the Brother machine is network accessible to the PC and the Brother packages and SANE is installed, then you should be able to scan. No saned is required.

saned is actually quite niche solution for most people and is useful only for putting a non-networked scanner (e.g. USB only) onto the network for other PCs to use.

> and (2) (BIG QUESTION) - “How to I figure out what is wrong on the computer that doesn’t (yet) successfully scan? 

First I would remove-purge/reinstall the Brother software packages onto the machine that won't scan. The scanner software for your machine is brscan3. If you look to the bottom of the download page: 


...you can see instructions for running brsaneconfig3 to "register" your machine. I guess that probably just drops some details into a config file somewhere. 
Now you should be able to find the scanner on the network with:

scanimage -L

If you are still not seeing it, try:

SANE_DEBUG_DLL=4 scanimage -L

...to see if you see the driver being loaded:

[09:11:14.207264] [dll] add_backend: adding backend `xerox_mfp'
[09:11:14.207292] [dll] add_backend: adding backend `brother4'
[09:11:14.207320] [dll] add_backend: adding backend `brother3'
[09:11:14.207376] [dll] sane_get_devices


More information about the sane-devel mailing list