[sane-devel] "Error during device I/O" with Fujitsu fi65-F (epjitsu backend)
Jonas Neubert
jonas.neubert at gmail.com
Sun Mar 15 22:01:40 UTC 2015
I see, installing that driver on Windows adds both a 65f_0000.nal in C:\Windows and a 65f_0A01.nal in C:\Windows\twain_32\fjscan32. I had missed that latter last time.
Unfortunately, still no change in behavior. The output remains effectively same, but just in case I'm missing something, below is the full output again. Not sure what exactly you mean by "log of the scanner in action under windows", but [1] is a .pcap captured with USBPcap on Windows while scanning a full page at 300dpi.
I'd be happy to collect more data or dig deeper into this myself, but I'll definitely need guidance.
-Jonas
[1] https://www.dropbox.com/s/1yny75ns4qq6i4u/fi65_2.pcap?dl=0
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_0A01.nal'
[epjitsu] sane_get_devices: looking for 'usb 0x04c5 0x11bd'
[epjitsu] attach_one: start 'libusb:001:002'
[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_0A01.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:002
[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:002
[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:002'
[epjitsu] sane_open: start
[epjitsu] sane_open: searching currently attached scanners
[epjitsu] sane_open: device libusb:001:002 requested, attaching
[epjitsu] sane_open: device libusb:001:002 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=0x24ebb90,option=0)
[epjitsu] sane_get_option_descriptor: 0
[dll] sane_control_option(handle=0x24ebb90,option=0,action=0,value=0x7fff25c7305c,info=(nil))
[epjitsu] sane_control_option: get value for '' (0)
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=0)
[epjitsu] sane_get_option_descriptor: 0
[dll] sane_control_option(handle=0x24ebb90,option=0,action=0,value=0x7fff25c72f98,info=(nil))
[epjitsu] sane_control_option: get value for '' (0)
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=1)
[epjitsu] sane_get_option_descriptor: 1
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=2)
[epjitsu] sane_get_option_descriptor: 2
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=3)
[epjitsu] sane_get_option_descriptor: 3
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=4)
[epjitsu] sane_get_option_descriptor: 4
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=5)
[epjitsu] sane_get_option_descriptor: 5
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=6)
[epjitsu] sane_get_option_descriptor: 6
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=7)
[epjitsu] sane_get_option_descriptor: 7
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=8)
[epjitsu] sane_get_option_descriptor: 8
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=9)
[epjitsu] sane_get_option_descriptor: 9
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=10)
[epjitsu] sane_get_option_descriptor: 10
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=11)
[epjitsu] sane_get_option_descriptor: 11
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=12)
[epjitsu] sane_get_option_descriptor: 12
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=13)
[epjitsu] sane_get_option_descriptor: 13
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=14)
[epjitsu] sane_get_option_descriptor: 14
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=15)
[epjitsu] sane_get_option_descriptor: 15
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=16)
[epjitsu] sane_get_option_descriptor: 16
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=17)
[epjitsu] sane_get_option_descriptor: 17
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=18)
[epjitsu] sane_get_option_descriptor: 18
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=19)
[epjitsu] sane_get_option_descriptor: 19
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=20)
[epjitsu] sane_get_option_descriptor: 20
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=21)
[epjitsu] sane_get_option_descriptor: 21
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=22)
[epjitsu] sane_get_option_descriptor: 22
[dll] sane_get_option_descriptor(handle=0x24ebb90,option=23)
[epjitsu] sane_get_option_descriptor: 23
[dll] sane_start(handle=0x24ebb90)
[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=0x24ebb90)
[epjitsu] sane_cancel: start
[epjitsu] sane_cancel: finish
[dll] sane_close(handle=0x24ebb90)
[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 Sun, 15 Mar 2015 04:55:24 -0700 m. allan noah wrote ----
>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
>
More information about the sane-devel
mailing list