automate scanner work

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

automate scanner work

tom@hostwebase.com
I need some help and direction to where or whom to talk to.
I need to stream line or automate the scanner process for
Linux.

I am looking for some help to write a driver and some other
functions for a scanner project.
Let me know if you are interest in helping out or for a fee.

I want to automate the scanner process.  Turn it into a fax
alike.
You know how we only need to push one button on the fax
machine.  That is how I
would like to see a scanner able to perform.

Having said that, I am looking for someone who can help me to
write a USB driver, interface that allow the system to
automate the process.


Please write me at [hidden email] if you can and
interested.

Thanks,

Tom




---- Original message ----
>Date: Fri, 17 Jun 2005 17:26:52 +0200
>From: Till Kamppeter <[hidden email]>  
>Subject: [sane-devel] IScan 1.14.0 startup delay, not
working Perf 2450, not compiling on Mandriva LE2005/gcc
3.4.3  
>To: Olaf Meeuwissen <[hidden email]>, SANE list
<[hidden email]>
>
>libusb: 0.1.8
>kernel: 2.6.11
>
>I am trying to get an Epson Perfection 2450 and 4180 to work
on the
>distro mentioned in the subject.
>
>At first I tried /home/test/iscan-1.14.0-3.i386.rpm, but
iscan had a
>long delay to start up with both with the Perfection 4180
and 2450
>Photo. The 4180 actually worked, once the iscan window was
open. Also
>multiple page scanning with the pages initiated by the
scanner's button
>works. The 2450 did not work.
>
>Here the debug output for the 2450 Photo (in epkowa.conf
only "usb" line
>is active, in dll.conf "epson", "plustek", and "snapscan"
are commented
>out):
>
>-------------------------------------------------------------
----------------
>[test@majax ~]$ SANE_DEBUG_EPKOWA=255 iscan
>[sanei_debug] Setting debug level of epkowa to 255.
>[epkowa] sane_init: iscan 1.14.0
>[epkowa] sane_init, ># epkowa.conf -- sample configuration
for the
>EPKOWA SANE backend<
>[epkowa] sane_init, ># Copyright (C) 2004  Olaf Meeuwissen<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, ># See sane-epkowa(5), sane-scsi(5) and
sane-usb(5)
>for details.<
>[epkowa] sane_init, ><
>[epkowa] sane_init, ># SCSI scanners can be configured
simply by listing
>the path to the<
>[epkowa] sane_init, ># device.  For example, if your system
claims to
>have a /dev/scanner<
>[epkowa] sane_init, ># SCSI device, all you have to do is
uncomment the
>following line:<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >#/dev/scanner<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, ># In the interest of maintainability,
most
>installations would have<
>[epkowa] sane_init, ># /dev/scanner sym-linked to the real
SCSI scanner
>device node.<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, ># An alternative way that works for
many operating
>systems and is a<
>[epkowa] sane_init, ># little bit more generic, is to have
the backend
>probe for your SCSI<
>[epkowa] sane_init, ># scanner with the following
configuration command:<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >scsi EPSON<
>[epkowa] sane_init, ><
>[epkowa] sane_init, ># On systems with libusb, the following
line is
>sufficient to get the<
>[epkowa] sane_init, ># backend to recognise your USB
scanners.  It
>presumes, however, that<
>[epkowa] sane_init, ># the scanner---more precisely, it's
USB product
>ID---is known to the<
>[epkowa] sane_init, ># backend.<
>[epkowa] sane_init, ># For all USB scanners that are
officially
>supported by this backend,<
>[epkowa] sane_init, ># this presumption is true.  A list of
such

>scanners can be found in<
>[epkowa] sane_init, ># sane-epkowa(5).<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >usb<
>[epkowa] attach_one_usb()
>[epkowa] SANE EPKOWA Backend 1.14.0 - 2005-02-18
>[epkowa] attach(, 3)
>[epkowa] attach: opening
>[epkowa] attach_one_usb(libusb:001:086)
>[epkowa] SANE EPKOWA Backend 1.14.0 - 2005-02-18
>[epkowa] attach(libusb:001:086, 3)
>[epkowa] attach: opening libusb:001:086
>[epkowa] Found valid EPSON scanner: 0x4b8/0x112
(vendorID/productID)

>[epkowa] send buf, size = 2
>[epkowa] buf[0] 1b .
>[epkowa] buf[1] 40 @
>[epkowa] receive buf, expected = 1, got = 0
>[epkowa] get_identity_information()
>[epkowa] send buf, size = 2
>[epkowa] buf[0] 1b .
>[epkowa] buf[1] 49 I
>[epkowa] receive buf, expected = 4, got = 4
>[epkowa] buf[0] 02 .
>[epkowa] buf[1] 12 .
>[epkowa] buf[2] 6a j
>[epkowa] buf[3] 00 .
>[epkowa] code   02
>[epkowa] status 12
>[epkowa] count  106
>[epkowa] receive buf, expected = 106, got = 106
>[epkowa] buf[0] 42 B
>[epkowa] buf[1] 38 8
>[epkowa] buf[2] 52 R
>[epkowa] buf[3] 32 2
>[epkowa] buf[4] 00 .
>[epkowa] buf[5] 52 R
>[epkowa] buf[6] 3c <
>[epkowa] buf[7] 00 .
>[epkowa] buf[8] 52 R
>[epkowa] buf[9] 48 H
>[epkowa] buf[10] 00 .
>[epkowa] buf[11] 52 R
>[epkowa] buf[12] 4b K
>[epkowa] buf[13] 00 .
>[epkowa] buf[14] 52 R
>[epkowa] buf[15] 50 P
>[epkowa] buf[16] 00 .
>[epkowa] buf[17] 52 R
>[epkowa] buf[18] 5a Z
>[epkowa] buf[19] 00 .
>[epkowa] buf[20] 52 R
>[epkowa] buf[21] 64 d
>[epkowa] buf[22] 00 .
>[epkowa] buf[23] 52 R
>[epkowa] buf[24] 78 x
>[epkowa] buf[25] 00 .
>[epkowa] buf[26] 52 R
>[epkowa] buf[27] 85 .
>[epkowa] buf[28] 00 .
>[epkowa] buf[29] 52 R
>[epkowa] buf[30] 90 .
>[epkowa] buf[31] 00 .
>[epkowa] buf[32] 52 R
>[epkowa] buf[33] 96 .
>[epkowa] buf[34] 00 .
>[epkowa] buf[35] 52 R
>[epkowa] buf[36] a0 .
>[epkowa] buf[37] 00 .
>[epkowa] buf[38] 52 R
>[epkowa] buf[39] af .
>[epkowa] buf[40] 00 .
>[epkowa] buf[41] 52 R
>[epkowa] buf[42] b4 .
>[epkowa] buf[43] 00 .
>[epkowa] buf[44] 52 R
>[epkowa] buf[45] c8 .
>[epkowa] buf[46] 00 .
>[epkowa] buf[47] 52 R
>[epkowa] buf[48] d8 .
>[epkowa] buf[49] 00 .
>[epkowa] buf[50] 52 R
>[epkowa] buf[51] f0 .
>[epkowa] buf[52] 00 .
>[epkowa] buf[53] 52 R
>[epkowa] buf[54] 0a .
>[epkowa] buf[55] 01 .
>[epkowa] buf[56] 52 R
>[epkowa] buf[57] 2c ,
>[epkowa] buf[58] 01 .
>[epkowa] buf[59] 52 R
>[epkowa] buf[60] 40 @
>[epkowa] buf[61] 01 .
>[epkowa] buf[62] 52 R
>[epkowa] buf[63] 5e ^
>[epkowa] buf[64] 01 .
>[epkowa] buf[65] 52 R
>[epkowa] buf[66] 68 h
>[epkowa] buf[67] 01 .
>[epkowa] buf[68] 52 R
>[epkowa] buf[69] 90 .
>[epkowa] buf[70] 01 .
>[epkowa] buf[71] 52 R
>[epkowa] buf[72] e0 .
>[epkowa] buf[73] 01 .
>[epkowa] buf[74] 52 R
>[epkowa] buf[75] 58 X
>[epkowa] buf[76] 02 .
>[epkowa] buf[77] 52 R
>[epkowa] buf[78] d0 .
>[epkowa] buf[79] 02 .
>[epkowa] buf[80] 52 R
>[epkowa] buf[81] 20
>[epkowa] buf[82] 03 .
>[epkowa] buf[83] 52 R
>[epkowa] buf[84] 84 .
>[epkowa] buf[85] 03 .
>[epkowa] buf[86] 52 R
>[epkowa] buf[87] b0 .
>[epkowa] buf[88] 04 .
>[epkowa] buf[89] 52 R
>[epkowa] buf[90] 40 @
>[epkowa] buf[91] 06 .
>[epkowa] buf[92] 52 R
>[epkowa] buf[93] 08 .
>[epkowa] buf[94] 07 .
>[epkowa] buf[95] 52 R
>[epkowa] buf[96] 60 `
>[epkowa] buf[97] 09 .
>[epkowa] buf[98] 52 R
>[epkowa] buf[99] 80 .
>[epkowa] buf[100] 0c .
>[epkowa] buf[101] 41 A
>[epkowa] buf[102] 40 @
>[epkowa] buf[103] 6a j
>[epkowa] buf[104] 40 @
>[epkowa] buf[105] 92 .
>[epkowa] type    B 0x42
>[epkowa] level   8 0x38
>[epkowa] option equipment is installed
>[epkowa] resolution (dpi): 50
>[epkowa] resolution (dpi): 60
>[epkowa] resolution (dpi): 72
>[epkowa] resolution (dpi): 75
>[epkowa] resolution (dpi): 80
>[epkowa] resolution (dpi): 90
>[epkowa] resolution (dpi): 100
>[epkowa] resolution (dpi): 120
>[epkowa] resolution (dpi): 133
>[epkowa] resolution (dpi): 144
>[epkowa] resolution (dpi): 150
>[epkowa] resolution (dpi): 160
>[epkowa] resolution (dpi): 175
>[epkowa] resolution (dpi): 180
>[epkowa] resolution (dpi): 200
>[epkowa] resolution (dpi): 216
>[epkowa] resolution (dpi): 240
>[epkowa] resolution (dpi): 266
>[epkowa] resolution (dpi): 300
>[epkowa] resolution (dpi): 320
>[epkowa] resolution (dpi): 350
>[epkowa] resolution (dpi): 360
>[epkowa] resolution (dpi): 400
>[epkowa] resolution (dpi): 480
>[epkowa] resolution (dpi): 600
>[epkowa] resolution (dpi): 720
>[epkowa] resolution (dpi): 800
>[epkowa] resolution (dpi): 900
>[epkowa] resolution (dpi): 1200
>[epkowa] resolution (dpi): 1600
>[epkowa] resolution (dpi): 1800
>[epkowa] resolution (dpi): 2400
>[epkowa] resolution (dpi): 3200
>[epkowa] maximum scan area: x 27200 y 37440
>[epkowa] fbf tlx 0.000000 tly 0.000000 brx 215.899994 bry
297.179993 [mm]

>[epkowa] send buf, size = 2
>[epkowa] buf[0] 1b .
>[epkowa] buf[1] 44 D
>[epkowa] receive buf, expected = 1, got = 1
>[epkowa] buf[0] 06 .
>[epkowa] send buf, size = 1
>[epkowa] buf[0] 10 .
>[epkowa] receive buf, expected = 1, got = 1
>[epkowa] buf[0] 06 .
>[epkowa] Max. supported color depth = 16
>[epkowa] send buf, size = 2
>[epkowa] buf[0] 1b .
>[epkowa] buf[1] 66 f
>[epkowa] receive buf, expected = 4, got = 4
>[epkowa] buf[0] 02 .
>[epkowa] buf[1] 12 .
>[epkowa] buf[2] 2a *
>[epkowa] buf[3] 00 .
>[epkowa] code   02
>[epkowa] status 12
>[epkowa] count  42
>[epkowa] receive buf, expected = 42, got = 42
>[epkowa] buf[0] 05 .
>[epkowa] buf[1] 00 .
>[epkowa] buf[2] 00 .
>[epkowa] buf[3] 00 .
>[epkowa] buf[4] 00 .
>[epkowa] buf[5] 00 .
>[epkowa] buf[6] 80 .
>[epkowa] buf[7] 00 .
>[epkowa] buf[8] 32 2
>[epkowa] buf[9] c0 .
>[epkowa] buf[10] 71 q
>[epkowa] buf[11] 00 .
>[epkowa] buf[12] 00 .
>[epkowa] buf[13] 00 .
>[epkowa] buf[14] 00 .
>[epkowa] buf[15] 00 .
>[epkowa] buf[16] 00 .
>[epkowa] buf[17] 00 .
>[epkowa] buf[18] 00 .
>[epkowa] buf[19] 00 .
>[epkowa] buf[20] 00 .
>[epkowa] buf[21] 00 .
>[epkowa] buf[22] 00 .
>[epkowa] buf[23] 00 .
>[epkowa] buf[24] 00 .
>[epkowa] buf[25] 00 .
>[epkowa] buf[26] 47 G
>[epkowa] buf[27] 54 T
>[epkowa] buf[28] 2d -
>[epkowa] buf[29] 39 9
>[epkowa] buf[30] 37 7
>[epkowa] buf[31] 30 0
>[epkowa] buf[32] 30 0
>[epkowa] buf[33] 20
>[epkowa] buf[34] 20
>[epkowa] buf[35] 20
>[epkowa] buf[36] 20
>[epkowa] buf[37] 20
>[epkowa] buf[38] 20
>[epkowa] buf[39] 20
>[epkowa] buf[40] 20
>[epkowa] buf[41] 20
>[epkowa] TPU detected
>[epkowa] tpu tlx 0.000000 tly 0.000000 brx 101.599991 bry
231.139999 [mm]
>[epkowa] model : Perfection 2450
>[epkowa] sane_init, ><
>[epkowa] sane_init, ># For any USB scanner not known to the
backend
>(yet), you may, at your<
>[epkowa] sane_init, ># own peril(!!), force the backend to
recognise and
>use it via libusb.<
>[epkowa] sane_init, ># You can do so by the following
configuration
>command:<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >#   usb <USB vendor ID> <USB product
ID><
>[epkowa] sane_init, >#<
>[epkowa] sane_init, ># SEIKO EPSON's USB vendor ID
is '0x04b8' (without
>quotes).  In order<
>[epkowa] sane_init, ># to find the USB product ID, use lsusb
(1) or, on
>Linux systems, peek<
>[epkowa] sane_init, ># at the information
in /proc/bus/usb/devices.<
>[epkowa] sane_init, ># A sample configuration for the
Perfection 1650
>(GT-8200), which has<
>[epkowa] sane_init, ># a product ID of 0x0110, would look as
follows:<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >#usb 0x04b8 0x0110<
>[epkowa] sane_init, ><
>[epkowa] sane_init, ># When not accessing your USB scanner
via libusb,
>you may need to use<
>[epkowa] sane_init, ># one of the configuration commands
below or
>commands that are almost<
>[epkowa] sane_init, ># the same.  These commands typically
access the
>scanner via a kernel<
>[epkowa] sane_init, ># scanner module.<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >#usb /dev/usb/scanner0<
>[epkowa] sane_init, >#usb /dev/usbscanner0<
>[epkowa] sane_init, >#usb /dev/uscanner0<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, ># Linux had a scanner module until
version 2.6.2.
>As of version 2.6.3<
>[epkowa] sane_init, ># libusb is your only option.  Linux'
scanner
>module can be loaded via<
>[epkowa] sane_init, ># the modprobe(8) command like so:<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >#   modprobe scanner vendor=<USB vendor
ID>
>product=<USB product ID><
>[epkowa] sane_init, >#<
>[epkowa] sane_init, ># If the scanner module already knows
the vendor
>and product IDs, you<
>[epkowa] sane_init, ># do not have to specify them.  If you
want to have
>this done automa-<
>[epkowa] sane_init, ># tically every time you boot, you can
add the
>above line, except for<
>[epkowa] sane_init, ># the modprobe command itself, to
your /etc/modules
>file.<
>[epkowa] sane_init, ><
>[epkowa] sane_init, ># Although not tested with this
backend, parallel
>port scanners should<
>[epkowa] sane_init, ># be usable.  You can configure them as
shown
>below, but I do not know<
>[epkowa] sane_init, ># much about the details.  Information
is welcome.<
>[epkowa] sane_init, >#<
>[epkowa] sane_init, >#pio 0x278<
>[epkowa] sane_init, >#pio 0x378<
>[epkowa] sane_init, >#pio 0x3BC<
>[epkowa] sane_get_devices()
>-------------------------------------------------------------
----------------
>
>Then the process hangs some minutes and after some time
appears the
>IScan window and on the console appears
>
>-------------------------------------------------------------
----------------
>[epkowa] sane_open(libusb:001:086)
>[epkowa] reset calling open_scanner
>[epkowa] open_scanner()
>-------------------------------------------------------------
----------------
>
>Clicking on "Preview" shows at first a window with a
progress bar and
>"Scanner is warming up. Please wait". On the progress bar
nothing
>happens and after some seconds a second window appears
containing:
>"Could not send command to scanner. Check the scanner's
status".
>
>On the console the following lines were added:
>
>-------------------------------------------------------------
----------------
>[epkowa] reset calling open_scanner
>[epkowa] open_scanner()
>[epkowa] set = 0.000000
>[epkowa] set = 0.000000
>[epkowa] set = 215.899994
>[epkowa] set = 297.179993
>[epkowa] open_scanner()
>-------------------------------------------------------------
----------------
>
>Due to the long delay on starting iscan and the 2450 not
working I
>decided to compile from source, using iscan-1.14.0-3.tar.gz.
>
>I did
>
>-------------------------------------------------------------
----------------
>rpm -e --nodeps libsane1-devel
>urpmi libgtk+1.2-devel
>./configure --prefix=/usr --sysconfdir=/etc
>-------------------------------------------------------------
----------------
>
>libusb1-devel was already installed.
>
>Then I continued:
>
>-------------------------------------------------------------
----------------
>[root@majax iscan-1.14.0]# make
>making all in libltdl
>make[1]: Entering directory `/root/i/iscan-1.14.0/libltdl'
>make  all-am
>make[2]: Entering directory `/root/i/iscan-1.14.0/libltdl'
>/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -
I. -I.     -g
>-O2 -c -o ltdl.lo ltdl.c
>mkdir .libs
>  gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c  -fPIC -
DPIC -o
>.libs/ltdl.o
>  gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c -o ltdl.o
>/dev/null 2>&1
>/bin/sh ./libtool --mode=link gcc  -g -O2   -o libltdlc.la  
ltdl.lo -ldl
>ar cru .libs/libltdlc.a .libs/ltdl.o
>ranlib .libs/libltdlc.a
>creating libltdlc.la
>(cd .libs && rm -f libltdlc.la && ln -s ../libltdlc.la
libltdlc.la)
>make[2]: Leaving directory `/root/i/iscan-1.14.0/libltdl'
>make[1]: Leaving directory `/root/i/iscan-1.14.0/libltdl'
>making all in include
>make[1]: Entering directory `/root/i/iscan-1.14.0/include'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/root/i/iscan-1.14.0/include'
>making all in lib
>make[1]: Entering directory `/root/i/iscan-1.14.0/lib'
>gcc -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d
>-DPATH_SANE_DATA_DIR=/usr/share         -DV_MAJOR=1 -
DV_MINOR=0 -g -O2
>-W -Wall getopt.c
>gcc -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d
>-DPATH_SANE_DATA_DIR=/usr/share         -DV_MAJOR=1 -
DV_MINOR=0 -g -O2
>-W -Wall getopt1.c
>gcc -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d
>-DPATH_SANE_DATA_DIR=/usr/share         -DV_MAJOR=1 -
DV_MINOR=0 -g -O2
>-W -Wall md5.c
>ar r liblib.a getopt.o getopt1.o md5.o
>ar: creating liblib.a
>ranlib liblib.a
>mkdir .libs
>  gcc -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d -
DPATH_SANE_DATA_DIR=/usr/share
>-DV_MAJOR=1 -DV_MINOR=0 -g -O2 -W -Wall getopt.c  -fPIC -
DPIC -o
>.libs/getopt.o
>  gcc -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d -
DPATH_SANE_DATA_DIR=/usr/share
>-DV_MAJOR=1 -DV_MINOR=0 -g -O2 -W -Wall getopt1.c  -fPIC -
DPIC -o
>.libs/getopt1.o
>  gcc -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d -
DPATH_SANE_DATA_DIR=/usr/share
>-DV_MAJOR=1 -DV_MINOR=0 -g -O2 -W -Wall md5.c  -fPIC -DPIC -
o .libs/md5.o
>g++ -c -DHAVE_CONFIG_H -I. -I. -I../include/sane -
I../include
>-DPATH_SANE_CONFIG_DIR=/etc/sane.d
>-DPATH_SANE_DATA_DIR=/usr/share         -DV_MAJOR=1 -
DV_MINOR=0 -g -O2
>cfilebuf.cc
>cfilebuf.cc:252: error: expected unqualified-id before ';'
token
>cfilebuf.cc:253: error: expected unqualified-id before ';'
token
>make[1]: *** [cfilebuf.o] Error 1
>make[1]: Leaving directory `/root/i/iscan-1.14.0/lib'
>make: *** [all-recursive] Error 1
>[root@majax iscan-1.14.0]#
>-------------------------------------------------------------
----------------
>
>Any idea what went wrong here? I am using gcc 3.4.3. The
package is
>supposed to compile with gcc 3.2 or newer according to the
Avasys web site.
>
>I am grateful for any help, both on the binary RPM and on
the
>compilation issues.
>
>    Till
>
>--
>sane-devel mailing list: [hidden email]
>http://lists.alioth.debian.org/mailman/listinfo/sane-devel
>Unsubscribe: Send mail with subject "unsubscribe
your_password"
>             to [hidden email]

--
sane-devel mailing list: [hidden email]
http://lists.alioth.debian.org/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
             to [hidden email]