The cs3200f experimental backend has not been developed for quite a while. There was an unresolved bug where on some faster CPUs SANE failed to read back the firmware. - please see<br><a href="http://www.scanners-on-linux.com/node/43">http://www.scanners-on-linux.com/node/43</a><br>
I looked into it a bit, and found out that for some unknown reason, bytes read must divide by 512 - otherwise sanei_usb_read_bulk will hang or return EOF.<br>So here's the patch that I made - after applying, scanner finally worked.<br>
Hope this could be useful for somebody.<br><br>Regards,<br>Paweł Drewniak<br><br>Index: cs3200f-drv.c<br>===================================================================<br>RCS file: /cvsroot/sane/experimental/cs3200f/cs3200f-drv.c,v<br>
retrieving revision 1.2<br>diff -u -r1.2 cs3200f-drv.c<br>--- cs3200f-drv.c 31 Mar 2006 18:55:51 -0000 1.2<br>+++ cs3200f-drv.c 24 Feb 2008 11:16:01 -0000<br>@@ -85,7 +85,7 @@<br> ***********************************************************************/<br>
<br> #define FW_SIZE 39492<br>-#define FW_BUF_LEN ((FW_SIZE+63)&(~63))<br>+#define FW_BUF_LEN (FW_SIZE+444)<br> <br> static const unsigned char fw_md5_ref[16] =<br> { 0xFF, 0x0C, 0xAE, 0x40, 0x3C, 0x64, 0x6B, 0x9A,<br>