[sane-devel] An alpha development of Sane backed for Canon FS4000

Andrew McDonnell bugs at andrewmcdonnell.net
Wed Aug 15 13:37:58 UTC 2012

Hash: SHA1

Hash: SHA1

Hello all

This is my first post here :-)

I have the use of a Canon FS4000 for a while, which is a very high
resolution 6-slot slide and negative scanner with both USB and SCSI
interface.  When I first tried to use it I discovered it was not supported
by Sane, and further I had some trouble finding and using the Windows
software that would have come with it.

Then it turned out there was a Windows command line control program written
for it; unexpectedly this was actually released under the GPL. [1], [2]

After trying out this code on an old Windows/XP box I decided to see if it
was feasible to hack it into a shape that could be integrated into SANE so I
could use the scanner on my main desktop, running Debian.  Luckily it seems
to run a SCSI protocol over USB and uses libusb, and was actually quite well
design in a somewhat modular manner, so after several weekends I managed to
get this working to the stage that I could scan a full resolution image
using the SANE command line.

I would like to have made further progress but for the moment I dont have a
lot of spare time.

My new backend driver is fs4000.  I have developed it against
git://git.debian.org/sane/sane-backends.git and tested on Debian Squeeze using:

./configure --prefix=/home/andrew/opt/sane-1.0.22-git --disable-translations
- - --enable-warnings --disable-avahi --disable-ipv6 --without-snmp
- - --enable-pnm-backend --disable-locking --enable-pthread --with-gphoto2
- - --enable-static --enable-maintainer-mode BACKENDS=fs4000

Only USB support has been integrated and tested at this stage.

My latest rebase was on commit 364509b57f2c2f83e89c0071ebefee6c5206c10c
(July 13) so it may need some tweaking to get it to build again.

I am hoping to have some more time to extend the integration with SANE in a
couple of months, but this is not guaranteed.  The library ported from
Windows covers pretty much all the functionality of the scanner, it would
seem to be just a matter of incrementally connecting this up as various Sane
properties.  I am more than available to answer any questions.

Anyway I would like to get this code to the community where it may be of use
- - - so could someone please suggest the preferred way of doing this?
I have used git extensively both locally and with git-svn at work but do not
yet have a lot of experience in pushing changes / patches to a git remote or
working with a community repository; the GIT repository page suggested
asking for a developer account but to get started perhaps it would be easier
to create a patch from my local branch?

Once that is sorted, at the very least you will be able to change the
support to 'ALPHA" on the Supported Devices page :-)


[1] http://www.burnsorama.com/fs4000/
[2] https://github.com/gsnedders/fs4000

- - --

Twitter: @andymc73
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the sane-devel mailing list