[sane-devel] Sane Problem Canoscan 5600F

Stef stef.dev at free.fr
Thu Mar 20 06:05:28 UTC 2014


On 19/03/2014 12:29, Rowan Liddane wrote:
> Hi jef & Joel,
> Family problems kept me from my computer but I am now back.
>
> Stef,
> Happy to try modifying and testing the back end for the Canon 5600F as 
> I have the scanner. I have no idea where to begin but very happy to 
> learn. I am not sure where to begin so if you like to point me in the 
> right direction for some information this will be a first for me.
>
> Rowan
>
>

     Hello,

     to make the 5600F work you'll have to modify the following files:
     - genesys_devices.c
     - genesys_gl847.h
     - genesys_gl847.c
     - genesys.c

     In the 2 first files you'll have to either update or create entries 
for this scanner with values from logs and test, and in genesys_gl847.h. 
I expect you'll have to add a specific sensor and motor description for 
this model. For genesys_gl847.c, you'll certainly have to add specific 
case for the sensor you'll add. genesys.c will have to be modified for 
the new sensor when generating and sending shading calibration.

     The 2 very first things to do are:
     - have a windows environment where you can use usbsnoop to monitor 
usb activity. The usb log will be processed with the appended scripts.
     - clone SANE's git tree so you can generate patches that can be 
easily included. Doxygen doc for the backend is generated by 'doxygen 
doxygen-genesys.conf' in the doc/ subdirectory.

     Roughly the process is to capture an USB log, run the same test 
with the genesys backend, explain and fix differences until the scanner 
work. Review the git history of these files for LiDE 700F addition, that 
will give you some idea of what has to be done. The first goal is to 
have uncalibrated low resolution scan working, ie a 75 or 100 dpi color 
preview.
     I never install the code I am debugging, I run it with a script 
that use LD_PRELOAD to use the freshly compiled version, see the 
appended run-genesys script. Another thing is to compile with debugging 
enabled with (/usr/lib64 on 64 bit system, /usr/lib on 32 bit system):

CFLAGS="-ggdb" ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--libdir=/usr/lib64 \
--enable-parport-directio \
--enable-pnm-backend \
--enable-libusb_1_0 \
--enable-pthread \
--enable-locking \
--with-group=scanner \
--without-snmp


     The main stumbling block is that the 5600F is a CCD, not a CIS 
scanner, and that type of sensor isn't handled at all in the gl847 code. 
You may have a look to the gl843 code to see how it can be supported.

Regards,
     Stef

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gl847-scripts.tar.gz
Type: application/x-gzip
Size: 3361 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20140320/4092a888/attachment.bin>
-------------- next part --------------
#!/bin/bash
#======================================================
export SANE_DIR=/replace/with/exact/path/sane-backends
export BIN_DIR=$SANE_DIR/frontend
export SO_DIR=$SANE_DIR/backend/.libs
export SANE_DEBUG_GENESYS=255
export SANE_DEBUG_GENESYS_LOW=255
export SANE_DEBUG_GENESYS_GL646=255
export SANE_DEBUG_GENESYS_GL841=255
export SANE_DEBUG_GENESYS_GL843=255
export SANE_DEBUG_GENESYS_GL847=255
export SANE_DEBUG_GENESYS_GL124=255
#export SANE_DEBUG_SANEI_USB=255
#export SANE_DEBUG_SANEI_MAGIC=255
export LD_PRELOAD=$SO_DIR/libsane-genesys.so
$BIN_DIR/scanimage -d genesys --resolution 75 --preview --mode Color 2>preview.log >preview.pnm


More information about the sane-devel mailing list