[sane-devel] Info about HP scanjet 2300c

Gere Károly kgere@delfin.unideb.hu
Mon, 17 May 2004 01:01:38 +0200


Hi!

I've just read on http://www.sane-project.org that the scanner HP 
ScanJet 2300C is
unsupported. Since I own one, I would like to submit the information I 
gathered
(at the end of this mail).

I think it would be great to have a working backend for this scanner, 
and since I can write programs in C, I'd like to write a driver (or 
participate in the creation of the driver), but I'd need some help - 
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 
creation of sane backends, I'd be more than happy.

Bye,

Gere Károly
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 sure
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 
identified
found USB scanner (vendor=0x03f0, product=0x0901) at /dev/usb/scanner0
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 identified
found USB scanner (vendor=0x03f0, product=0x0901) 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 scanjet
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=0x03f0 [Hewlett-Packard], product=0x0901 [hp 
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 
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.
done
----------------------------------------------------------------------


The result of "cat /proc/bus/usb/devices" :
----------------------------------------------------------------------
T:  Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=a800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc= 11/900 us ( 1%), #Int=  1, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=b000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
P:  Vendor=03f0 ProdID=0901 Rev= 1.01
S:  Manufacturer=Hewlett-Packard
S:  Product=hp scanjet scanner
S:  SerialNumber=CN278S30FN
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 48mA
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=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=8ms
T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=d000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=d400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 4
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.04
S:  Manufacturer=Linux 2.4.21-215-athlon ehci_hcd
S:  Product=VIA Technologies, Inc. USB 2.0
S:  SerialNumber=00:09.2
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms
----------------------------------------------------------------------