[sane-devel] Epson Perfection 1250/Photo 64-bit

Charles Lindsey chl at clerew.man.ac.uk
Sat Oct 17 20:37:00 BST 2020



On 16/09/2020 06:05, Ralph Little wrote:
> Hi,
> 
> On 2020-09-15 4:33 a.m., Charles Lindsey wrote:
>> I have cracked it; well, sort of.
>>
>> Still using my old 0.999-5ubuntu2 version of xsane.
>> Clearly, the preview uses a low resolution scan. So I tried doing a
>> full scan at various resolutions.
>>
>> 50 dpi - banding seen
>> 75 dpi - banding seen
>> 100 dpi - banding seen
>> 150 dpi - no banding
>>
>> I an still planning to download and compile the newer 0.999-8ubuntu2
>> version of xsane (but not today). In the meantime, I suggest you try
>> the same experiment on your Epson 1260.
>>
>> Using Simple Scan, I got no banding at either 75 dpi or 150 dpi, so I
>> still think it is an xsane problem.
>>
> 
> OK, I *think* that I might be seeing something like what you are.
> I get no stripiness, but some resolutions give me a red tinted scan.
> It looks to be the same kind of pink tint that you see but it is for the
> entire scan area.
> 
> I have to say that I only get this if I set the bit depth to 14. 8
> doesn't give me any problems.
> 
> In all cases, I get the funny thin yellow stripe on the right hand side
> which may or may not be related.
> For all the scans, I am using xsane.

Apologies for long delay but I was hospitalized for a while.

I downloaded and compiled the source code for xsane. It is in a messy state, and 
maintained (in a desultory manner) by some guys at Debian. Gcc complained of 
many casts from pointer to int. I changes these to long, but it made no difference.

I then downloaded the code for the plusek backend and compiled it. This was 
difficult because I do not have autoconf and its package had too many 
dependencies which I did not really want. So I had to do a bit of guesswork to 
get a config.h. It did compile but the problem remained. After many hours of 
using gdb to find how it worked, plus some use of the builtin SANE_DEBUG 
facility  and comparing that with SANE_DEBUG on simple-scan which worked 
correctly, I spotted what the problem was.

It is not a BUG; it is a FEATURE!

Simple-scan runs a calibration (both Course and Fine) om every startup.
Xsane has a setting "calibration cache" which can be set in the Standard Options 
window, and which I had set (because it seemed like a good idea). When set, it 
causes the result of the calibration to be set in
  ~/.sane/Epson_Perfection_1250_Photo-coarse.cal
and in
  ~/.sane/Epson_Perfection_1250_Photo-fine.cal
If it sees these in a later run, it uses them and omits the calibration process 
entirely. In the backend code there ia a variable 'dev->adj.cacheCalData' but 
nowhere could I find where it gets set, though I see now it can be set in /etc 
/sand.d/plustek.conf, which is presumably where simple-scan picks it up.

Anyway, when I first used Xsane in Ubuntu 18.04 (where sane 1.0.27 was used), it 
created these cache files (which suffered from the original bug), and when I 
switched to sane 1.0.31 (both the binary package and my locally compiled one) it 
still used these buggy cache files (simple-scan followed the new code, of 
course). So when I deleted them and let xsane re-create them, it all started to 
work correctly (not even any sign of Ralph's yellow stripe).

I also found a few oddities:
in plustek.c, it declares:
  	struct SIGACTION act;
However, that struct is nowhere defined. I had to change it to
  	struct sigaction act;
and also
  #include <signal.h>

Also, when running xsane and even simple-scan, it produced massive warnings of 
the form:
MIB search path: 
/home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Cannot find module (SNMPv2-MIB): At line 1 in (none)
Cannot find module (IF-MIB): At line 1 in (none)
Cannot find module (IP-MIB): At line 1 in (none)
Cannot find module (TCP-MIB): At line 1 in (none)
Cannot find module (UDP-MIB): At line 1 in (none)
Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none)
Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none)
Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none)
Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none)
Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none)
Cannot find module (MTA-MIB): At line 1 in (none)
Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none)
Cannot find module (SNMPv2-TC): At line 15 in /usr/share/snmp/mibs/UCD-DISKIO-MI
and much more. But I did not see them when using my own compiled backend-plustek.

The bug is described in 
https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1795861, but the 
workaround given there doesn't work.
AFAICS, it is trying to use the feature to use a scanner elsewhere on the net, 
but I have not installed saned because I do not need it. How do I turn it off?


-- 
Charles H. Lindsey ---------At my New Home, still doing my own thing------
Tel: +44 161 488 1845                    Web: http://www.cs.man.ac.uk/~chl
Email: chl at clerew.man.ac.uk              Snail-mail: Apt 40, SK8 5BF, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5



More information about the sane-devel mailing list