[sane-devel] Canon LIDE 220

John Weber jweber53 at gmail.com
Tue Jun 30 15:03:36 UTC 2015

On 06/29/2015 01:57 PM, Stef wrote:
> On 23/06/2015 16:08, John Weber wrote:
>> On 06/22/2015 10:40 PM, Stef wrote:
>> Hi Stef,
>>> Debug levels are defined like this for genesys_low:
>>> genesys_low.h:#define DBG_io          6    /* io functions */
>>> genesys_low.h:#define DBG_io2         7    /* io functions that are
>>> called very often */
>>> genesys_low.h:#define DBG_data        8    /* log image data */
>>>      So if you get the problem at log level below seven, we must look at
>>> DBG_data usage in genesys_low.c . But here isn't on. So try 7 and 6 as
>>> debug levels. Once we know the exact kind of logging level that fix this
>>> timing issue, the next step is to remove this messages one by on until
>>> you find the one that makes difference. I haven't seen nothing obvious,
>>> so experimenting/testing is needed.
>>>      sanei_genesys_wait_for_home(), sanei_genesys_set_buffer_address()
>>> and sanei_genesys_write_ahb functions() are printing messages in the
>>> middle of the code and are first candidates to try, in this order.
>> It works at debug level 7, but not 6. I'm not sure from the rest of
>> your answer if there's testing you want me to do, or if it's just
>> informational. I'm a retired sys admin/engineer but not much of a
>> programmer. I'm willing to test more, but I'll need more detailed
>> instructions.
>> Thanks,
>> John
>      Hello,
>      I was expecting something like that.
>      All DBG_io2 a mere traces, and I don't see how much they slow down
> things. Since I don't have this kind of problem on my hardware, I need
> your help. I don't see no other approach than trial and error.
>      1 - compile sources
>      2 - set logs to 7
>      3 - check that scanner is working with compiled sources and the log
> level
>      4 - change a line where there is DBG_io2 level in DBG_data so it
> isn't traced any more, write down the line number
>      5 - compile and run, if it is still working, go to step 4 and
> change one more debug trace
>      6 - since it isn't working anymore, you have find where a pause
> must be set, please send it to me
>      There are tutorials to build SANE from sources, one thing I like to
> do is to run the freshly compiled version without doing make install,
> when running scanimage from top source directory:
> export LD_PRELOAD=backends/.libs/libsane-genesys.so

Hi Stef,

I followed the first part of instructions at
https://help.ubuntu.com/community/CompileSaneFromSource just to get the 
source and dependencies. Since I didn't plan on doing make install, per 
your suggestion, I only used

./configure --enable-avahi

and it ran with exit code 0.

After setting
export LD_PRELOAD=backend/.libs/libsane-genesys.so

Now both

./frontend/scanimage -L
/usr/bin/scanimage -L

report no scanners found. In another shell without LD_PRELOAD set, 
/usr/bin/scanimage -L reports
device `genesys:libusb:001:020' is a Canon LiDE 220 flatbed scanner
as usual. ./frontend/scanimage -L still says no scanners found. I tried 
all scanimage -L tests also with sudo, but it made no difference.

Should I use other configure options? Testing by trial and error won't 
be too bad. It only took 80 secs to compile.

John Weber
jweber53 at gmail.com

More information about the sane-devel mailing list