[sane-devel] Saned problem

2007-05-28 Thread Wouter van Marle
On Sun, 2007-05-27 at 21:29 +0200, Jochen Eisinger wrote:
 Hi,
 
 what does the following command output as user:
 
 SANE_DEBUG_SANEI_USB=128 scanimage -L

This is the result:

[sanei_debug] Setting debug level of sanei_usb to 128.
[sanei_usb] sanei_usb_init: Looking for kernel scanner devices
[sanei_usb] sanei_usb_init: Looking for libusb devices
usb_set_debug: Setting debugging level to 255 (on)
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: couldn't get connect info
usb_os_find_devices: Found 001 on 002
error obtaining child information: Operation not permitted
usb_os_find_devices: couldn't get connect info
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: couldn't get connect info
usb_os_find_devices: Found 001 on 001
error obtaining child information: Operation not permitted
error obtaining child information: Operation not permitted
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found libusb device (0x04b8/0x080e)
interface 0  at libusb:001:002
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found 1 devices
[sanei_usb] sanei_usb_find_devices: vendor=0x1606, product=0x0010
[sanei_usb] sanei_usb_find_devices: vendor=0x1606, product=0x0030
[sanei_usb] sanei_usb_find_devices: vendor=0x1606, product=0x0130
[sanei_debug] Setting debug level of sanei_usb to 128.
[sanei_usb] sanei_usb_init: Looking for kernel scanner devices
[sanei_usb] sanei_usb_init: Looking for libusb devices
usb_os_init: Found USB VFS at /dev/bus/usb
usb_set_debug: Setting debugging level to 255 (on)
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found libusb device (0x04b8/0x080e)
interface 0  at libusb:001:002
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found 1 devices
[sanei_usb] sanei_usb_find_devices: vendor=0x1606, product=0x0230
[sanei_usb] sanei_usb_open: trying to open device `/dev/usbscanner'
[sanei_usb] sanei_usb_open: can't find device `/dev/usbscanner' in list
[sanei_debug] Setting debug level of sanei_usb to 128.
[sanei_usb] sanei_usb_init: Looking for kernel scanner devices
[sanei_usb] sanei_usb_init: Looking for libusb devices
usb_os_init: Found USB VFS at /dev/bus/usb
usb_set_debug: Setting debugging level to 255 (on)
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found libusb device (0x04b8/0x080e)
interface 0  at libusb:001:002
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found 1 devices
[sanei_usb] sanei_usb_find_devices: vendor=0x07b3, product=0x0001
[sanei_usb] sanei_usb_find_devices: vendor=0x0458, product=0x2004
[sanei_debug] Setting debug level of sanei_usb to 128.
[sanei_usb] sanei_usb_init: Looking for kernel scanner devices
[sanei_usb] sanei_usb_init: Looking for libusb devices
usb_os_init: Found USB VFS at /dev/bus/usb
usb_set_debug: Setting debugging level to 255 (on)
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found libusb device (0x04b8/0x080e)
interface 0  at libusb:001:002
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found 1 devices
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x1a20
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x1a26
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x2022
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x1a2a
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x2040
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x2060
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x207e
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20be
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20c0
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20b0
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20de
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20f8
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20fc
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x20fe
[sanei_usb] sanei_usb_find_devices: vendor=0x04a5, product=0x2137
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x0002
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x0001
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x2061
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x2093
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x2091
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x2095
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x2097
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x208d
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, product=0x20ff
[sanei_usb] sanei_usb_find_devices: vendor=0x06bd, 

[sane-devel] Formulardaten

2007-05-28 Thread cgi-mai...@kundenserver.de


===
== Neuer Eintrag
===

  
---
-- Formular: 'adddev'
---

1. Your email address:
   'dmakovey at yahoo.com'
2. Manufacturer (e.g. Mustek):
   'Primax Electronics, Ltd Visioneer '
3. Model name (e.g. ScanExpress 1200UB):
   'Onetouch 8920 Scanner'
4. Bus type:
   'USB'
5. Vendor id (e.g. 0x001):
   '0x0461'
6. Product id (e.g. 0x0002):
   '0x0371'
7. Chipset (e.g. lm9831):
   ''
8. Comments (e.g. similar to Mustek 1234):
   'output from /proc/bus/usb/devices:

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0461 ProdID=0371 Rev= 1.00
S:  Manufacturer=Primax
S:  Product=USB Scanner
S:  SerialNumber=RTS8801C2-004
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=   8 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=250ms
'
9. Data (e.g. sane-find-scanner -v -v):
   'This is sane-find-scanner from sane-backends 1.0.18

  # 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.

searching for SCSI scanners:
checking /dev/scanner... failed to open (Invalid argument)
checking /dev/sg0... failed to open (Invalid argument)
checking /dev/sg1... failed to open (Invalid argument)
checking /dev/sg2... failed to open (Invalid argument)
checking /dev/sg3... failed to open (Invalid argument)
checking /dev/sg4... failed to open (Invalid argument)
checking /dev/sg5... failed to open (Invalid argument)
checking /dev/sg6... failed to open (Invalid argument)
checking /dev/sg7... failed to open (Invalid argument)
checking /dev/sg8... failed to open (Invalid argument)
checking /dev/sg9... failed to open (Invalid argument)
checking /dev/sga... failed to open (Invalid argument)
checking /dev/sgb... failed to open (Invalid argument)
checking /dev/sgc... failed to open (Invalid argument)
checking /dev/sgd... failed to open (Invalid argument)
checking /dev/sge... failed to open (Invalid argument)
checking /dev/sgf... failed to open (Invalid argument)
checking /dev/sgg... failed to open (Invalid argument)
checking /dev/sgh... failed to open (Invalid argument)
checking /dev/sgi... failed to open (Invalid argument)
checking /dev/sgj... failed to open (Invalid argument)
checking /dev/sgk... failed to open (Invalid argument)
checking /dev/sgl... failed to open (Invalid argument)
checking /dev/sgm... failed to open (Invalid argument)
checking /dev/sgn... failed to open (Invalid argument)
checking /dev/sgo... failed to open (Invalid argument)
checking /dev/sgp... failed to open (Invalid argument)
checking /dev/sgq... failed to open (Invalid argument)
checking /dev/sgr... failed to open (Invalid argument)
checking /dev/sgs... failed to open (Invalid argument)
checking /dev/sgt... failed to open (Invalid argument)
checking /dev/sgu... failed to open (Invalid argument)
checking /dev/sgv... failed to open (Invalid argument)
checking /dev/sgw... failed to open (Invalid argument)
checking /dev/sgx... failed to open (Invalid argument)
checking /dev/sgy... failed to open (Invalid argument)
checking /dev/sgz... failed to open (Invalid argument)
  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

searching for USB scanners:
checking /dev/usb/scanner... failed to open (Invalid argument)
checking /dev/usb/scanner0... failed to open (Invalid argument)
checking /dev/usb/scanner1... failed to open (Invalid argument)
checking /dev/usb/scanner2... failed to open (Invalid argument)
checking /dev/usb/scanner3... failed to open (Invalid argument)
checking /dev/usb/scanner4... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner7... failed to open (Invalid argument)
checking /dev/usb/scanner8... failed to open (Invalid argument)
checking /dev/usb/scanner9... failed to open (Invalid argument)
checking /dev/usb/scanner10... failed to open (Invalid argument)
checking /dev/usb/scanner11... failed to open (Invalid argument)
checking /dev/usb/scanner12... failed to open (Invalid argument)
checking /dev/usb/scanner13... failed to open (Invalid argument)
checking /dev/usb/scanner14... failed to open (Invalid argument)
checking /dev/usb/scanner15... failed to open (Invalid argument)
checking /dev/usbscanner... failed to open (Invalid argument)
checking /dev/usbscanner0... failed to open (Invalid argument)
checking /dev/usbscanner1... failed to open (Invalid argument)
checking /dev/usbscanner2... failed to open (Invalid 

[sane-devel] Saned problem

2007-05-28 Thread Jochen Eisinger
Hi,

what does ls -l /dev/bus/usb/001/002 show?

Assuming you don't have appropriate access rights to this device, does
changing access rights help?

regards
-- jochen



[sane-devel] Additional frame types in Sane 1

2007-05-28 Thread Oliver Rauch
Am Sonntag, den 27.05.2007, 14:08 -0400 schrieb m. allan noah:

   
   Well extending SANE1 will certainly start the new discussion
   about finishing SANE2 standard before starting - ACK ;)
   But as we did not move forward and scanner support for Linux
   is more or less stopped in its development, I vote for
   extending SANE1.
  
   As long as it won't hurt the API and the flow-control, introducing
   more frametypes should be no problem...
 
  Nice to see no big flamewar about the simple frametype addition :-)!

It really is nice that no flamewar starts here but I do not support to
extend SANE1 this way.

(see my following comment)

 SANE_FRAME_RGB,/* pixel-interleaved red/green/blue 
bands */
 SANE_FRAME_RED,/* red band only */
 SANE_FRAME_GREEN,  /* green band only */
-SANE_FRAME_BLUE/* blue band only */
+SANE_FRAME_BLUE,   /* blue band only */
+SANE_FRAME_INFRARED,   /* infra-red band */
+SANE_FRAME_RGBI,   /* pixel-interleaved 
red/green/blue/infra-red */
+SANE_FRAME_JPEG/* Joint Photographic Experts Group's 
JPEG */
   }
 SANE_Frame;
 
  In the meantime I noticed the device can send Gray+IR as well which
  would mean SANE_FRAME_GRAYI, as well.
 
 i know you probably get RGBIRGBI... from the scanner, but for
 backwards compatability and to avoid the proliferation of frametypes-
 i propose to ONLY add SANE_FRAME_IR. Then an existing backend can add
 IR support to any other frametype by sending an extra frame, and
 existing frontends can be told to ignore the IR frame, and keep using
 the gray/rgb frames.

Although you do not change the function calls 
at the end you change the SANE API, a frontend that shall handle this
needs a lot of changes, also a backend needs a lot of changes.

A new backend will not work properly with an old frontend.


I suggest to do all this in SANE2 because it is incompatible to SANE1.
In the moment a frontend has to handle 3 modes:
GRAY
RGB
RGB 3-pass

With the new suggestions it would have to handle
GRAY
RGB
RGB 3pass
GRAY + INFRARED
RGB + INFRARED
RGB 3pass + INFRARED
RGBI
JPEG + INFRARED?
RED + INFRARED?
etc.

The change of the transmission format hast been put into SANE2
because it changes a lot in the comunication for frontends and backends.

Where is the advantage to put it into SANE1?
You will get incompatibilities between frontends and backends and you
slow down (if this is possible at all) the development of SANE2.

Finish the SANE2 standard. That solves all problems.

Oliver







[sane-devel] Additional frame types in Sane 1

2007-05-28 Thread m. allan noah
On 5/28/07, Oliver Rauch Oliver.Rauch at rauch-domain.de wrote:
 Am Sonntag, den 27.05.2007, 14:08 -0400 schrieb m. allan noah:


Well extending SANE1 will certainly start the new discussion
about finishing SANE2 standard before starting - ACK ;)
But as we did not move forward and scanner support for Linux
is more or less stopped in its development, I vote for
extending SANE1.
   
As long as it won't hurt the API and the flow-control, introducing
more frametypes should be no problem...
  
   Nice to see no big flamewar about the simple frametype addition :-)!

 It really is nice that no flamewar starts here but I do not support to
 extend SANE1 this way.

 (see my following comment)

  SANE_FRAME_RGB,/* pixel-interleaved red/green/blue 
 bands */
  SANE_FRAME_RED,/* red band only */
  SANE_FRAME_GREEN,  /* green band only */
 -SANE_FRAME_BLUE/* blue band only */
 +SANE_FRAME_BLUE,   /* blue band only */
 +SANE_FRAME_INFRARED,   /* infra-red band */
 +SANE_FRAME_RGBI,   /* pixel-interleaved 
 red/green/blue/infra-red */
 +SANE_FRAME_JPEG/* Joint Photographic Experts Group's 
 JPEG */
}
  SANE_Frame;
  
   In the meantime I noticed the device can send Gray+IR as well which
   would mean SANE_FRAME_GRAYI, as well.
 
  i know you probably get RGBIRGBI... from the scanner, but for
  backwards compatability and to avoid the proliferation of frametypes-
  i propose to ONLY add SANE_FRAME_IR. Then an existing backend can add
  IR support to any other frametype by sending an extra frame, and
  existing frontends can be told to ignore the IR frame, and keep using
  the gray/rgb frames.

 Although you do not change the function calls
 at the end you change the SANE API, a frontend that shall handle this
 needs a lot of changes, also a backend needs a lot of changes.

 A new backend will not work properly with an old frontend.

yes- if a front-end does not have an else{} for unknown frametypes,
then undesired results will occur.

 I suggest to do all this in SANE2 because it is incompatible to SANE1.
 In the moment a frontend has to handle 3 modes:
 GRAY
 RGB
 RGB 3-pass

 With the new suggestions it would have to handle
 GRAY
 RGB
 RGB 3pass
 GRAY + INFRARED
 RGB + INFRARED
 RGB 3pass + INFRARED
 RGBI
 JPEG + INFRARED?
 RED + INFRARED?
 etc.

i specifically want to avoid RGBI, so think of it this way-

GRAY
RGB
RGB 3pass
Anything + IR

every frontend does not have to handle IR (some dont handle 3 pass rgb now), so:

case default
  discard_frame();

where discard_frame() just reads til EOF on that frame, maybe with a
warning on stderr.

 The change of the transmission format hast been put into SANE2
 because it changes a lot in the comunication for frontends and backends.

i disagree with 'a lot', but yes, it is a change.

 Where is the advantage to put it into SANE1?
 You will get incompatibilities between frontends and backends and you
 slow down (if this is possible at all) the development of SANE2.

It would be hard for sane2 development to get any slower :) The sane2
standard as of now, requires a fair number of changes to many places
in both front and back-ends, and so it is very difficult to get
started, and also very difficult to release anything with .2 soversion
until the end. there is potentially a long wait before there are many
backends or front-ends ported.

 Finish the SANE2 standard. That solves all problems.

i wish to see sane2 as well, but i do not believe that there are huge
numbers of developers lurking on this mailing list, just waiting for
us to get started on sane2. perhaps i am wrong, but i am not sure we
have the critical mass required to start that project.

allan

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



[sane-devel] HP 2400, GL646 and genesys

2007-05-28 Thread Shug Boabby
Hi all,

My scanner is not supported, but the support page

   http://www.sane-project.org/cgi-bin/driver.pl?manu=Hewlett 
+Packardmodel=2400

says GL646 based, to be added to genesys backend.

If I understand correctly, this support has been added to the latest  
genesys backend.

   http://www.sane-project.org/man/sane-genesys.5.html

Is there a way of telling sane to use the genesys backend for this  
scanner? Or if anyone else has any comments on this scanner, please  
let me know.

Thanks and kind regards,
Shug



[sane-devel] Saned problem

2007-05-28 Thread Wouter van Marle

On 28 May 07, at 18:12, Jochen Eisinger wrote:

 Hi,

 what does ls -l /dev/bus/usb/001/002 show?

$ ls -l /dev/bus/usb/001/002
crw-rw-r-- 1 root scanner 189, 1 2007-05-28 09:39 /dev/bus/usb/001/002

 Assuming you don't have appropriate access rights to this device, does
 changing access rights help?

I haven't tried changing access rights; what should I change it to?

Printing to the same device works fine - so permissions seem basically 
OK.

Wouter.


 regards
 -- jochen






[sane-devel] Saned problem

2007-05-28 Thread Wouter van Marle

On 28 May 07, at 21:35, Jochen Eisinger wrote:

 Hi,

 Wouter van Marle wrote:
 $ ls -l /dev/bus/usb/001/002
 crw-rw-r-- 1 root scanner 189, 1 2007-05-28 09:39 /dev/bus/usb/001/002
 is your user in group scanner?

 I haven't tried changing access rights; what should I change it to?
 a+rw for example

That did the trick... so easy if you think of it! Thanks for the help.

I really didn't think that could be the problem - particularly as 
running 'saned -d' from the command line under my normal user account 
had no problems. It's no matter what weird.

Wouter.


 Printing to the same device works fine - so permissions seem 
 basically OK.
 printing is done over some other program (such as cupsd) which might 
 run
 with root privileges.

 regards
 -- jochen






[sane-devel] Additional frame types in Sane 1

2007-05-28 Thread René Rebe
Hi,

On Monday 28 May 2007 13:04:28 Oliver Rauch wrote:
 Am Sonntag, den 27.05.2007, 14:08 -0400 schrieb m. allan noah:
 

Well extending SANE1 will certainly start the new discussion
about finishing SANE2 standard before starting - ACK ;)
But as we did not move forward and scanner support for Linux
is more or less stopped in its development, I vote for
extending SANE1.
   
As long as it won't hurt the API and the flow-control, introducing
more frametypes should be no problem...
  
   Nice to see no big flamewar about the simple frametype addition :-)!
 
 It really is nice that no flamewar starts here but I do not support to
 extend SANE1 this way.
 
 (see my following comment)
 
  SANE_FRAME_RGB,/* pixel-interleaved red/green/blue 
 bands */
  SANE_FRAME_RED,/* red band only */
  SANE_FRAME_GREEN,  /* green band only */
 -SANE_FRAME_BLUE/* blue band only */
 +SANE_FRAME_BLUE,   /* blue band only */
 +SANE_FRAME_INFRARED,   /* infra-red band */
 +SANE_FRAME_RGBI,   /* pixel-interleaved 
 red/green/blue/infra-red */
 +SANE_FRAME_JPEG/* Joint Photographic Experts Group's 
 JPEG */
}
  SANE_Frame;
  
   In the meantime I noticed the device can send Gray+IR as well which
   would mean SANE_FRAME_GRAYI, as well.
  
  i know you probably get RGBIRGBI... from the scanner, but for
  backwards compatability and to avoid the proliferation of frametypes-
  i propose to ONLY add SANE_FRAME_IR. Then an existing backend can add
  IR support to any other frametype by sending an extra frame, and
  existing frontends can be told to ignore the IR frame, and keep using
  the gray/rgb frames.
 
 Although you do not change the function calls 
 at the end you change the SANE API, a frontend that shall handle this
 needs a lot of changes, also a backend needs a lot of changes.
 
 A new backend will not work properly with an old frontend.
 
 I suggest to do all this in SANE2 because it is incompatible to SANE1.
 In the moment a frontend has to handle 3 modes:
 GRAY
 RGB
 RGB 3-pass
 
 With the new suggestions it would have to handle
 GRAY
 RGB
 RGB 3pass
 GRAY + INFRARED
 RGB + INFRARED
 RGB 3pass + INFRARED
 RGBI
 JPEG + INFRARED?
 RED + INFRARED?
 etc.

First of all most frontends do not even support the few FAME types we
currently have.

Second most frontends are so badly written they do not even support
an unknown lenght at scan start, some just error out, even others
pop up some warning that handheld devices would not supported.

However, this tocally sucks for all document scanners and thus I think
most backends currently fill out with white or simillar when the paper
run out before the setup scan height is reached.

 The change of the transmission format hast been put into SANE2
 because it changes a lot in the comunication for frontends and backends.

However, SANE2 will not happen the next ten years. Some reason why this
is so:

 - all the open source apps support SANE 1 already

 - most professionaly are glad to have SANE 1 custom applications
   running today. They do not want spend thousands of money just
   to jump on some SANE 2 wagon.

 - we are happy to have so many devices supported at all, support
   for most old devices will never show up in a totally redone from
   scratch SANE2.

 + a probably a lot more that currently does not come to mind

How long do some discuss a possible SANE 2?

Furtheremore when we do not get a more step by step future
road going most big companies would rather go TWAIN 2.0 (for
Linux) than some jeopardy from scrathc undertaking.

Btw. the reason Linux is so successful is because it was not
rewritten from scratch every 5 years, but gradually improved
and cleaned up.

 Where is the advantage to put it into SANE1?

To have proper support for the backends and the few frontends
that need it tomorrow and not in 10 years?

 You will get incompatibilities between frontends and backends and you
 slow down (if this is possible at all) the development of SANE2.

Yeah, if possible at all.

Sane already has so many options that are unsupported by
most frontends, yet another frametype will not matter much
at all.

If I feel like setting a bitdepth of 32 or 64 bits all frontends
I saw so far will not handle this as well.

 Finish the SANE2 standard. That solves all problems.

I stopped listening to the SANE 2 bla bla like 5 years ago when
it became clear to me that the people talking about just want to
talk and not code.

Yours,

-- 
  Ren? Rebe - ExactCODE GmbH - Europe, Germany, Berlin
  http://exactcode.de | http://t2-project.org | http://rene.rebe.name



[sane-devel] Additional frame types in Sane 1

2007-05-28 Thread René Rebe
Hi,

On Monday 28 May 2007 14:08:37 m. allan noah wrote:
 On 5/28/07, Oliver Rauch Oliver.Rauch at rauch-domain.de wrote:
  Am Sonntag, den 27.05.2007, 14:08 -0400 schrieb m. allan noah:
 
 
 Well extending SANE1 will certainly start the new discussion
 about finishing SANE2 standard before starting - ACK ;)
 But as we did not move forward and scanner support for Linux
 is more or less stopped in its development, I vote for
 extending SANE1.

 As long as it won't hurt the API and the flow-control, introducing
 more frametypes should be no problem...
   
Nice to see no big flamewar about the simple frametype addition :-)!
 
  It really is nice that no flamewar starts here but I do not support to
  extend SANE1 this way.
 
  (see my following comment)
 
   SANE_FRAME_RGB,/* pixel-interleaved red/green/blue 
  bands */
   SANE_FRAME_RED,/* red band only */
   SANE_FRAME_GREEN,  /* green band only */
  -SANE_FRAME_BLUE/* blue band only */
  +SANE_FRAME_BLUE,   /* blue band only */
  +SANE_FRAME_INFRARED,   /* infra-red band */
  +SANE_FRAME_RGBI,   /* pixel-interleaved 
  red/green/blue/infra-red */
  +SANE_FRAME_JPEG/* Joint Photographic Experts 
  Group's JPEG */
 }
   SANE_Frame;
   
In the meantime I noticed the device can send Gray+IR as well which
would mean SANE_FRAME_GRAYI, as well.
  
   i know you probably get RGBIRGBI... from the scanner, but for
   backwards compatability and to avoid the proliferation of frametypes-
   i propose to ONLY add SANE_FRAME_IR. Then an existing backend can add
   IR support to any other frametype by sending an extra frame, and
   existing frontends can be told to ignore the IR frame, and keep using
   the gray/rgb frames.
 
  Although you do not change the function calls
  at the end you change the SANE API, a frontend that shall handle this
  needs a lot of changes, also a backend needs a lot of changes.
 
  A new backend will not work properly with an old frontend.
 
 yes- if a front-end does not have an else{} for unknown frametypes,
 then undesired results will occur.

They should better handle it, either via the network or a buggy frontend
they can get a random frametype today.

  I suggest to do all this in SANE2 because it is incompatible to SANE1.
  In the moment a frontend has to handle 3 modes:
  GRAY
  RGB
  RGB 3-pass
 
  With the new suggestions it would have to handle
  GRAY
  RGB
  RGB 3pass
  GRAY + INFRARED
  RGB + INFRARED
  RGB 3pass + INFRARED
  RGBI
  JPEG + INFRARED?
  RED + INFRARED?
  etc.
 
 i specifically want to avoid RGBI, so think of it this way-
 
 GRAY
 RGB
 RGB 3pass
 Anything + IR
 
 every frontend does not have to handle IR (some dont handle 3 pass rgb now), 
 so:
 
 case default
   discard_frame();
 
 where discard_frame() just reads til EOF on that frame, maybe with a
 warning on stderr.

It is not practical to send the IR data at the end as additional frame, with
5400 optical dpi (in my case) it is no fun to buffer hundreds of MB of IR
data just in case.

  The change of the transmission format hast been put into SANE2
  because it changes a lot in the comunication for frontends and backends.
 
 i disagree with 'a lot', but yes, it is a change.

I disagree as well, it's just another optional frametype and we need
soon not in years. The emphasis lies on optional, most frontends are
of little use for dia scanners anyway.

  Where is the advantage to put it into SANE1?
  You will get incompatibilities between frontends and backends and you
  slow down (if this is possible at all) the development of SANE2.
 
 It would be hard for sane2 development to get any slower :) The sane2
 standard as of now, requires a fair number of changes to many places
:-)
 in both front and back-ends, and so it is very difficult to get
 started, and also very difficult to release anything with .2 soversion
 until the end. there is potentially a long wait before there are many
 backends or front-ends ported.
 
  Finish the SANE2 standard. That solves all problems.
 
 i wish to see sane2 as well, but i do not believe that there are huge
 numbers of developers lurking on this mailing list, just waiting for
 us to get started on sane2. perhaps i am wrong, but i am not sure we
 have the critical mass required to start that project.

SANE 2 has way too many unnecessary changes just for the fun
of it. It would have been way more productive to gradually transform
the current SANE codebase step by step, with clear compatibility pathes,
maybe even mid-layer converters.

For me SANE 2 solves nothing, with the avision backend supporting
nearly 100 devices I only have more work to make sure they work
after a massive SANE transformation.

As we saw the last years a totally new scanning API for Un*x will go
unnoticed and unsupported.

-- 
  Ren? Rebe - ExactCODE 

[sane-devel] Additional frame types in Sane 1

2007-05-28 Thread Étienne Bersac
Hi,

As a frontend developer, i would really enjoy that SANE 2 get
developped, especially for its larger amount of well-known options.
However, i'm not agree with the curent handling of scanner button (as
we discussed earlier).

Regards,
?tienne
-- 
verso l'Alto !


[sane-devel] Additional frame types in Sane 1

2007-05-28 Thread m. allan noah
On 5/28/07, Ren? Rebe rene at exactcode.de wrote:
 Hi,

 On Monday 28 May 2007 14:08:37 m. allan noah wrote:
  On 5/28/07, Oliver Rauch Oliver.Rauch at rauch-domain.de wrote:
   Am Sonntag, den 27.05.2007, 14:08 -0400 schrieb m. allan noah:
  
  
  Well extending SANE1 will certainly start the new discussion
  about finishing SANE2 standard before starting - ACK ;)
  But as we did not move forward and scanner support for Linux
  is more or less stopped in its development, I vote for
  extending SANE1.
 
  As long as it won't hurt the API and the flow-control, introducing
  more frametypes should be no problem...

 Nice to see no big flamewar about the simple frametype addition :-)!
  
   It really is nice that no flamewar starts here but I do not support to
   extend SANE1 this way.
  
   (see my following comment)
  
SANE_FRAME_RGB,/* pixel-interleaved 
   red/green/blue bands */
SANE_FRAME_RED,/* red band only */
SANE_FRAME_GREEN,  /* green band only */
   -SANE_FRAME_BLUE/* blue band only */
   +SANE_FRAME_BLUE,   /* blue band only */
   +SANE_FRAME_INFRARED,   /* infra-red band */
   +SANE_FRAME_RGBI,   /* pixel-interleaved 
   red/green/blue/infra-red */
   +SANE_FRAME_JPEG/* Joint Photographic Experts 
   Group's JPEG */
  }
SANE_Frame;

 In the meantime I noticed the device can send Gray+IR as well which
 would mean SANE_FRAME_GRAYI, as well.
   
i know you probably get RGBIRGBI... from the scanner, but for
backwards compatability and to avoid the proliferation of frametypes-
i propose to ONLY add SANE_FRAME_IR. Then an existing backend can add
IR support to any other frametype by sending an extra frame, and
existing frontends can be told to ignore the IR frame, and keep using
the gray/rgb frames.
  
   Although you do not change the function calls
   at the end you change the SANE API, a frontend that shall handle this
   needs a lot of changes, also a backend needs a lot of changes.
  
   A new backend will not work properly with an old frontend.
 
  yes- if a front-end does not have an else{} for unknown frametypes,
  then undesired results will occur.

 They should better handle it, either via the network or a buggy frontend
 they can get a random frametype today.

should, yes, but they dont. look at scanimage.c for instance.

   I suggest to do all this in SANE2 because it is incompatible to SANE1.
   In the moment a frontend has to handle 3 modes:
   GRAY
   RGB
   RGB 3-pass
  
   With the new suggestions it would have to handle
   GRAY
   RGB
   RGB 3pass
   GRAY + INFRARED
   RGB + INFRARED
   RGB 3pass + INFRARED
   RGBI
   JPEG + INFRARED?
   RED + INFRARED?
   etc.
 
  i specifically want to avoid RGBI, so think of it this way-
 
  GRAY
  RGB
  RGB 3pass
  Anything + IR
 
  every frontend does not have to handle IR (some dont handle 3 pass rgb 
  now), so:
 
  case default
discard_frame();
 
  where discard_frame() just reads til EOF on that frame, maybe with a
  warning on stderr.

 It is not practical to send the IR data at the end as additional frame, with
 5400 optical dpi (in my case) it is no fun to buffer hundreds of MB of IR
 data just in case.

what are you currently doing with the backside scan of a duplex adf
scanner? a 36x24mm 8bit 5400dpi is only 40 megs? even 16 bit IR at 80
megs is smaller than a 600 dpi 24bit rgb A4 (90+ megs), and you are
already buffering that somehow.

i want to cause as little headache for the frontend writers as
possible. that means they should be able to add a simple loop to eat
any frames they dont understand, rather than special handling for
RGBI.

   The change of the transmission format hast been put into SANE2
   because it changes a lot in the comunication for frontends and backends.
 
  i disagree with 'a lot', but yes, it is a change.

 I disagree as well, it's just another optional frametype and we need
 soon not in years. The emphasis lies on optional, most frontends are
 of little use for dia scanners anyway.

this is true, but dont forget that the discussion is not just about IR
channel, but also about other 'frames' that the backend might be able
to provide. jpeg, icc, etc.

   Where is the advantage to put it into SANE1?
   You will get incompatibilities between frontends and backends and you
   slow down (if this is possible at all) the development of SANE2.
 
  It would be hard for sane2 development to get any slower :) The sane2
  standard as of now, requires a fair number of changes to many places
 :-)
  in both front and back-ends, and so it is very difficult to get
  started, and also very difficult to release anything with .2 soversion
  until the end. there is potentially a long wait before there are many
  backends or front-ends ported.
 
   Finish the SANE2 

[sane-devel] Umax 2200 (SCSI) Scanner Buttons

2007-05-28 Thread roger


On Mon, 2007-05-28 at 13:17 +0200, Oliver Rauch wrote:
 Hello Roger,
 
 there is no (working) support for the buttons in umax.c
 
 To enable the output button 0 pressed etc, do
 export SANE_DEBUG_UMAX=12
 before you start the frontend.

I believe I already set this to max and saw nothing regarding the
buttons.  

This is why I asked about debugging SCSI and getting verbose output with
SCSI.  Even though I have selected verbose/debugging w/i the kernel, I
still can't set SCSI debugging via /proc

 But I am not sure if you will see any of these information,
 the routine is to output debug messages, not to find out
 if the buttons have been pressed.

Well, at least I know the buttons aren't actually working, but it's nice
to at least see a template within the code.  Anyways, still would like
to see if I can't get a memory address dumped from SCSI.  From my
guessing, the UMAX scanner probably sends out a signal through the scsi
(and USB if connected), when a button is pressed.  

 Best regards
 Oliver
 
 Am Samstag, den 26.05.2007, 02:01 -0700 schrieb roger:
  I see a bit of code which is supposedly specific to some umax
  scanners.
  
  How can I get scsi logging to dump everything?  (I already have debug
  for sg compiled into the kernel, but echo blah  /proc/scsi/scsi
  fails... and I'm not seeing any recent docs concerning scsi logging
  since 2002.
  
  (I'd like to see if I can't get the external buttons working also for
  the Umax Astra 2200 via scsi.)
  
  
  
  ---Begin Snip of umax.c---
  switch(sensekey)
  ...
  case
  0x09:   
   /* vendor specific */

if (asc == 0x00)
{ 
  DBG(DBG_sense, - button protocoll\n);
  if (ascq  1)
  { 
dev-button0_pressed = 1;
DBG(DBG_sense, - button 0 pressed\n);
  } 

  if (ascq  2)
  {   
dev-button1_pressed = 1;
DBG(DBG_sense, - button 1 pressed\n);
  } 

  if (ascq  4)
  {
dev-button2_pressed = 1;
DBG(DBG_sense, - button 2 pressed\n);
  }
  return SANE_STATUS_GOOD;
  
  ---End Snip of umax.c---
  
  --
  Roger
  http://www.eskimo.com/~roger/index.html
  Key fingerprint = 8977 A252 2623 F567 70CD 1261 640F C963 1005 1D61
  
  Sat May 26 02:01:12 PDT 2007
  
  
 
--
Roger
http://www.eskimo.com/~roger/index.html
Key fingerprint = 8977 A252 2623 F567 70CD 1261 640F C963 1005 1D61

Mon May 28 13:44:10 PDT 2007