Home of HP 2200c Scanner SANE USB Scanner Driver
Current Status
This project is not needed anymore, the code has been incorporated
in the official SANE distribution.
The development of the
project
is still in early alpha stage.
The source in CVS is now able to scan (100DPI).
Course calibration is done, and some part of the fine calibration.
The Gain Coefficient Data still needs to be calculated and stored before any
high-quality pictures can be scanned in 48bpp.
SANE backend for Epson1250 available
The Epson 1250 Perfection uses the same chip inside as the HP2200c, and
a (sort of) working backend is available. Download it
here. Follow the instructions in
the INSTALL file
Test it !!
What you need for the test
SANE
development headers
SANE
backend
Netpbm
Graphics tools and converters
Warning
All commands in this document must be executed as root.
Watch out. As root you are able to destroy your Linux
installation!!
Setup the device
(info from /usr/src/linux-2.4.8/Documentation/usb/scanner.txt)
Add a device for the USB scanner:
mknod /dev/usbscanner0 c 180 48
ln -s /dev/usbscanner0 /dev/usbscanner
Set appropriate permissions for /dev/usbscanner0.
Both read and write permissions are required for proper
operation:
chmod 666 /dev/usbscanner0
Insert HP2200c info into /etc/modules.conf
The standard usb scanner driver doesn't have the vendor and
product numbers compiled into it (at least not in Linux 2.4.8).
You need to inform them via modules.conf. Add the line
below to the end of the file:
options scanner vendor=0x3f0 product=0x605
It the usb scanner driver is already loaded, this will only
take effect after it is reloaded.
Load (or reload) your scanner driver
Check to see if the scanner driver is loaded:
lsmod
Look for a module like below:
Module | Size | Used by |
scanner | 7680 | 0 (unused)
If it exists, the module is loaded. You need to remove it
first, with the command:
rmmod scanner
Now load the module with the command:
modprobe -v scanner
You should see something similar to:
/sbin/insmod /lib/modules/2.4.8-26mdk/kernel/drivers/usb/scanner.o.gz
Using /lib/modules/2.4.8-26mdk/kernel/drivers/usb/scanner.o.gz
Symbol version prefix ''
Disconnect and reconnect your scanner
Reach for the USB cable at the back of your scanner.
Unplug it. Plug it.
Check the whole process with usbview
If you follow the process using usbview, and have your scanner plugged in,
you'll see it start as red in usbview and then change to
black after you complete the previous step
Get the source (The fun part)
Login
cvs -d:pserver:anonymous@cvs.scanjet2200c.sourceforge.net:/cvsroot/scanjet2200c login
(Just hit return when prompted for a password)
Get source
cvs -z3 -d:pserver:anonymous@cvs.scanjet2200c.sourceforge.net:/cvsroot/scanjet2200c co sane
Compile it
Get in the lm983x directory
Type make
Note: It's possible sanei.h and sanei_config.h are not found.
You can find them in your sane-backends directory:
[Location where you unpacked it]/sane-backends-1.x.x/include/sane/
And copy them to:
/usr/local/include/sane/
Execute
Type:
./lm9832 | rawtoppm 850 325 | ppmtojpeg > test.jpg
Or if you don't have/like ppmjpeg:
./lm9832 | rawtoppm 850 325 | ppmquant 256 | ppmtogif > test.gif
And take a look at the test picture.
Actually the bulb has to warm up before the first scan (not implemented yet)
so you will get noticably different output from the test driver
the first, second and third times you run it.
Docs
National Semiconductor Twain Drivers
The Windows Twain driver sources donated from NS.
LM9832
The actual chip used in the hp2200c scanner
- (PDF) LM9832 Specifications
LM9831
Older version of the previous chip
- (PDF) LM9831 Software Design Guide
- (PDF) LM9831 Specifications
LM9830
This chip is not used in this scanner, but this doc is
good to have for reference when looking for differences)
- (PDF) LM9830 Specifications
Links
Remarks, comments or updates about this page mail to: Olivier Van Acker