HP4470C Sane driver development

This page is Under Construction

The HP4470c is a flat bed color scanner. This page will track development on the Linux SANE drivers for the HP4470c scanner. At present it is very raw and support is very experimental. Sorry :-).

The main reason I wanted to develop a sane scanner is because I never use my windows system, and I simply did not want to have to reboot all the time just for scanning. In addition, the HP supplied windows software is probably the worst scanning software I had ever seen. This software has some major stability issues - to the point of rendering the windows machine unbootable. Apparently this is common for HP scanner software.

Scanner information

The scanner is based around the RealTek RTS8891 chip. I have not been able to obtain any information about this chip. Mails to RealTek have gone unanswered. So all the work done so far was made by reverse engineering the windows drivers and observing usbsnoop logs. The technical info I collected is here. Note that this is definitely not complete and may even be incorrect - it simply reflects my theories of what all the registers do.

Sample software

I have been playing around with some software attempting to produce a driver. At present the software is extremely experimental so don't try unless you know what you're doing. The software should be compiled like this:

gcc main.c -o test -lusb -DUSBDEBUG
Note that you will need libusb installed and the appropriate usb modules loaded.
Currently the functions that work properly are:
  • Scanner front panel buttons - detected correctly.
  • Rewind scanner to home position.
  • move forward to defined point.
  • scan rectangular area in gray scale at 600DPI
  • save pnm of scanned area.
  • I hope to figure out how to do a color scan. Currently I can do a gray scale scan at 600dpi. I also need to know how to change the scanner resolution. If anyone can help ....

    Example snoops

    There is an example usb snoop of a full scan. This includes a preview and a 300dpi scan. This has been cleaned using the usb-robot script and compressed (size=165kb).

    contact me

    Any further development assistance is much appreciated. Please contact me via the sane developers mailing lists or on michael.cohen@netspeed.com.au.