[sane-devel] "Error during device I/O" with Fujitsu fi65-F (epjitsu backend)

m. allan noah kitno455 at gmail.com
Sun Mar 15 11:55:24 UTC 2015


hmm- I have never actually seen an fi-65f, I only have user reports
from my patches. However, the initial development was done with
firmware 65f_0A01.nal Can you try to extract that version (or later)
from the Fujitsu windows drivers? You might have to get the latest
version from their website. Maybe there is a difference? Otherwise,
you would need to get a log of the scanner in action under windows, so
we could try to reproduce the commands.

allan

On Sat, Mar 14, 2015 at 11:37 PM, Jonas Neubert <jonas.neubert at gmail.com> wrote:
> Thanks Allan, my mind was so set on thinking of "output" as the scanner output, I didn't even consider that this error might about the program's output!
>
> When doing 'scanimage > file.pnm' the first attempt at scanning an image now ends with the same "scanimage: sane_start: Error during device I/O" as scanimage -T. Full output:
>
>
>     jonas at sane-scanner:~$ sudo SANE_DEBUG_DLL=256 SANE_DEBUG_EPJITSU=25 scanimage > file.pnm
>     [sanei_debug] Setting debug level of dll to 256.
>     [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.25git
>     [dll] sane_init/read_dlld: attempting to open directory `./dll.d'
>     [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d'
>     [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d'
>     [dll] sane_init/read_dlld: done.
>     [dll] sane_init/read_config: reading dll.conf
>     [dll] add_backend: adding backend `epjitsu'
>     [dll] sane_get_devices
>     [dll] load: searching backend `epjitsu' in `/usr/lib/sane'
>     [dll] load: trying to load `/usr/lib/sane/libsane-epjitsu.so.1'
>     [dll] load: dlopen()ing `/usr/lib/sane/libsane-epjitsu.so.1'
>     [dll] init: initializing backend `epjitsu'
>     [sanei_debug] Setting debug level of epjitsu to 25.
>     [epjitsu] sane_init: start
>     [epjitsu] sane_init: epjitsu backend 1.0.27, from sane-backends 1.0.25git
>     [epjitsu] sane_init: finish
>     [dll] init: backend `epjitsu' is version 1.0.27
>     [epjitsu] sane_get_devices: start
>     [epjitsu] sane_get_devices: reading config file epjitsu.conf
>     [epjitsu] sane_get_devices: firmware '/usr/share/sane/epjitsu/60f_0A00.nal'
>     [epjitsu] sane_get_devices: looking for 'usb 0x04c5 0x10c7'
>     [epjitsu] sane_get_devices: firmware '/usr/share/sane/epjitsu/300_0C00.nal'
>     [epjitsu] sane_get_devices: looking for 'usb 0x04c5 0x1156'
>     [epjitsu] sane_get_devices: firmware '/usr/share/sane/epjitsu/300M_0C00.nal'
>     [epjitsu] sane_get_devices: looking for 'usb 0x04c5 0x117f'
>     [epjitsu] sane_get_devices: firmware '/usr/share/sane/epjitsu/1300_0C26.nal'
>     [epjitsu] sane_get_devices: looking for 'usb 0x04c5 0x11ed'
>     [epjitsu] sane_get_devices: firmware '/usr/share/sane/epjitsu/65f_0000.nal'
>     [epjitsu] sane_get_devices: looking for 'usb 0x04c5 0x11bd'
>     [epjitsu] attach_one: start 'libusb:001:004'
>     [epjitsu] attach_one: init struct
>     [epjitsu] attach_one: connect fd
>     [epjitsu] connect_fd: start
>     [epjitsu] connect_fd: opening USB device
>     [epjitsu] connect_fd: finish
>     [epjitsu] load_fw: start
>     [epjitsu] get_stat: start
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 2 bytes
>     [epjitsu] in: reading 2 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 2 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] load_fw: read firmware file /usr/share/sane/epjitsu/65f_0000.nal ok
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 1 bytes
>     [epjitsu] in: reading 1 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 1 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 4 bytes, timeout 10000
>     [epjitsu] cmd: wrote 4 bytes, retVal 0
>     [epjitsu] out: writing 65536 bytes, timeout 10000
>     [epjitsu] out: wrote 65536 bytes, retVal 0
>     [epjitsu] do_cmd: finish
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 1 bytes, timeout 10000
>     [epjitsu] cmd: wrote 1 bytes, retVal 0
>     [epjitsu] in: memset 1 bytes
>     [epjitsu] in: reading 1 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 1 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 1 bytes
>     [epjitsu] in: reading 1 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 1 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 1 bytes, timeout 10000
>     [epjitsu] cmd: wrote 1 bytes, retVal 0
>     [epjitsu] in: memset 1 bytes
>     [epjitsu] in: reading 1 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 1 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] get_stat: start
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 2 bytes
>     [epjitsu] in: reading 2 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 2 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] get_ident: start
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 32 bytes
>     [epjitsu] in: reading 32 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 32 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] get_ident: finish
>     [epjitsu] attach_one: Found FUJITSU scanner fi-65F  0A01 at libusb:001:004
>     [epjitsu] attach_one: Found fi-65F
>     [epjitsu] attach_one: init options
>     [epjitsu] attach_one: init settings
>     [epjitsu] change_params: start
>     [epjitsu] change_params: finish
>     [epjitsu] disconnect_fd: start
>     [epjitsu] disconnecting usb device
>     [epjitsu] disconnect_fd: finish
>     [epjitsu] attach_one: finish
>     [epjitsu] sane_get_devices: found scanner libusb:001:004
>     [epjitsu] sane_get_devices: found 1 scanner(s)
>     [epjitsu] sane_get_devices: finish
>     [dll] sane_get_devices: found 1 devices
>     [dll] sane_open: trying to open `epjitsu:libusb:001:004'
>     [epjitsu] sane_open: start
>     [epjitsu] sane_open: searching currently attached scanners
>     [epjitsu] sane_open: device libusb:001:004 requested, attaching
>     [epjitsu] sane_open: device libusb:001:004 found
>     [epjitsu] connect_fd: start
>     [epjitsu] connect_fd: opening USB device
>     [epjitsu] connect_fd: finish
>     [epjitsu] sane_open: finish
>     [dll] sane_open: open successful
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=0)
>     [epjitsu] sane_get_option_descriptor: 0
>     [dll] sane_control_option(handle=0x1a06b90,option=0,action=0,value=0x7fff6b93fdac,info=(nil))
>     [epjitsu] sane_control_option: get value for '' (0)
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=0)
>     [epjitsu] sane_get_option_descriptor: 0
>     [dll] sane_control_option(handle=0x1a06b90,option=0,action=0,value=0x7fff6b93fce8,info=(nil))
>     [epjitsu] sane_control_option: get value for '' (0)
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=1)
>     [epjitsu] sane_get_option_descriptor: 1
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=2)
>     [epjitsu] sane_get_option_descriptor: 2
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=3)
>     [epjitsu] sane_get_option_descriptor: 3
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=4)
>     [epjitsu] sane_get_option_descriptor: 4
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=5)
>     [epjitsu] sane_get_option_descriptor: 5
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=6)
>     [epjitsu] sane_get_option_descriptor: 6
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=7)
>     [epjitsu] sane_get_option_descriptor: 7
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=8)
>     [epjitsu] sane_get_option_descriptor: 8
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=9)
>     [epjitsu] sane_get_option_descriptor: 9
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=10)
>     [epjitsu] sane_get_option_descriptor: 10
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=11)
>     [epjitsu] sane_get_option_descriptor: 11
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=12)
>     [epjitsu] sane_get_option_descriptor: 12
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=13)
>     [epjitsu] sane_get_option_descriptor: 13
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=14)
>     [epjitsu] sane_get_option_descriptor: 14
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=15)
>     [epjitsu] sane_get_option_descriptor: 15
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=16)
>     [epjitsu] sane_get_option_descriptor: 16
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=17)
>     [epjitsu] sane_get_option_descriptor: 17
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=18)
>     [epjitsu] sane_get_option_descriptor: 18
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=19)
>     [epjitsu] sane_get_option_descriptor: 19
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=20)
>     [epjitsu] sane_get_option_descriptor: 20
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=21)
>     [epjitsu] sane_get_option_descriptor: 21
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=22)
>     [epjitsu] sane_get_option_descriptor: 22
>     [dll] sane_get_option_descriptor(handle=0x1a06b90,option=23)
>     [epjitsu] sane_get_option_descriptor: 23
>     [dll] sane_start(handle=0x1a06b90)
>     [epjitsu] sane_start: start
>     [epjitsu] sane_start: first page
>     [epjitsu] teardown_buffers: start
>     [epjitsu] teardown_buffers: finish
>     [epjitsu] change_params: start
>     [epjitsu] change_params: finish
>     [epjitsu] setup_buffers: start
>     [epjitsu] setup_buffers: finish
>     [epjitsu] load_lut: start
>     [epjitsu] load_lut:
>     [epjitsu] 000: 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
>     [epjitsu] 010: 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
>     [epjitsu] 020: 32 32 32 32 32 32 32 32 32 32 33 34 34 35 36 37
>     [epjitsu] 030: 38 38 39 3a 3b 3c 3d 3d 3e 3f 40 41 41 42 43 44
>     [epjitsu] 040: 45 45 46 47 48 49 49 4a 4b 4c 4d 4d 4e 4f 50 51
>     [epjitsu] 050: 52 52 53 54 55 56 56 57 58 59 5a 5a 5b 5c 5d 5e
>     [epjitsu] 060: 5e 5f 60 61 62 63 63 64 65 66 67 67 68 69 6a 6b
>     [epjitsu] 070: 6b 6c 6d 6e 6f 6f 70 71 72 73 74 74 75 76 77 78
>     [epjitsu] 080: 78 79 7a 7b 7c 7c 7d 7e 7f 80 80 81 82 83 84 85
>     [epjitsu] 090: 85 86 87 88 89 89 8a 8b 8c 8d 8d 8e 8f 90 91 91
>     [epjitsu] 0a0: 92 93 94 95 96 96 97 98 99 9a 9a 9b 9c 9d 9e 9e
>     [epjitsu] 0b0: 9f a0 a1 a2 a2 a3 a4 a5 a6 a6 a7 a8 a9 aa ab ab
>     [epjitsu] 0c0: ac ad ae af af b0 b1 b2 b3 b3 b4 b5 b6 b7 b7 b8
>     [epjitsu] 0d0: b9 ba bb bc bc bd be bf c0 c0 c1 c2 c3 c4 c4 c5
>     [epjitsu] 0e0: c6 c7 c8 c8 c9 ca cb cc cd cd cd cd cd cd cd cd
>     [epjitsu] 0f0: cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd
>     [epjitsu] load_lut: finish
>     [epjitsu] coarsecal: start
>     [epjitsu] set_window: start, window 0
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 1 bytes
>     [epjitsu] in: reading 1 bytes, timeout 10000
>     [epjitsu] in: retVal 9
>     [epjitsu] in: return error 'Error during device I/O'
>     [epjitsu] set_window: error sending cmd
>     [epjitsu] coarsecal: error sending setwindow
>     [epjitsu] sane_start: ERROR: failed to coarsecal
>     [epjitsu] sane_cancel: start
>     [epjitsu] sane_cancel: finish
>     scanimage: sane_start: Error during device I/O
>     [dll] sane_cancel(handle=0x1a06b90)
>     [epjitsu] sane_cancel: start
>     [epjitsu] sane_cancel: finish
>     [dll] sane_close(handle=0x1a06b90)
>     [epjitsu] sane_close: start
>     [epjitsu] sane_cancel: start
>     [epjitsu] sane_cancel: finish
>     [epjitsu] lamp: start (0)
>     [epjitsu] do_cmd: start
>     [epjitsu] cmd: writing 2 bytes, timeout 10000
>     [epjitsu] cmd: wrote 2 bytes, retVal 0
>     [epjitsu] in: memset 1 bytes
>     [epjitsu] in: reading 1 bytes, timeout 10000
>     [epjitsu] in: retVal 0
>     [epjitsu] in: read 1 bytes
>     [epjitsu] do_cmd: finish
>     [epjitsu] lamp: cmd bad status?
>     [epjitsu] disconnect_fd: start
>     [epjitsu] disconnecting usb device
>     [epjitsu] disconnect_fd: finish
>     [epjitsu] sane_close: finish
>     [dll] sane_exit: exiting
>     [dll] sane_exit: calling backend `epjitsu's exit function
>     [epjitsu] sane_exit: start
>     [epjitsu] destroy: start
>     [epjitsu] teardown_buffers: start
>     [epjitsu] teardown_buffers: finish
>     [epjitsu] destroy: finish
>     [epjitsu] sane_exit: finish
>     [dll] sane_exit: finished
>
>
>
>
>
> ---- On Sat, 14 Mar 2015 17:50:04 -0700 m. allan noah  wrote ----
>>Well- 'output is not a file' is your first clue. You need to redirect
>>the output of scanimage somewhere:
>>
>>scanimage [your options] > file.pnm
>>
>>see if repeated invocations of that will work for you.
>>
>>allan
>>
>



-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



More information about the sane-devel mailing list