[sane-devel] Canon IX-4015 not working
linux at rainbow-software.org
Tue Jul 17 08:26:29 UTC 2012
On Friday 13 July 2012, Ondrej Zary wrote:
> I've found an old Canon IX-4015 scanner:
> scsi2 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
> <Adaptec 2940 SCSI adapter>
> aic7870: Single Channel A, SCSI Id=7, 16/253 SCBs
> scsi 2:0:2:0: Scanner CANON IX-4015 3.03 PQ: 0 ANSI:
> 2 scsi target2:0:2: Beginning Domain Validation
> scsi target2:0:2: Ending Domain Validation
> scsi 2:0:2:0: Attached scsi generic sg3 type 6
> sane-find-scanner is happy:
> found SCSI scanner "CANON IX-4015 3.03" at /dev/sg3
> But scanimage seems not be so happy - the first run after scanner power
> cycle crashes:
> $ scanimage -L
> Segmentation fault
> $ scanimage -L
> device `canon:/dev/sg3' is a CANON IX-4015 flatbed scanner
> And even after that, scanimage does not work:
> $ scanimage >/dev/null
> scanimage: sane_start: Operation not supported
> Old canon backend web says:
> "IX-4015: you have to make a simple modification in the backend sources,
> then it seems to work. See the archived mailing list for details. The
> modification will be included in the next backend release."
> I wonder if that "next release" with modification was ever made. I also
> haven't found the details in the mailing list archive, only some old posts
> about IX-4015 docs:
> Can someone provide me the IX-4015 documentation and/or some (old) code?
As a start, got the scanner working in Wine. The documentation about Wine,
SCSI, ASPI and TWAIN is mostly absent so here's a guide:
0. The SCSI scanner must be visible to Linux.
1. Download ScanGear Twain driver here:
2. Install it in Wine (I used Wine 1.5.6). It installs twain_32.dll,
3. Configure a library override (native, builtin) for twain_32.dll (using
winecfg, add twain_32.dll on the Libraries tab).
4. Install some TWAIN-capable graphics program, preferably an older one that
will work fine in Wine. I used old Paint Shop Pro (3.12) 32-bit.
5. Wine will attempt to use /dev/sg0. This will not be the scanner (mine is at
sg3). As a hack, I renamed /dev/sg0 to /dev/sg0- and created a
If you don't do this, scanning will fail with "Device initialization failed"
and "err:aspi:SCSI_OpenDevice Failed to open device /dev/sg0: Permission
denied" message from Wine. Or if your /dev/sg0 is another device (and is
writable), it might do bad things to your system!
6. Run the graphics program in Wine, use "Select source" function to
select "Canon IX-4015". Use "Acquire" function to scan.
For tracing, use WINEDEBUG variable to enable aspi debugging, e.g:
WINEDEBUG=aspi wine PSP32BIT.EXE
More information about the sane-devel