[sane-devel] XSane not showing full list of resolutions for Epson V500

2008-07-09 Thread Olaf Meeuwissen
Brett cda-kfmg at kaspop.com writes:

 On Mon, Jul 07, 2008 at 09:18:57AM +0900, Olaf Meeuwissen wrote:
  The advanced options show a full range of dpi for X but setting this
  has no effect.
 
 What option would that be?  The epkowa backend doesn't do resolution
 ranges for this model, only lists.  Or do you mean a full list?

 Sorry, I mean a full list. The option is Scan ModeX-resolution[dpi]
 It shows a list of values going up to 6400.

That looks correct.

  Any suggestions would be most welcome.
 
 Create debugging output with both iscan and xsane and compare.  You
 can also send me the debugging output (via this list) for xsane so I
 can take a look.  If you do, please also provide information on your
 distribution and xsane and iscan versions used.

 I don't use a distribution - I have a Linux from Scratch system (gcc-4.2,
 binutils-2.8, glibc-2.7)
 xsane version: 0.995
 iscan version: 2.11.0

OK, so you're probably comfortable with building stuff from source.

 You probably just want to start the application(s) and maybe change
 the document source (flatbed to ADF for example) or expose that
 advanced option you mention.  You do not need to scan anything.

 Have done this and attached the zipped debug log.

 Hope you're able to help. Thanks for your time.

There's nothing wrong in the logs.

The bug is caused by an infelicity in the saneopts.h header file.  The
SANE_NAME_SCAN_RESOLUTION and SANE_NAME_SCAN_X_RESOLUTION are exactly
the same.  With Image Scan! I redefine the latter to x-resolution so
things work as expected.

If you really need xsane, you can fix this by recompiling with a fixed
saneopts.h and I guess I should get that file fixed upstream ;-)

Hope this helps,
-- 
Olaf Meeuwissen   FLOSS Engineer -- AVASYS Corporation
FSF Associate Member #1962   sign up at http://member.fsf.org/



[sane-devel] [BUG] Duplicate SANE_NAME in saneopts.h

2008-07-09 Thread Olaf Meeuwissen
Checking out why setting X/Y resolutions independently didn't quite
work as expected, I discovered that saneopts.h has this:

  #define SANE_NAME_SCAN_RESOLUTION resolution
  #define SANE_NAME_SCAN_X_RESOLUTION   resolution
  #define SANE_NAME_SCAN_Y_RESOLUTION   y-resolution

That means that trying to set the X resolution always does the same
thing as setting the scan resolution.  I think that is incorrect in
the general case and suggest the above gets changed to:

  #define SANE_NAME_SCAN_RESOLUTION resolution
  #define SANE_NAME_SCAN_X_RESOLUTION   x-resolution
  #define SANE_NAME_SCAN_Y_RESOLUTION   y-resolution

So that backend implementations can distinguish these cases if they
want to.  The corresponding descriptions for these option hint that
setting the image's scan resolution is not necessarily the same as
setting the horizontal scan resolution.

In my particular situation, I have a use case where it makes sense to
use SANE_NAME_SCAN_RESOLUTION with one set of allowed resolutions and
different sets of allowed resolutions for the individual horizontal
and vertical resolution settings.

On a more general note, there is no point in having different option
name macros that resolve to the same name.  All of the SANE_NAME_*
macros should be unique.  At the moment (sane-backends-1.0.19), only
SANE_NAME_SCAN_X_RESOLUTION is not unique.

I don't think that the suggested change will break any of the current
backends and frontends, but would like to ask everyone to take a look
and comment on my suggestion before I file a bug report.

Hope this helps,
-- 
Olaf Meeuwissen   FLOSS Engineer -- AVASYS Corporation
FSF Associate Member #1962   sign up at http://member.fsf.org/



[sane-devel] SANE 1.1.0 Release discussion

2008-07-09 Thread stef
Le Tuesday 08 July 2008 21:42:09 K?re S?rs, vous avez ?crit?:
 Hi,

 On Mondayen den 7 July 2008 23:51:24 m. allan noah wrote:
  ok guys- take 4:
 
  Six general points for sane 1.1.x:
   - no changes to function calls
   - no changes to structures
   - 1.0 backends forward compatible with 1.1
   - improve backend consistency
   - support more advanced scanners
   - improve cooperation with modern system services
 
  Specific proposals:
 
  1. Consistent, translatable option groups:
 
  'Standard' = source, mode, resolution
  'Geometry' = x/y and paper size params
  'Enhancement' = bright/gamma/contrast/thresh, rif, halftone, etc
  'Advanced' = compression, calibration, feed controls, etc
  'Sensors' = an option for every hardware button or sensor
 
  2. Two new well-known options for ADF paper alignment: page-width and
  page-height
 
  3. Two new SANE_STATUS values: HW_LOCKED and WARMING_UP
 
  4. Nine new SANE_FRAME values: TEXT, JPEG, G31D, G32D, G42D, IR, RGBI,
  GRAYI, and XML
 
  5. Several new well-known options for buttons and sensors. Backends
  should use the closest one to the meaning of the label on the scanner
  or the button's use in the manufacturer's software. Backends may also
  use a different name if no suitable one is found.
 
  well-known buttons:
  scan, email, fax, copy, pdf, cancel
 
  well-known sensors:
  page-loaded, cover-open
 
  6. Clarify standard text for SANE_CAP_HARD_SELECT to indicate it
  should be used for polling the current state of hardware sensors and
  buttons, with a refresh interval = 1 sec.

 I haven't seen a discussion about adding an optional calback mechanism for
 this (I might have missed it). Would it be feasible? I always try to avoid
 polling if possible.
 If it is not easy/fast to implement, it is no biggie for me :)

  7. New DBGBM macro for bitmask debugging output (bit # listed below):
 
  1 DBG_LVL_ERROR  (errors only)
  2 DBG_LVL_FUNC   (function tracing 'enter xxx()' or 'exit xxx()')
  3 DBG_LVL_DETAIL ('trying action X' or 'action succeeded' etc)
  4 DBG_LVL_OPTION (any sane_option parsing code)
  5 DBG_LVL_CALIB  (calibration info)
  6 DBG_LVL_IMAGE  (dump image data read from scanner)
  7 DBG_LVL_DATA   (dump data packets read from scanner, other than
  image or cal?)
  8 DBG_LVL_FILE   (write internal data files to disk from within
  backend?)
 
  8. Add common configuration reading function in sanei_* so that new or
  maintained backends can benefit from it. Wholesale config file
  restructuring?
 
  9. Require backends to always accept the sanei device name as an
  alternative to the backend generated name.
 
  Most of this stuff is done or in progress, except I have not used tex
  in years, so it's going to take me a little while to update the
  standard, unless someone else steps up. And #7 needs some programmer
  cycles- volunteers? If we can get those (and stef's sanei_config
  improvements) into cvs, then we can take a look for backends that
  might need updates, particularly on #9.
 
  allan
  --
  The truth is an offense, but not a sin

 Is anybody updating the test backend with the new features? I needed to add
 a gamma table stub to the test backend to be able to implement gammatable
 support in libksane.

 --
 K?re S?rs

Hello,

the test backend had been updated some time ago, and provides a 
pnm:locked 
and pnm:warmup backends that let one test for the new status that may be 
returned by a backend.
I have an experimental version of libkscan that supports the new 
SANE_STATUS_WARMING_UP by adding the lines after sane_start() in 
acquire_data:

#ifndef SANE_CAP_ALWAYS_SETTABLE /* should better be done by detecting SANE's
version in configure and providing a
HAS_SANE_1_1  */
   /* warming-up handling */
   if( sane_stat == SANE_STATUS_WARMING_UP )
   {
  do
  {
 /* TODO some progress/ waiting dialog */
 /* re-read to check if warming up is done */
 sane_stat = sane_start( scanner_handle );
  }
  while (sane_stat == SANE_STATUS_WARMING_UP);
   }
#endif

Regards,
Stef





[sane-devel] Fwd: Re: HP G2410 scanner

2008-07-09 Thread stef
Oops, I hit the wrong button, should have reply to the list ...
-- next part --
An embedded message was scrubbed...
From: stef stef@free.fr
Subject: Re: [sane-devel] HP G2410 scanner
Date: Wed, 9 Jul 2008 06:36:12 +0200
Size: 3058
Url: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20080709/1a45c696/attachment.eml
 


[sane-devel] SANE 1.1.0 Release discussion

2008-07-09 Thread Kåre Särs
On Wednesday 09 July 2008, m. allan noah wrote:
  Is anybody updating the test backend with the new features? I needed to
  add a gamma table stub to the test backend to be able to implement
  gammatable support in libksane.

 i dont recall seeing a patch from you for the gamma table support- did
 i miss it?

http://lists.alioth.debian.org/pipermail/sane-devel/2007-September/019851.html

:)

-- 
K?re S?rs



[sane-devel] [BUG] Duplicate SANE_NAME in saneopts.h

2008-07-09 Thread Olaf Meeuwissen
m. allan noah kitno455 at gmail.com writes:

 On 7/8/08, Olaf Meeuwissen olaf.meeuwissen at avasys.jp wrote:
 Checking out why setting X/Y resolutions independently didn't quite
  work as expected, I discovered that saneopts.h has this:

   #define SANE_NAME_SCAN_RESOLUTION resolution
   #define SANE_NAME_SCAN_X_RESOLUTION   resolution
   #define SANE_NAME_SCAN_Y_RESOLUTION   y-resolution

  That means that trying to set the X resolution always does the same
  thing as setting the scan resolution.  I think that is incorrect in
  the general case and suggest the above gets changed to:

   #define SANE_NAME_SCAN_RESOLUTION resolution
   #define SANE_NAME_SCAN_X_RESOLUTION   x-resolution
   #define SANE_NAME_SCAN_Y_RESOLUTION   y-resolution

  So that backend implementations can distinguish these cases if they
  want to.  The corresponding descriptions for these option hint that
  setting the image's scan resolution is not necessarily the same as
  setting the horizontal scan resolution.

  In my particular situation, I have a use case where it makes sense to
  use SANE_NAME_SCAN_RESOLUTION with one set of allowed resolutions and
  different sets of allowed resolutions for the individual horizontal
  and vertical resolution settings.

  On a more general note, there is no point in having different option
  name macros that resolve to the same name.  All of the SANE_NAME_*
  macros should be unique.  At the moment (sane-backends-1.0.19), only
  SANE_NAME_SCAN_X_RESOLUTION is not unique.

  I don't think that the suggested change will break any of the current
  backends and frontends, but would like to ask everyone to take a look
  and comment on my suggestion before I file a bug report.

 i agree with your assessment, but i am not sure i can envision a use
 case with all three controls active at the same time. or, are you
 going to have a locked/unlocked choice that switches between the two
 sets?

Not sure I can either, at least not for a sensible use case.  But then
again, sometimes there are rather senseless use cases.

In my particular case, I can query a number of devices for supported
resolutions in two ways.  One way gives a list of resolutions.  These
would correspond to the SANE_NAME_SCAN_RESOLUTION scenario, that is,
horizontal and vertical resolutions are (and should be) identical.
The other way gives a list with resolutions for both horizontal and
vertical directions, corresponding to the SANE_NAME_SCAN_?_RESOLUTION
scenario, where both resolutions can be selected independently.  Fact
is that all three list may contain values that are on neither of the
other two lists.

So I could end up with these (hypothetical) resolution lists

  SCAN_RESOLUTION  : 100, 200, 300
  SCAN_X_RESOLUTION:  80, 150, 360
  SCAN_Y_RESOLUTION: 120, 240, 480

and the following set of valid resolution settings:

  (100,100)
  (200,200)
  (300,300)

  ( 80,120), ( 80,240), ( 80,480)
  (150,120), (150,240), (150,480)
  (360,120), (360,240), (360,480)

There is no way that I can merge the SCAN_RESOLUTION with the other
two options (or the other way) around that restricts a frontend to
these resolution sets.

# Yes, I'm aware backends may set a value other than that requested
# and I have seen the SANE_NAME_RESOLUTION_BIND option.

Whatever the sensibility of my particular use case, having two macros
expand to the same string for options that correspond to *different*
things is not a good idea.

Hope this helps,
-- 
Olaf Meeuwissen   FLOSS Engineer -- AVASYS Corporation
FSF Associate Member #1962   sign up at http://member.fsf.org/



[sane-devel] Re : Re: GL842

2008-07-09 Thread Guillaume Gastebois
Hello,


 On Thu, Jul 03, 2008 at 02:52:22PM -0700, Donald Endres wrote:
 I got the attachment from
  http://lists.alioth.debian.org/pipermail/sane-devel/2008-March/021440.html
   ( is that the newest version ? ) and I will try to reproduce your
  work.
 
 Same for me.  :-) 
 
 A general question: Where is the code for canon-lide-90? Is it already
 completely in the CVS? Despite some problems, the code developed by
 Guillaume and Pierre is the best we current have. It would be a pity
 if that code got lost in the mailing list archive.

I think it is not in CVS yet. I'll try to send new patch (to be added in CVS ?) 
despite no huge progress since month. (just fix first scan power up problem)

 More general: When are such contributions usually added to the CVS?
 
Good question.
 
 Greets,
 
 Volker
 
 -- Volker Grabsch ---(())--- Administrator NotJustHosting GbR

Regards
Guillaume



[sane-devel] Epson cx3700 not recognized after upgrade to 1.0.19 (repost)

2008-07-09 Thread Tom
I didn't receive any replies to this, so I will try again.

Everything worked absolutely flawlessly under 1.0.18.

After the upgrade, which according to the ChangeLog added this
device (usb 0x4b8 0x818) to backend/epson_usb.c (which I thought
would make everything work better), I can't get scanimage (or any
other program for that matter) to see the device (even though
sane-find-scanner does).

If I downgrade back to 1.0.18, then everything works again.

I don't know what you need to diagnose this, but let me start
with:

# sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.
  # Also you need support for SCSI Generic (sg) in your operating system.
  # If using Linux, try modprobe sg.

found USB scanner (vendor=0x04b8 [EPSON], product=0x0818 [USB MFP]) at 
libusb:004:012
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.


# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).


# sane-config --version
1.0.19

# sane-config --ldflags
-L/usr/lib  -Wl,-rpath,/usr/lib

# sane-config --libs
-lsane -lusb -lpthread -lm  -ljpeg -ltiff -lieee1284  -lgphoto2 -lgphoto2_port 
-lexif -lm -lusb -ldl


I did notice under 1.0.18, I got these messages in /var/log/messages:

usb 4-2: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
usb 4-2: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1

But under 1.0.19, I get this instead:

usb 4-2: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
usb 4-2: usbfs: interface 0 claimed by usbfs while 'scanimage' sets config #1


I would appreciate any help you can give me with this.

Thank you in advance.


  



[sane-devel] TMC failure

2008-07-09 Thread George Herzog
Gentlemen:
OS: Mandriva 2008
Sane: 1.0.19
Scanner: Microtek X6EL
frontend: xsane
Problem: TMA(lightlid) does not light up. The scanner appears to be
working properly otherwise. It works well in reflective mode.  When I
select the option: Use the lightlid ? 35 mm adapterthe scanner
scans with the flatbed light off, but the lightlid does not light up.
Using an external light source yields an image. I cannot rule out a
mechanical/physical failure; I have no way to test the lid for such a
failure. However, the lid has had very little use over the years and
it worked well the last time I used it with a dual installation of
windows 98. My present motherboard does not support windows 98, so
that is no longer an option.
Thank you.
Respectfully, George Herzog


[sane-devel] Epson cx3700 not recognized after upgrade to 1.0.19 (repost)

2008-07-09 Thread m. allan noah
can you get a debug log?

SANE_DEBUG_EPSON=255 scanimage -L 2epson.log

and compress the log and send to list (if under 50K)

allan

On Wed, Jul 9, 2008 at 6:37 AM, Tom throw_away_2002 at yahoo.com wrote:
 I didn't receive any replies to this, so I will try again.

 Everything worked absolutely flawlessly under 1.0.18.

 After the upgrade, which according to the ChangeLog added this
 device (usb 0x4b8 0x818) to backend/epson_usb.c (which I thought
 would make everything work better), I can't get scanimage (or any
 other program for that matter) to see the device (even though
 sane-find-scanner does).

 If I downgrade back to 1.0.18, then everything works again.

 I don't know what you need to diagnose this, but let me start
 with:

 # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.
  # Also you need support for SCSI Generic (sg) in your operating system.
  # If using Linux, try modprobe sg.

 found USB scanner (vendor=0x04b8 [EPSON], product=0x0818 [USB MFP]) at 
 libusb:004:012
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.


 # scanimage -L

 No scanners were identified. If you were expecting something different,
 check that the scanner is plugged in, turned on and detected by the
 sane-find-scanner tool (if appropriate). Please read the documentation
 which came with this software (README, FAQ, manpages).


 # sane-config --version
 1.0.19

 # sane-config --ldflags
 -L/usr/lib  -Wl,-rpath,/usr/lib

 # sane-config --libs
 -lsane -lusb -lpthread -lm  -ljpeg -ltiff -lieee1284  -lgphoto2 
 -lgphoto2_port -lexif -lm -lusb -ldl


 I did notice under 1.0.18, I got these messages in /var/log/messages:

 usb 4-2: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
 usb 4-2: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1

 But under 1.0.19, I get this instead:

 usb 4-2: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
 usb 4-2: usbfs: interface 0 claimed by usbfs while 'scanimage' sets config #1


 I would appreciate any help you can give me with this.

 Thank you in advance.




 --
 sane-devel mailing list: sane-devel at lists.alioth.debian.org
 http://lists.alioth.debian.org/mailman/listinfo/sane-devel
 Unsubscribe: Send mail with subject unsubscribe your_password
 to sane-devel-request at lists.alioth.debian.org




-- 
The truth is an offense, but not a sin



[sane-devel] [RFC][PATCH] sanei configuration framework extension

2008-07-09 Thread stef
Le Monday 07 July 2008 22:25:34 m. allan noah, vous avez ?crit?:
 2008/6/25 stef stef.dev at free.fr:
 here's the patch modified like you suggest. Now both descriptors
  and placeholders are given by the backend. There is no need for a
  free'ing function anymore.

 this looks very good, but i dont see much point in the helper
 functions. presumably the backend will maintain some sort of enum list
 of indexes (like most do with options), so it wont need to lookup by
 name, and the initializer would probably be fewer lines of code if
 done inside the backend, and you wont need the descriptor array to be
 null terminated.

 oh, and what about a backend that has only option lines in the config
 file, it would never call the callback. i guess the backend can still
 read the SANEI_Config structure pointer if it cached it somewhere,
 after calling sanei_configure_attach()?

 allan
 --
 The truth is an offense, but not a sin

Hello,

I removed other functions other than the one for parsing configuration 
options given by the backend. It is now up to the backend to allocate and 
free the needed ressources, and to provie the option count in SANEI_Config.
In case a backend doesn't provide an attach callback and had only option 
lines, the SANEI_Config structure is still filled with the values found 
during configuration parsing after the call. So it can be used by the 
backend.
The attached patch implements all this and a sample usage in the 
rts8891 
backend. All SANE_TYPE_* with their optional constraints are supported. Among 
the existing configuration file, only 'calibrate' and 'port' options of 
canon_pp.conf wouldn't be handled directly since they rely on 2 strings 
parameters. 
I developped and tested this patch using testsuites built with 'check' 
(http://check.sf.net). I can provide them in case of interest.

Regards,
Stef



-- next part --
A non-text attachment was scrubbed...
Name: proposal3.patch.gz
Type: application/x-gzip
Size: 5511 bytes
Desc: not available
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20080709/e203b29c/attachment.bin
 


[sane-devel] [RFC][PATCH] sanei configuration framework extension

2008-07-09 Thread m. allan noah
excellent. this will make config parsing much easier. please commit!

allan

2008/7/9 stef stef.dev at free.fr:
 Le Monday 07 July 2008 22:25:34 m. allan noah, vous avez ?crit :
 2008/6/25 stef stef.dev at free.fr:
 here's the patch modified like you suggest. Now both descriptors
  and placeholders are given by the backend. There is no need for a
  free'ing function anymore.

 this looks very good, but i dont see much point in the helper
 functions. presumably the backend will maintain some sort of enum list
 of indexes (like most do with options), so it wont need to lookup by
 name, and the initializer would probably be fewer lines of code if
 done inside the backend, and you wont need the descriptor array to be
 null terminated.

 oh, and what about a backend that has only option lines in the config
 file, it would never call the callback. i guess the backend can still
 read the SANEI_Config structure pointer if it cached it somewhere,
 after calling sanei_configure_attach()?

 allan
 --
 The truth is an offense, but not a sin

Hello,

I removed other functions other than the one for parsing configuration
 options given by the backend. It is now up to the backend to allocate and
 free the needed ressources, and to provie the option count in SANEI_Config.
 In case a backend doesn't provide an attach callback and had only option
 lines, the SANEI_Config structure is still filled with the values found
 during configuration parsing after the call. So it can be used by the
 backend.
The attached patch implements all this and a sample usage in the 
 rts8891
 backend. All SANE_TYPE_* with their optional constraints are supported. Among
 the existing configuration file, only 'calibrate' and 'port' options of
 canon_pp.conf wouldn't be handled directly since they rely on 2 strings
 parameters.
I developped and tested this patch using testsuites built with 'check'
 (http://check.sf.net). I can provide them in case of interest.

 Regards,
Stef




 --
 sane-devel mailing list: sane-devel at lists.alioth.debian.org
 http://lists.alioth.debian.org/mailman/listinfo/sane-devel
 Unsubscribe: Send mail with subject unsubscribe your_password
 to sane-devel-request at lists.alioth.debian.org




-- 
The truth is an offense, but not a sin