Hi!
I've just read on http://www.sane-project.org that the scanner HP=20
ScanJet 2300C is
unsupported. Since I own one, I would like to submit the information I=20
gathered
(at the end of this mail).
I think it would be great to have a working backend for this scanner,=20
and since I can write programs in C, I'd like to write a driver (or=20
participate in the creation of the driver), but I'd need some help -=20
where and how to begin - because I don't know much about creating drivers=
.
If someone can send me a few links or some documents concerning the=20
creation of sane backends, I'd be more than happy.
Bye,
Gere K=E1roly
kgere at delfin dot unideb dot hu
------------------------------------------------------------------
Gathered information:
There are two chips inside the scanner.
The first chip says:
EliteMT 100MHz
M11B416256A -25J
DZC1HC695 0215
The other one says:
26-00122-03B
0220FF29F-09
The result of "sane-find-scanner -v -v" :
----------------------------------------------------------------------
searching for SCSI scanners:
checking /dev/scanner... failed to open (Invalid argument)
checking /dev/sg0... failed to open (Invalid argument)
checking /dev/sg1... failed to open (Invalid argument)
checking /dev/sg2... failed to open (Invalid argument)
checking /dev/sg3... failed to open (Invalid argument)
checking /dev/sg4... failed to open (Invalid argument)
checking /dev/sg5... failed to open (Invalid argument)
checking /dev/sg6... failed to open (Invalid argument)
checking /dev/sg7... failed to open (Invalid argument)
checking /dev/sg8... failed to open (Invalid argument)
checking /dev/sg9... failed to open (Invalid argument)
checking /dev/sga... failed to open (Invalid argument)
checking /dev/sgb... failed to open (Invalid argument)
checking /dev/sgc... failed to open (Invalid argument)
checking /dev/sgd... failed to open (Invalid argument)
checking /dev/sge... failed to open (Invalid argument)
checking /dev/sgf... failed to open (Invalid argument)
checking /dev/sgg... failed to open (Invalid argument)
checking /dev/sgh... failed to open (Invalid argument)
checking /dev/sgi... failed to open (Invalid argument)
checking /dev/sgj... failed to open (Invalid argument)
checking /dev/sgk... failed to open (Invalid argument)
checking /dev/sgl... failed to open (Invalid argument)
checking /dev/sgm... failed to open (Invalid argument)
checking /dev/sgn... failed to open (Invalid argument)
checking /dev/sgo... failed to open (Invalid argument)
checking /dev/sgp... failed to open (Invalid argument)
checking /dev/sgq... failed to open (Invalid argument)
checking /dev/sgr... failed to open (Invalid argument)
checking /dev/sgs... failed to open (Invalid argument)
checking /dev/sgt... failed to open (Invalid argument)
checking /dev/sgu... failed to open (Invalid argument)
checking /dev/sgv... failed to open (Invalid argument)
checking /dev/sgw... failed to open (Invalid argument)
checking /dev/sgx... failed to open (Invalid argument)
checking /dev/sgy... failed to open (Invalid argument)
checking /dev/sgz... failed to open (Invalid argument)
# No SCSI scanners found. If you expected something different, make sur=
e
that
# you have loaded a SCSI driver for your SCSI adapter.
searching for USB scanners:
checking /dev/usb/scanner... failed to open (Invalid argument)
checking /dev/usb/scanner0... open ok, vendor and product ids were=20
identified
found USB scanner (vendor=3D0x03f0, product=3D0x0901) at /dev/usb/scanner=
0
checking /dev/usb/scanner1... failed to open (Invalid argument)
checking /dev/usb/scanner2... failed to open (Invalid argument)
checking /dev/usb/scanner3... failed to open (Invalid argument)
checking /dev/usb/scanner4... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner7... failed to open (Invalid argument)
checking /dev/usb/scanner8... failed to open (Invalid argument)
checking /dev/usb/scanner9... failed to open (Invalid argument)
checking /dev/usb/scanner10... failed to open (Invalid argument)
checking /dev/usb/scanner11... failed to open (Invalid argument)
checking /dev/usb/scanner12... failed to open (Invalid argument)
checking /dev/usb/scanner13... failed to open (Invalid argument)
checking /dev/usb/scanner14... failed to open (Invalid argument)
checking /dev/usb/scanner15... failed to open (Invalid argument)
checking /dev/usbscanner... open ok, vendor and product ids were identifi=
ed
found USB scanner (vendor=3D0x03f0, product=3D0x0901) at /dev/usbscanner
checking /dev/usbscanner0... failed to open (Invalid argument)
checking /dev/usbscanner1... failed to open (Invalid argument)
checking /dev/usbscanner2... failed to open (Invalid argument)
checking /dev/usbscanner3... failed to open (Invalid argument)
checking /dev/usbscanner4... failed to open (Invalid argument)
checking /dev/usbscanner5... failed to open (Invalid argument)
checking /dev/usbscanner6... failed to open (Invalid argument)
checking /dev/usbscanner7... failed to open (Invalid argument)
checking /dev/usbscanner8... failed to open (Invalid argument)
checking /dev/usbscanner9... failed to open (Invalid argument)
checking /dev/usbscanner10... failed to open (Invalid argument)
checking /dev/usbscanner11... failed to open (Invalid argument)
checking /dev/usbscanner12... failed to open (Invalid argument)
checking /dev/usbscanner13... failed to open (Invalid argument)
checking /dev/usbscanner14... failed to open (Invalid argument)
checking /dev/usbscanner15... failed to open (Invalid argument)
trying libusb:
<device descriptor of 0x0000/0x0000 at 005:001 (USB UHCI Root Hub)>
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 0.00
iManufacturer 0 ()
iProduct 2 (USB UHCI Root Hub)
iSerialNumber 1 (a800)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 64 (Self-powered)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x0000/0x0000 at 004:001 (USB UHCI Root Hub)>
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 0.00
iManufacturer 0 ()
iProduct 2 (USB UHCI Root Hub)
iSerialNumber 1 (b000)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 64 (Self-powered)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x03f0/0x0901 at 004:004 (Hewlett-Packard hp scanje=
t
scanner)>
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255
bDeviceSubClass 255
bDeviceProtocol 255
bMaxPacketSize0 8
idVendor 0x03F0
idProduct 0x0901
bcdDevice 1.01
iManufacturer 1 (Hewlett-Packard)
iProduct 2 (hp scanjet scanner)
iSerialNumber 12 (CN278S30FN)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 192 (Self-powered)
MaxPower 48 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255
bInterfaceSubClass 255
bInterfaceProtocol 255
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 2 (bulk)
wMaxPacketSize 64
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 (out 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 64
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 2>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 3 (interrupt)
wMaxPacketSize 1
bInterval 8 ms
bRefresh 0
bSynchAddress 0
found USB scanner (vendor=3D0x03f0 [Hewlett-Packard], product=3D0x0901 [h=
p=20
scanjet
scanner]) at libusb:004:004
<device descriptor of 0x0000/0x0000 at 003:001 (USB UHCI Root Hub)>
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 0.00
iManufacturer 0 ()
iProduct 2 (USB UHCI Root Hub)
iSerialNumber 1 (d000)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 64 (Self-powered)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x0000/0x0000 at 002:001 (USB UHCI Root Hub)>
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 0.00
iManufacturer 0 ()
iProduct 2 (USB UHCI Root Hub)
iSerialNumber 1 (d400)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 64 (Self-powered)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 8
bInterval 255 ms
bRefresh 0
bSynchAddress 0
<device descriptor of 0x0000/0x0000 at 001:001 (Linux 2.4.21-215-athlon
ehci_hcd VIA Technologies, Inc. USB 2.0)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 1
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.04
iManufacturer 3 (Linux 2.4.21-215-athlon ehci_hcd)
iProduct 2 (VIA Technologies, Inc. USB 2.0)
iSerialNumber 1 (00:09.2)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 64 (Self-powered)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 2
bInterval 12 ms
bRefresh 0
bSynchAddress 0
# Your USB scanner was (probably) detected. It may or may not be=20
supported
by
# SANE. Try scanimage -L and read the backend's manpage.
# Scanners connected to the parallel port or other proprietary ports=20
can't
be
# detected by this program.
done
----------------------------------------------------------------------
The result of "cat /proc/bus/usb/devices" :
----------------------------------------------------------------------
T: Bus=3D05 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D 1 Spd=3D12 M=
xCh=3D 2
B: Alloc=3D 0/900 us ( 0%), #Int=3D 0, #Iso=3D 0
D: Ver=3D 1.00 Cls=3D09(hub ) Sub=3D00 Prot=3D00 MxPS=3D 8 #Cfgs=3D 1
P: Vendor=3D0000 ProdID=3D0000 Rev=3D 0.00
S: Product=3DUSB UHCI Root Hub
S: SerialNumber=3Da800
C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3D40 MxPwr=3D 0mA
I: If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub ) Sub=3D00 Prot=3D00 Driver=
=3Dhub
E: Ad=3D81(I) Atr=3D03(Int.) MxPS=3D 8 Ivl=3D255ms
T: Bus=3D04 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D 1 Spd=3D12 M=
xCh=3D 2
B: Alloc=3D 11/900 us ( 1%), #Int=3D 1, #Iso=3D 0
D: Ver=3D 1.00 Cls=3D09(hub ) Sub=3D00 Prot=3D00 MxPS=3D 8 #Cfgs=3D 1
P: Vendor=3D0000 ProdID=3D0000 Rev=3D 0.00
S: Product=3DUSB UHCI Root Hub
S: SerialNumber=3Db000
C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3D40 MxPwr=3D 0mA
I: If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub ) Sub=3D00 Prot=3D00 Driver=
=3Dhub
E: Ad=3D81(I) Atr=3D03(Int.) MxPS=3D 8 Ivl=3D255ms
T: Bus=3D04 Lev=3D01 Prnt=3D01 Port=3D01 Cnt=3D01 Dev#=3D 4 Spd=3D12 M=
xCh=3D 0
D: Ver=3D 1.10 Cls=3Dff(vend.) Sub=3Dff Prot=3Dff MxPS=3D 8 #Cfgs=3D 1
P: Vendor=3D03f0 ProdID=3D0901 Rev=3D 1.01
S: Manufacturer=3DHewlett-Packard
S: Product=3Dhp scanjet scanner
S: SerialNumber=3DCN278S30FN
C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3Dc0 MxPwr=3D 48mA
I: If#=3D 0 Alt=3D 0 #EPs=3D 3 Cls=3Dff(vend.) Sub=3Dff Prot=3Dff Driver=
=3Dusbscanner
E: Ad=3D81(I) Atr=3D02(Bulk) MxPS=3D 64 Ivl=3D0ms
E: Ad=3D02(O) Atr=3D02(Bulk) MxPS=3D 64 Ivl=3D0ms
E: Ad=3D83(I) Atr=3D03(Int.) MxPS=3D 1 Ivl=3D8ms
T: Bus=3D03 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D 1 Spd=3D12 M=
xCh=3D 2
B: Alloc=3D 0/900 us ( 0%), #Int=3D 0, #Iso=3D 0
D: Ver=3D 1.00 Cls=3D09(hub ) Sub=3D00 Prot=3D00 MxPS=3D 8 #Cfgs=3D 1
P: Vendor=3D0000 ProdID=3D0000 Rev=3D 0.00
S: Product=3DUSB UHCI Root Hub
S: SerialNumber=3Dd000
C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3D40 MxPwr=3D 0mA
I: If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub ) Sub=3D00 Prot=3D00 Driver=
=3Dhub
E: Ad=3D81(I) Atr=3D03(Int.) MxPS=3D 8 Ivl=3D255ms
T: Bus=3D02 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D 1 Spd=3D12 M=
xCh=3D 2
B: Alloc=3D 0/900 us ( 0%), #Int=3D 0, #Iso=3D 0
D: Ver=3D 1.00 Cls=3D09(hub ) Sub=3D00 Prot=3D00 MxPS=3D 8 #Cfgs=3D 1
P: Vendor=3D0000 ProdID=3D0000 Rev=3D 0.00
S: Product=3DUSB UHCI Root Hub
S: SerialNumber=3Dd400
C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3D40 MxPwr=3D 0mA
I: If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub ) Sub=3D00 Prot=3D00 Driver=
=3Dhub
E: Ad=3D81(I) Atr=3D03(Int.) MxPS=3D 8 Ivl=3D255ms
T: Bus=3D01 Lev=3D00 Prnt=3D00 Port=3D00 Cnt=3D00 Dev#=3D 1 Spd=3D480 M=
xCh=3D 4
B: Alloc=3D 0/800 us ( 0%), #Int=3D 0, #Iso=3D 0
D: Ver=3D 2.00 Cls=3D09(hub ) Sub=3D00 Prot=3D01 MxPS=3D 8 #Cfgs=3D 1
P: Vendor=3D0000 ProdID=3D0000 Rev=3D 2.04
S: Manufacturer=3DLinux 2.4.21-215-athlon ehci_hcd
S: Product=3DVIA Technologies, Inc. USB 2.0
S: SerialNumber=3D00:09.2
C:* #Ifs=3D 1 Cfg#=3D 1 Atr=3D40 MxPwr=3D 0mA
I: If#=3D 0 Alt=3D 0 #EPs=3D 1 Cls=3D09(hub ) Sub=3D00 Prot=3D00 Driver=
=3Dhub
E: Ad=3D81(I) Atr=3D03(Int.) MxPS=3D 2 Ivl=3D256ms
----------------------------------------------------------------------