summaryrefslogtreecommitdiff
path: root/doc/plustek/Plustek-USB.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/plustek/Plustek-USB.txt')
-rw-r--r--doc/plustek/Plustek-USB.txt457
1 files changed, 457 insertions, 0 deletions
diff --git a/doc/plustek/Plustek-USB.txt b/doc/plustek/Plustek-USB.txt
new file mode 100644
index 0000000..e1ee793
--- /dev/null
+++ b/doc/plustek/Plustek-USB.txt
@@ -0,0 +1,457 @@
+Plustek-USB.txt (2005-08-08) Gerhard Jäger <gerhard@gjaeger.de>
+===============================================================
+
+NOTE:
+-----
+
+ALL YOU NEED TO RUN YOUR USB SCANNER IS ALREADY INCLUDED. THERE'S
+NO NEED TO INSTALL THE KERNEL MODULE pt_drv. THIS ONE IS ONLY NEEDED
+FOR THE PLUSTEK PARALLELPORT SCANNER.
+
+
+List of all currently implemented devices
+-----------------------------------------
+
+Quite a lot of them are not tested or even identified. Please send me the ids
+of your device...
+
+
+PLUSTEK
+=======
+Vendor ID: 0x07B3
+
+Product ID Device-description and status
+0x0005 not identified yet
+0x0007 not identified yet
+0x000F not identified yet
+0x0010 U12 - working
+0x0011 U24 (LM9831) - working
+0x0012 not identified yet
+0x0013 UT12 (LM9831) - working
+0x0014 not identified yet
+0x0015 U24 (LM9832) - working
+0x0016 not identified yet
+0x0017 UT12 - working, UT16 - working, UT24 - working
+
+MUSTEK
+======
+BearPaw vendor ID: 0x0400 (They use the NationalSemiconductors ID!!!)
+
+Product ID Device-description and status
+0x1000 BearPaw 1200 (LM9831) - working
+0x1001 BearPaw 1200 (LM9832) - not tested
+0x1001 BearPaw 2400 (LM9832) - mostly working
+
+KYE (Genius)
+============
+Vendor ID: 0x0458
+
+Product ID Device-description and status
+0x2007 ColorPage-HR6 V2 - working
+0x2008 ColorPage-HR6 V2 - not tested
+0x2009 ColorPage-HR6A - not tested
+0x2013 ColorPage-HR7 - working
+0x2015 ColorPage-HR7LE - not tested
+0x2016 ColorPage-HR6X - not tested
+
+Hewlett Packard
+===============
+Vendor ID: 0x03F0
+
+Product ID Device-description and status
+0x0505 HP Scanjet 2100c - working
+0x0605 HP Scanjet 2200c - working
+
+EPSON
+=====
+Vendor ID: 0x04b8
+
+Product ID Device-description and status
+0x010F EPSON Perfection 1250/Photo - working
+0x011D EPSON Perfection 1260/Photo - working
+
+UMAX
+====
+Vendor ID: 0x1606
+
+Product ID Device-description and status
+0x0050 UMAX 3400 - working
+0x0060 UMAX 3400/3450 - working
+0x0160 UMAX 5400 - working
+
+COMPAQ
+======
+Vendor ID: 0x049F
+
+Product ID Device-description and status
+0x001A S4-100 - working, identical with UMAX 3400
+
+CANON
+=====
+Vendor ID: 0x04A9
+
+Product ID Device-description and status
+0x???? FB620U - not integrated
+0x2206 N650U - working
+0x2207 N1220U - working
+0x2208 D660U - working
+0x220D N670U/LiDE20 - working
+0x2220 LiDE25 - working
+0x220E N1240U/LiDE30 - working
+
+
+How to use and configure the Plustek USB backend
+------------------------------------------------
+
+Please note, that the following is only needed, if you need to upgrade
+a SANE version...
+
+
+Preparations
+------------
+
+What do we need ?
+
+a SANE backends archive (i.e. sane-backends-1.0.9.tar.gz)
+a driver archive (i.e. plustek-sane-0.45-1.tar.gz)
+
+The latest SANE archive can be obtained at:
+http://www.sane-project.org
+and the latest backend at:
+http://www.gjaeger.de/scanner/plustek.html
+
+Assumptions
+-----------
+
+Our starting point is your home-directory:
+
+:~>
+
+The packages (here sane-backends-1.0.9.tar.gz und plustek-sane-0.45-1.tar.gz)
+are in the /tmp directory.
+
+Let's go:
+---------
+
+Change to your home directory and create a sane directory
+cd ~
+mkdir sane
+
+unpack your sane tar-ball (here "sane-backends-1.0.9.tar.gz")
+to this "sane" directory
+
+cd sane
+tar xvzf /tmp/sane-backends-1.0.9.tar.gz
+
+Now unpack your plustek-sane tarball (here "plustek-sane-0.45-1.tar.gz")
+to the backends directory:
+
+cd sane-backends-1.0.9
+tar xvzf /tmp/plustek-sane-0.45-1.tar.gz
+
+Now do the ./configure step...
+Especially for SuSE with a preinstalled SANE-RPM:
+./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --infodir=/usr/share/info
+
+Then do the make step and after that as root user perform the make install
+step.
+
+That's all!
+
+Before using, make sure that the USB scanner device driver is loaded:
+modprobe scanner
+or
+modprobe scanner vendor=0x7b3 product=0x17
+
+You might need to add the following line to /etc/modules.conf, if the scanner is not
+supported directly - vendor and product must match your device!
+options scanner vendor=0x7b3 product=0x17
+
+If you're not sure about the vendor and product id of your device, simply load
+the USB subsystem and plug in your scanner. Then do a
+cat /proc/bus/usb/devices
+and look for the scanner
+
+Now you have to configure the backend. Edit the file /etc/sane.d/plustek.conf
+and fill in the appropriate vendor and product id (see there for examples)
+
+This is it...
+
+
+Autoloading scanner.o
+---------------------
+
+To perform an automatic load of the scanner module, you might add the modprobe
+line to your boot.local file.
+i.e. on SuSE system > 7.x
+/etc/init.d/boot.local
+An alternative way is to use the hotplug utilities.
+
+
+Using hotplug utilities and libusb
+----------------------------------
+
+When using libusb with SANE, then you should also use the hotplug utilities to
+automatically setup your device nodes (at least the permissions) and prevent
+scanner.o from loading.
+
+Assuming, that these utilites are properly installed on your box, you have
+to tweak and add some files.
+
+In directory (where of course the config files reside):
+/etc/hotplug
+
+Append the line
+scanner
+to file
+blacklist
+
+This prevents the scanner module from the usb-subsystem to be loaded.
+
+Next thing is to add a new line in
+usb.usermap:
+
+usbscanner 0x0003 0x1606 0x0160 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 000000
+
+The example line shows the vendor ID of UMAX 0x1606 and the product ID of the 5400
+0x0160 - these values must match the ones of your scanner.
+
+Last step is adding a script in
+/etc/hotplug/usb/
+It is called "usbscanner" (don't forget the executable rights)
+
+-------------------------------------------------
+# !/bin/bash
+
+if [ "${ACTION}" = add ] && [ -f "${DEVICE}" ]
+then
+ chgrp users "${DEVICE}"
+ chmod ug+rw "${DEVICE}"
+fi
+-------------------------------------------------
+
+This script will correct the access right to your scanner device when the device
+is plugged in.
+
+
+Debugging your USB scanner (written by Kev Green)
+-------------------------------------------------
+
+Firstly, are you running the latest version of SANE, and the Plustek USB driver?
+
+Double check at http://www.gjaeger.de/scanner/plustek.html
+(Plustek USB driver) and http://www.sane-project.org (SANE Suite) to
+make sure you are.
+
+Now, in order to test and utilise your scanner with the Scanner Access Now Easy
+(SANE) system, there are basically two programs that you will need to use from
+the sane-frontends (versions post 1.0.3) or sane (versions pre 1.0.3) packages.
+
+Firstly, the sane-find-scanner program will allow you to locate your scanner,
+and help you work out if sane knows where it is. This is not definite however,
+as (you'll see this too when using sane-find-scanner) it will find all the
+scanners on your USB and SCSI bus, whereas sane will only work when you have
+the relevant sane backend installed and configured correctly for the relevant
+scanner.
+
+So, if sane-find-scanner can find your scanner, but scanimage doesn't work,
+then you need to check, double check, and even triple-check your SANE
+configuration file for plustek scanners (plustek.conf, usually in
+/etc/sane.d
+or maybe in /usr/local/sane/ or somewhere, a "find" will be able to tell you
+where. It may take a while though!).
+
+If sane-find-scanner doesn't find your scanner, then you should check to see if
+the kernel recognises it at all, which you can do with the following command,
+as mentioned above:
+
+cat /proc/bus/usb/devices
+
+If your scanner doesn't appear in there, then the kernel has not recognised it.
+There may however be a crypic-looking entry in there which doesn't name itself
+as plustek, in which case it is recognised as being there by the kernel, but is
+not know to the kernel's USB device database, in which case this should be
+mentioned on the plustek list (<plustek@linuxhacker.org>), from where
+the "powers that be" will deal with it.
+
+If that file does not exist in the /proc filesystem, then you don't have the
+"Preliminary USB filesystem" option set in your kernel, and you will need to
+recompile your kernel to allow you to do this step in debugging. If it
+exists, but is empty, you will have to make sure (use the kernel configure
+help information and the details of your motherboard to ascertain this!)
+you have the right one of UHCI or OHCI USB modules installed or compiled into
+your kernel.
+
+Once you've established that the kernel has recognised your scanner, you can
+start pointing the finger at SANE, or simply the "scanner" module. You will
+need to have selected the "USB Scanner" option in your kernel compilation as
+a module, or compiled into the kernel. If you have done neither, then SANE will
+simply not be able to recognise your scanner. Rectify that, if you are missing
+it.
+
+If you have carried out all of the above steps, then sane-find-scanner should
+be able to recognise your scanner correctly.
+
+sane-find-scanner probes all of the devices on the SCSI and USB busses, and
+so you may find that it outputs "unable to get minor data" errors or similar
+to your terminal, or to your error logs, you can safely ignore these as long
+as it does that, and has recognised your scanner.
+
+Once you have found your scanner okay using sane-find-scanner, then you are
+ready to start messing around with the actual scanimage program to attempt
+to scan an image in.
+
+Obviously (although this may turn out to be premature) you should now have
+something in your scanner ready to scan for verification.
+
+At this stage, you should begin to be warey, because while the USB stuff for
+Plustek scanners is in development it may (like any kernel/module related software)
+crash your system with a kernel panic, or simply just segfault, so for your own sake,
+close down all the applications you are running and ONLY use text console, rather
+than X-Windows at this point, as you will certainly want to avoid any
+potential filesystem corruption.
+
+At this point it's probably also good to ensure that you have selected the
+"Magic SysRq Key" option in the kernel hacking section of the kernel config,
+and done:
+
+echo 1 > /proc/sys/kernel/sysrq
+
+And of course read the readme for that in /usr/src/linux/Documentation, as that
+should allow you to avoid filesystem corruption during any crashes that might
+happen.
+
+Now, before running scanimage, you should enable the maximum levels of
+debugging possible in both the SANE core and in the Plustek scanner
+backend.
+
+To do this you should do:
+
+export SANE_DEBUG_PLUSTEK=12
+export SANE_DEBUG_DLL=12
+
+Now, if you run scanimage, you should be able to see the maximum debugging
+messages.
+
+If those messages don't tell you what is wrong, then take note of your scanner
+type, the contents of /proc/bus/usb/devices, and the contents of your error
+log, as well as (where possible) the output of the scanimage command (if
+you can't capture it directly, an as-accurate-as-possible description is
+MUCH better than nothing!), and try and get all of the activity that
+your scanner did as well (light
+came on? didnt? motors came on? etc?) and email that to the plustek list
+(<plustek@linuxhacker.org>).
+
+For the particularly adventurous only...
+
+You might want to try running the scanimage program through strace or
+gdb to see if you can go some or all of the way to debugging the problem
+yourself, and post the relevant (ie. last!) parts of those utilities
+output to the plustek-help list. If you don't know what strace or gdb
+are, then you should probably not try that.
+
+It's probably safe to run your scanner in a normal operating environment
+under Linux once you have got it working once in a text console.
+
+
+How to add a new LM9831/2 based device description
+--------------------------------------------------
+
+If you have a LM9831 or LM9832 based scanner and your vendor and product id did
+not appear in the list above and you're willing to do some experiments, then
+simply add your device to the file plustek-devs.c at the end of the list.
+See the list at the end of the file how this works...
+
+
+Thanx guys for helping:
+-----------------------
+
+Henning Meier-Geinitz henning@meier-geinitz.de for Mustek Bearpaw testing, ideas and patches
+Stefan Nilsen stefan.nilsen@telia.com for HP2200c testing and patches
+Kev Green kyrian@ore.org for Documentation, UT12 testing and RPMS.
+Holger Bischof bischof@cs.tu-berlin.de for OpticPro U12 testing
+Abhijit Sovakar a.sovakar@gmx.de for OpticPro UT24 testing
+Peter Koellner peter@mezzo.net for OpticPro U24 testing
+Gene Heskett gene_heskett@iolinc.net for EPSON 1250 testing and patches
+Tasnim Ahmed tasnim_ahmed@yahoo.com for KYE Colorpage HR6 testing
+Reinhard Max max@suse.de for EPSON 1250 testing and patches
+Allan N. Hessenflow allan@kallisti.com for UMAX 3400 testing and patches
+Craig Smoothey craig@smoothey.org for HP2100c testing and patches
+Till Kamppeter till.kamppeter@gmx.net for EPSON1260 testing
+Christopher Montgomery monty@xiph.org for CanoScan calibration works
+Olaf Leidinger leidola@newcon.de for CanoScan LiDE25 testing
+
+and a lot of other guys not named here...
+
+
+Some equations which are used to calculate some stuff
+-----------------------------------------------------
+
+The stuff is used in plustek_usbscan.c to get the correct register settings
+out of the hardware descriptions:
+
+Crystalfrequency is 48MHz
+
+
+Pixel Period (seconds/pixel)
+----------------------------
+
+ MCLK_DIV x 8 x CM
+PixelPeriod = -----------------
+ 48MHz
+
+
+Integration Time (seconds)
+--------------------------
+
+Tint = PixelPeriod X LineLength
+
+ MCLK_DIV x 8 x CM X LineLength
+Tint = ------------------------------
+ 48MHz
+
+
+Ideal MCLK Divider
+------------------
+ 48MHz (DataPixelsEnd - DataPixelStart)
+MCLK_DIV = --------------------------- x --------------------------------
+ HostIORate x 8 x LineLength HDPI_ADJ x PP
+
+ 48MHz (DataPixelsEnd - DataPixelStart) CM
+ = ------------------------------- x -------------------------------- x ----
+ BytesPerSecond x 8 x LineLength HDPI_ADJ x PP CM
+
+ 48MHz 1
+ = --------------------------- x Tint x ---------
+ 8 x LineLength CM
+
+ 48MHz (Tint * 1000)
+ = ----------------------- x --------------------
+ 1000 x 8 x LineLength CM
+
+
+Ideal Scan Speed (inches/second)
+
+ 1 1 1
+ScanSpeed = ----------- x -------- x --------
+ PixelPeriod FSPI x 4 StepSize
+
+ 48MHz 1 1
+ScanSpeed = ----------------- x -------- x --------
+ MCLK_DIV x 8 x CM FSPI x 4 StepSize
+
+
+ 48MHz
+MCLK_DIV = ------------------------------------------
+ ScanSpeed x 8 x CM x FSPI x 4 x StepSize
+
+
+
+----------------
+Symbols:
+
+CM - Color Mode (unitless), 3 for channel pixel rate color, else 1
+
+
+-------------------------
+