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&#39;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 31 Mar 2006 18:55:51 -0000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2<br>+++ cs3200f-drv.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24 Feb 2008 11:16:01 -0000<br>@@ -85,7 +85,7 @@<br>&nbsp; ***********************************************************************/<br>
&nbsp;<br>&nbsp;#define FW_SIZE 39492<br>-#define FW_BUF_LEN ((FW_SIZE+63)&amp;(~63))<br>+#define FW_BUF_LEN (FW_SIZE+444)<br>&nbsp;<br>&nbsp;static const unsigned char fw_md5_ref[16] =<br>&nbsp;&nbsp; { 0xFF, 0x0C, 0xAE, 0x40, 0x3C, 0x64, 0x6B, 0x9A,<br>