[sane-devel] Completing epson backend deprecation

2012-06-14 Thread Claus Boje
Onsdag den 13. juni 2012 skrev Martin Zackrisson:
 On 06/13/2012 01:30 PM, sane-devel-request at lists.alioth.debian.org wrote:
  There is a solution now i en epson2 backend that gives you 2 TPU with
  different size. It is working for the epson 4990 (GT-X800) and for
  GT-X900, which should bee both v700 and v750 (I am not totally sure). I
  have only tested 4990 and I think there is no confirmed  test for the
  GT-X900 - has any one a v700 and v750 please test it, but remember to
  use the git version of sane, I don't think it is in any released version.
 
 I don't have the possibility of verifying from the git now, but I think
 this refers back to my issues with the TPU2 on v700. The solution got
 committed according to
 http://lists.alioth.debian.org/pipermail/sane-devel/2011-December/029234.ht
 ml and I can verify that using my own build (from which the diff is
 produced) works on v700.
you properly right, I think this error can be closed.

Claus



[sane-devel] Epson2 TPU and TPU2 and infrared and a patch

2011-12-10 Thread Claus Boje
Just to inform you

I cannot get scanimage to scan i infrared, it make a tiff file with error, so 
the only frontend I have had working for infrared i tiffscan 
http://code.google.com/p/tiffscan

Claus


Fredag den 9. december 2011 skrev Claus Boje:
 With a little trial and study on what vuescan can I have find some
 improvement for the epson2 driver for the epson 4990 (GX-T800) scanner and
 probably also the GT-X900 and maybe other new epson scanners, but I don't
 have any to test with.
 
 To get the scanner scanning in infrared this patch is necessary.
 It is made against the git version of epson2-opt.c from the 12. of December
 2011
 
 root at claus4:/disk5/sane2/patch# diff -cB git/epson2-ops.c
 mysane/epson2-ops.c *** git/epson2-ops.c2011-12-09 23:29:28.0
 +0100
 --- mysane/epson2-ops.c 2011-12-09 23:28:40.0 +0100
 ***
 *** 890,895 
 --- 890,898 
 if (s-hw-use_extension  s-hw-TPU2)
 extensionCtrl = 5;
 
 +   if (s-val[OPT_MODE].w == MODE_INFRARED)
 +   extensionCtrl = 3;
 +
 /* ESC e */
 buf[26] = extensionCtrl;
 
 
 
 
 ...but there is a problem more.
 
 The scanner (4990) has 2 TPU and TPU2 with a different scansize and the
 scanner can only use the TPU (not TPU2) size for infrared scan.
 
 If the TPU2 is used for infrared scan, the image is a black and white image
 or a NACK from the scanner with the FS W d[64] command.
 
 The right solution would bee to have 2 transparent units with the --source
 argument (flatbed | Transparent unit | Transparent unit 8x10) witch is
 what vuescan has. I have not made any patch for that !
 
 xsane cannot scan in infrared, it make the scanner crash (need repower to
 work again). I have used tiffscan for the tests, but scanimage should do
 it too (maybe).
 
 Claus Boje

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20111210/689f2ca0/attachment-0001.html


[sane-devel] Epson2 TPU and TPU2 and infrared and a patch

2011-12-09 Thread Claus Boje
With a little trial and study on what vuescan can I have find some improvement 
for the epson2 driver for the epson 4990 (GX-T800) scanner and probably also 
the GT-X900 and maybe other new epson scanners, but I don't have any to test 
with.

To get the scanner scanning in infrared this patch is necessary. 
It is made against the git version of epson2-opt.c from the 12. of December 
2011

root at claus4:/disk5/sane2/patch# diff -cB git/epson2-ops.c 
mysane/epson2-ops.c 
*** git/epson2-ops.c2011-12-09 23:29:28.0 +0100
--- mysane/epson2-ops.c 2011-12-09 23:28:40.0 +0100
***
*** 890,895 
--- 890,898 
if (s-hw-use_extension  s-hw-TPU2)
extensionCtrl = 5;
  
+   if (s-val[OPT_MODE].w == MODE_INFRARED)
+   extensionCtrl = 3;
+ 
/* ESC e */
buf[26] = extensionCtrl;
  



...but there is a problem more.

The scanner (4990) has 2 TPU and TPU2 with a different scansize and the scanner 
can only use the TPU (not TPU2) size for infrared scan.

If the TPU2 is used for infrared scan, the image is a black and white image or 
a NACK from the scanner with the FS W d[64] command.

The right solution would bee to have 2 transparent units with the --source 
argument (flatbed | Transparent unit | Transparent unit 8x10) witch is what 
vuescan has. I have not made any patch for that !

xsane cannot scan in infrared, it make the scanner crash (need repower to work 
again). I have used tiffscan for the tests, but scanimage should do it too 
(maybe).

Claus Boje
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20111209/6510f922/attachment.html


[sane-devel] coolscan3 - nikon LS-2000 - multi sampling

2011-09-04 Thread Claus Boje
HI

I have got an old Nikon LS-2000 scanner, and it  should work with coolscan3, 
but I can't see how to make multi sampling with this driver, and I don't think 
it can  !!

Where do I get some technical information about the scanner, so we/I can 
incorporate this feature in the driver.

Claus
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20110904/a4a12935/attachment.html


[sane-devel] epson2 driver and epson perfection 4990

2011-02-07 Thread Claus Boje
There is a problem with the resolution setup for Epson perfection 4990 (and 
4870 I think). Because of buggy firmware it do not give the resolutions over 
3200, but it too have 4800, 6400,9600,12800. It is important to have especial 
4800 (and 9600) because the are not  interpolated.

Here is a patch with a solution in epson2-ops.c about line 230

if (dev-dpi_range.max  dev-res_list[dev-res_list_size - 1]) {

/*
 * Setup the right dpi for 
 * Image Scanner Perfection 4870/4990 (GT-X700/GT-X800) 
 * EPSON Programming guide for
 * EPSON Color Image Scanner Perfection 4870/4990
 */
if (e2_dev_model(dev, GT-X800)
|| e2_dev_model(dev, GT-X700)) {
DBG(1, integrating resolution list 
(4800,6400,9600,12800)\n);
e2_add_resolution(dev, 4800);
e2_add_resolution(dev, 6400);
e2_add_resolution(dev, 9600);
e2_add_resolution(dev, 12800);
}
else {

int val = dev-res_list[dev-res_list_size - 1] * 2;

DBG(1, integrating resolution list (%d-%d)\n,
val, dev-dpi_range.max);

while (val = dev-dpi_range.max) {
e2_add_resolution(dev, val);
val *= 2;
}
}
}

Regards
Claus



[sane-devel] SANE backend epson2 and Epson Perfection V700 Photo

2008-03-16 Thread Claus Boje
L?rdag den 15. Marts 2008 skrev Adolf Winterer:
 Thank you for your answer, Alessandro.

 Am Freitag, 14. M?rz 2008 15:17 schrieb Alessandro Zummo:
  On Fri, 14 Mar 2008 08:50:27 +0100
 
  Adolf Winterer adolf.j.winterer at inn-salzach.de wrote:
   Can anyone on the list please help me with the following questions?
  
   1. What is missing from the epson2 backend to reach the complete
   status for the Epson V700 Photo?
 
   maybe some particular features of the scanner are missing. I myself
   don't own one, but given that is has been listed as good on epson
  backend it should work well on epson2 too.

 I've not yet made up my mind. Maybe I just take the risk and buy the
 device.
I took the risk with the epson 4990 and ended up with the job to hack the 
backend, mostly because the firmware in the scanner made som funny things and 
have some funny features too. I hacked the epson driver, but this driver did 
not do the extended commands, but before I got the epson backed update to the 
extended commands the epson2 driver from Alessandro came up, and it did the 
job for me, except for the funny buggy software of the epson 4990 scanner, 
which I have hacked today (it is in the driver now). Sow if your scanner not 
have funny firmware it proberly runs on epson2 (if it use the ESC/I, but I 
think that both v700 and v750 use the ESC/I commands, but don't blame me if 
I'm not right) commands, but . We can too ask epson for the programmers 
manual, I did that with the 4990 and got them without problems.
I don't know how much you can do, can you compile a packet your self ? - do 
you programe/understand some c ?

Best 

Claus Boje



[sane-devel] Epson Perfection 4990 driver

2008-02-11 Thread Claus Boje
I have made the part of epson2 backend that special for the Perfection 4990 
scanner. Every thing should work, but more testing would be nice. I have too 
made the part of the epson backend (the old driver) for 4990, but there are a 
few thing not working, especial with the transperant unit.

Claus Boje

Mandag den 11. Februar 2008 skrev JD:
 I went to the epson-avasys web site and found they provide
 these files for this scanner:

 iscan-2.10.0-1.c2.i386.rpm
 iscan_2.10.0-1.tar.gz
 userg_revG_e.pdf

 I have not trie their driver yet. Will let you know once I have the
 scanner.

 JD

 m. allan noah wrote:
  there are 3 backends which support this machine. the one which lists
  these two points is external to sane, so you might want to ask avasys
  directly. of the other two, one is unmaintained, and the other is new,
  so we may not be able to provide you with an answer.
 
  maybe you can get one and tell us :)
 
  allan
 
  On 2/10/08, JD jd1008 at gmail.com wrote:
  What functionality is missing from this driver other than
  1- film area guide mode not supported
  2-  IEEE1394 untested
 
  --
  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





[sane-devel] Epson perfection 4990

2007-12-29 Thread Claus Boje
Fredag den 28. December 2007 skrev Alessandro Zummo:
 On Fri, 28 Dec 2007 09:18:49 +0100

 Claus Boje claus at egehuset.dk wrote:
  Davs
 
  The epson perfection 4990 is working best with the epson2 driver.
 
  Maybe this should bee change on the Supported Devices pages.

  I never compiled a list of supported devices for the epson2 drive 'cos
  I supposed they were the ones from epson plus a few more.

  maybe it's time do to that, but I don't have reports for the whole
  range of devices. I don't think I have introduced incompatibilities but
  I can't be sure.
If I remenber right, then the epson2 driver has not been out with a release 
yet, when it comes out you proberly will get some reports, I will keep an eye 
on the list. The only reason I found your driver was because I need some of 
the commands not in the epson driver and I started to write them my self but 
before I realy got started I found that you have done the  job (thank you). 
The only error I found was a memory leak with (real) big images, the rest was 
some epson 4990 problems, and I think there will maybe be some with the 
others epson scanners, but I don't hope - I only have a 4990 to do test on, 
sorry for that.

Best
Claus



[sane-devel] Epson perfection 4990

2007-12-28 Thread Claus Boje
Davs

The epson perfection 4990 is working best with the epson2 driver.

Maybe this should bee change on the Supported Devices pages.

Best
Claus Boje



[sane-devel] xsane Segmentation fault

2007-05-06 Thread Claus Boje
Hi

Working on a patch for the epson perfection 4990 scanner for the epson2.c 
driver (not in any stabel version of sane yet) I found after heavy debugging 
that xsane makes a Segmentation fault  when i get data bigger than 32K from 
sane_read. When the sane_read is called the max_length == 65536.
I am getting the error after return from sane_read.

In a shellbox I got this message
*** glibc detected *** malloc(): memory corruption (fast): 0x08423648 ***
Segmentation fault

Best
Claus Boje


[sane-devel] Epson perfection 4990 photo/GT-X800 patch for 4800 dpi

2006-03-23 Thread Claus Boje
Hello

This scanner has a bug, it only reports maximum 3200 dpi back.

Here is a patch there will let this scanner be seen as a 4800 dpi

How do I get this patch in the next version of sane backends ?

This patch is make from sane-backends-1.0.17 and the the file needed to be
patch is backend/epson.c

patch ---

--- backend/epson.c 2005-01-10 20:23:08.0 +0100
+++ backend_4990/epson_4990.c   2006-03-22 17:56:08.0 +0100
@@ -14,6 +14,7 @@
Copyright (C) 2000 Mike Porter m...@udel.edu (mjp)
Copyright (C) 2003 EPSON KOWA Corporation
Copyright (C) 1999-2005 Karl Heinz Kremer k...@khk.net
+   Copyright (C) 2006 Claus Boje cl...@egehuset.dk
 */
 
 #defineSANE_EPSON_VERSION  SANE Epson Backend v0.2.45 -
2000-01-09
@@ -59,6 +60,7 @@
If you do not wish that, delete this exception notice.  */
 
 /*
+   2006-03-12   Added support for perfetion 4990 photo 4800 dpi
2005-01-09   flaming hack to get USB scanners working without timeouts
under linux 
submitted by Steve (in comment to bug #300830)
2004-12-18   Added USB IDs for CX-4600 and CX-3650
@@ -2478,6 +2480,21 @@
  SANE_FIX ((buf[10]  8 | buf[9]) * 25.4 / dev-dpi_range.max);
dev-tpu_y_range.quant = 0;
 
+/* 
+ * Check for Perfection 4990 photo/GT-X800 scanner.
+ * This scanner only report 3200 dpi back.
+ * The scanner fysical supports 4800 dpi.
+ * This is simulated here...
+ * Futher details read:
+ * EPSON Programming guide for EPSON Color Image Scanner Perfection
4990
+ */
+if (strncmp(buf[0x1A],GT-X800,7) == 0)
+{
+ dev-tpu_x_range.max = (dev-tpu_x_range.max/32)*48; 
+ dev-tpu_y_range.max = (dev-tpu_y_range.max/32)*48; 
+ DBG (5, dpi_range.max %x \n,  dev-dpi_range.max);
+}
+ 
DBG (5, tpu tlx %f tly %f brx %f bry %f [mm]\n,
 SANE_UNFIX (dev-tpu_x_range.min),
 SANE_UNFIX (dev-tpu_y_range.min),
@@ -5949,7 +5966,6 @@
 /* we need to correct for the difference in size between
the EpsonIdentRec and the EpsonHdrRec */
 int correction = sizeof (EpsonIdentRec) - sizeof (EpsonHdrRec);
-
 for (n = (count - correction), buf = ident-buf; n; n -= k, buf += k)
 {
   switch (*buf)
@@ -5982,6 +5998,53 @@
 
  DBG (1, maximum scan area: x %d y %d\n, x, y);
  k = 5;
+
+  /* 
+   * Check for Perfection 4990 photo/GT-X800 scanner.
+   * This scanner only report 3200 dpi back.
+   * The scanner fysical supports 4800 dpi.
+   * This is simulated here...
+   * Futher details read:
+   * EPSON Programming guide for EPSON Color Image Scanner
Perfection 4990
+   */
+  if (s-hw-cmd-request_extended_status != 0)
+  {
+u_char *buf;
+u_char params[2];
+EpsonHdr head;
+
+params[0] = ESC;
+params[1] = s-hw-cmd-request_extended_status;
+
+if (NULL != (head = (EpsonHdr) command (s, params, 2,
status)))
+{
+  buf = head-buf[0x1A];
+ DBG (1, product name %x %x %x %x %x %x %x %x \n, buf[0],
buf[1],buf[2],buf[3],buf[4], buf[5],buf[6], buf[7] );
+  if (strncmp(buf,GT-X800,7) == 0)
+  {
+int val = 0x12  8 | 0xC0;   
+
+s-hw-res_list_size++;
+   s-hw-res_list =
+(SANE_Int *) realloc (s-hw-res_list,
+ s-hw-res_list_size * sizeof
(SANE_Int));
+
+   if (NULL == s-hw-res_list)
+   {
+ DBG (1, out of memory (line %d)\n, __LINE__);
+ return SANE_STATUS_NO_MEM;
+   }
+
+   s-hw-res_list[s-hw-res_list_size - 1] = (SANE_Int) val;
+x = (x/32)*48;
+y = (y/32)*48;
+
+   DBG (1, resolution (dpi): %d\n, val);
+   DBG (1, maximum scan area GT-X800: x %d y %d\n, x, y);
+  }
+}
+  }
+
  continue;
}
   default:



Claus Boje