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 ----------------------------------------------------------------------