[sane-devel] [long] Want someone help me about Canon FS4000US USB/SCSI driver ?

eric@b.org eric.bachard@free.fr
Thu, 07 Aug 2003 18:02:23 +0200

Hi everyone,

I'm posting here for the first time. So, please be gentle with me (and
for my poor english, please :-)

The first reason why I'm here is because I've got a CanonScan FS4000US
(think USB and SCSI), and this hardware doesn't work yet on Linux.

Thank you Canon :-(

Of course, I *really* want to do something...

For this, I'm using both Linux, Mac OS X and Windows. The two last come
with native provided drivers for their respective OS :-/ , so I can
install this scanner on this one and obtain a lot of informations about
drivers that are used, and so on.

My purpose is to find someone who can help me to write/complete a driver
for this hardware and perhaps include it in Sane (what a good project ,
no ?).

Be careful, I'm not a programmer, but I think know enough Linux to do
this without lose to much time. I often compile/modify kernel sources to
make my hardware working since 6 years for now.

State of art about this hardware :

1) This hardware seems to be known in the kernel sources, because I
found it in /usr/src/linux/drivers/usb/scanner.h

eric@popom:/usr/src/linux/drivers/usb$ cat scanner.h | grep FS4000
	{ USB_DEVICE(0x04a9, 0x3042) }, /* FS4000US */

2) It's not known in sane-backend

3) modprobe scanner on my ibook (Debian sid, kernel 2.4.22pre4-ben0), I
can read, with  :

tail -f /var/log/messages

Aug  7 13:28:19 popom kernel: usb.c: USB device 4 (vend/prod
0x4a9/0x3042) is not claimed by any active driver.
Aug  7 13:28:20 popom kernel: usb.c: registered new driver usbscanner
Aug  7 13:28:20 popom kernel: scanner.c: USB scanner device
(0x04a9/0x3042) now attached to scanner0
Aug  7 13:28:20 popom kernel: scanner.c: 0.4.13:USB Scanner Driver
Aug  7 13:28:20 popom kernel: scanner.c: probe_scanner: User specified
USB scanner -- Vendor:Product - 4a9:3042

cat /proc/bus/usb/devices

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=16 #Cfgs=  1
P:  Vendor=04a9 ProdID=3042 Rev=10.01
S:  Manufacturer=Canon
S:  Product=Scanner
C:* #Ifs= 1 Cfg#= 1 Atr=60 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbscanner
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

usbview give me :

Manufacturer: Canon
Speed: 12Mb/s (full)
USB Version:  1.00
Device Class: ff(vend.)
Device Subclass: ff
Device Protocol: ff
Maximum Default Endpoint Size: 16
Number of Configurations: 1
Vendor Id: 04a9
Product Id: 3042
Revision Number: 10.01

Config Number: 1
	Number of Interfaces: 1
	Attributes: 60
	MaxPower Needed:   0mA

	Interface Number: 0
		Name: usbscanner
		Alternate Number: 0
		Class: ff(vend.)
		Sub Class: 0
		Protocol: 0
		Number of Endpoints: 3

			Endpoint Address: 81
			Direction: in
			Attribute: 2
			Type: Bulk
			Max Packet Size: 64
			Interval: 0ms

			Endpoint Address: 82
			Direction: in
			Attribute: 3
			Type: Int.
			Max Packet Size: 8
			Interval: 10ms

			Endpoint Address: 03
			Direction: out
			Attribute: 2
			Type: Bulk
			Max Packet Size: 64
			Interval: 0ms

sane-find-scanner -vvv

popom:/home/eric# sane-find-scanner

     # No SCSI scanners found. If you expected something different, make
sure that
     # you have loaded a SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9, product=0x3042) at /dev/usb/scanner0
found USB scanner (vendor=0x04a9 [Canon], product=0x3042 [Scanner ]) at
     # Your USB scanner was (probably) detected. It may or may not be
supported by
     # SANE. Try scanimage -L and read the backend's manpage.

     # Scanners connected to the parallel port or other proprietary ports
can't be
     # detected by this program.

Last but not least :

scanimage -L

popom:/home/eric# scanimage -L
[gphoto2] init_gphoto2: error: serial:/dev/ttyd1 is not a valid gphoto2
port.  Use "gphoto2 --list-ports" for list.
device `hp4200:/dev/usb/scanner0' is a Hewlett-Packard HP-4200 flatbed

4) The .inf windows driver contain






ICMProfiles="sRGB Color Space Profile.icm"


I hope have given enough informations...

Thanks in advance for your answers


eric b