[sane-devel] Fujitsu fi-5110C driver state

Simon Glass sglass at bluewatersys.com
Mon May 1 09:42:09 UTC 2006


Hi,

I've just got one of these scanners. We use a 4340C with great success,
but this new 5110C is problematic. It basically won't feed.

So I thought I would try the new experimental driver from

/http://www2.pfeiffer.edu/~anoah/fujitsu/ <http://www2.pfeiffer.edu/%7Eanoah/fujitsu/>/


I'm using maxview which is a document management program (see
http://sourceforge.net/projects/maxview/ ). When I first scan I get this
output:

...
[fujitsu] sane_get_parameters: start
[fujitsu] calculateDerivedValues: start
[fujitsu]       top_margin: 0
[fujitsu]       left_margin: 138
[fujitsu]       scan_width: 9921
[fujitsu]       scan_height: 14028
[fujitsu]       scan_width corrected: 9921
[fujitsu] calculateDerivedValues: finish
[fujitsu] get_hardware_status: start
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: finish
[fujitsu] B5 0
[fujitsu] A4 0
[fujitsu] B4 0
[fujitsu] A3 0
[fujitsu] HE 0
[fujitsu] OMR 1
[fujitsu] ADFC 0
[fujitsu] SLEEP 0
[fujitsu] MF 0
[fujitsu] Start 0
[fujitsu] Ink empty 0
[fujitsu] DFEED 0
[fujitsu] SKEW 0
[fujitsu] get_hardware_status: finish
[fujitsu]       depth 1
[fujitsu]       lines 3507
[fujitsu]       pixels_per_line 2480
[fujitsu]       bytes_per_line 310
[fujitsu] sane_get_parameters: finish
[fujitsu] sane_get_option_descriptor: 'source'
[fujitsu] sane_control_option: get value 'source'
[fujitsu]       cap = 5
depth=1
ppl=2480
format=0
lines=3507
bpl=310
bpp=1
page count 0, chunk count 0
[fujitsu] sane_start: start
[fujitsu]       object_count = 0
[fujitsu]       duplex_mode = DUPLEX_FRONT
[fujitsu]       use_temp_file = no
[fujitsu] set_sleep_mode: start
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: finish
[fujitsu] set_sleep_mode: finish
[fujitsu] set_mode_params: start
[fujitsu] set_mode_params: finish
[fujitsu] send: start
[fujitsu] send: finish
[fujitsu] object_position: start
[fujitsu] object_position: load
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: finish
[fujitsu] wait_scanner: start
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: finish
[fujitsu] wait_scanner: finished
[fujitsu] object_position: finish
[fujitsu] wait_scanner: start
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: finish
[fujitsu] wait_scanner: finished
[fujitsu] set_window
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: start
[fujitsu] do_usb_cmd: finish
[fujitsu] sense_handler: start
[fujitsu] Sense=5, ASC=38, ASCQ=0
[fujitsu] Illegal request: invalid field in parm list
[fujitsu] Offending byte is 0x3e. (Byte 0x36 in window descriptor block)
[fujitsu] do_usb_cmd: finish
[fujitsu] set_window: finish
[fujitsu] sane_start: ERROR: failed to set window
[fujitsu] do_cancel: start
[fujitsu] do_cancel: close filedescriptor
[fujitsu] do_cancel: finish
[fujitsu] sane_cancel: start
[fujitsu] do_cancel: start
[fujitsu] do_cancel: finish
[fujitsu] sane_cancel: finish

I'm not sure what the offending byte is.

With a bit of fiddling I seem to be able to get it to scan once or twice
(i.e. better than the old driver), but it isn't great.

Any thoughts on how I can debug this?

Also, I should have asked this earlier, but for some time I've used the
following patch in fujitsu.c (sorry the patch is reversed):

--- ../../../sane-backends-1.0.15/backend/fujitsu.c     Wed May  4
21:59:40 2005+++ fujitsu.c   Mon Oct 11 23:34:24 2004
@@ -2267,17 +2267,7 @@
   params->bytes_per_line = scanner->bytes_per_scan_line *
     scanner->scanner_depth / scanner->output_depth;

-  // Simon added this
-  //s  params->last_frame = 1;
-  if (SANE_STATUS_GOOD == get_hardware_status (scanner))
-    {
-      params->last_frame = !scanner->use_adf || get_HW_adf_empty
(scanner->buffer);
-    }
-  else
-    {
-      params->last_frame = 1;
-    }
-
+  params->last_frame = 1;
   DBG (10, "\tdepth %d\n", params->depth);
   DBG (10, "\tlines %d\n", params->lines);
   DBG (10, "\tpixels_per_line %d\n", params->pixels_per_line);


Otherwise I can't seem to detect whether there is more paper in the
feeder or not. Is this the last_frame parameter or do I have this wrong?

Anyway, if there is any way I can help in the development or debugging
of this driver (and if there is any Fujitsu documentation available),
please let me know, as I have all the motivation in the world right now :-)

Regards,
Simon




More information about the sane-devel mailing list