[sane-devel] Completing epson backend deprecation
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
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
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
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
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
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
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
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
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
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
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