[sane-devel] Canon LiDE 60 test report

Reinhard Mayr aka Czerwinski czerwinski1977 at gmx.net
Mon Jan 2 20:05:20 UTC 2006


Hi,

first of all: The scanner works when I connect the PCMCIA-USB adapter to  
the AC/DC adapter -- Thanks much for this hint!

On Sat, 31 Dec 2005 16:13:26 +0100, Henning Meier-Geinitz  
<henning at meier-geinitz.de> wrote:

> Hi,
>
> On 2005-12-31 15:48, Reinhard Mayr aka Czerwinski wrote:
>> my answers are inserted below:
>
> Your mail wasn't accepted by the list because it's just too big. I'll
> quote the important stuff so you don't need to resend it.
>
>> >Can we have a log file and gdb trace as mentioned in the article,
>> >please? Try something like:
>> >
>> >export SANE_DEBUG_GENESYS=255
>> >export SANE_DEBUG_GENESYS_GL841=255
>> >scanimage --mode Color >image.pnm 2>log
>> See attached file scanimage.zip (145 kB)
>
> These are the last lines:
> [genesys] genesys_read_valid_words: 12560 words
> [genesys_gl841] gl841_bulk_read_data: requesting 4680000 bytes
> [genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
> [genesys_gl841] gl841_bulk_read_data read 36864 bytes, 4643136 remaining
> [genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
> [genesys_gl841] gl841_bulk_read_data failed while reading bulk data: End  
> of file reached
> [genesys] sanei_genesys_read_data_from_scanner: reading bulk data  
> failed: End of file reached
> [genesys] genesys_dark_white_shading_calibration: Failed to read data:  
> End of file reached
> [genesys] genesys_flatbed_calibration: failed to do dark+white shading  
> calibration: End of file reached
> [genesys] genesys_start_scan: failed to do flatbed calibration: End of  
> file reached
This is the end of the xsane trace -- look in scanimage.zip

>
>> (gdb) bt
>> No stack.
>>
>> As far as I can see, the scanimage program does not crash (xsane does!)
>> but there is a severe problem which leads to a program exit.
>
> What does gdb print before running scanimage and after it has stopped?

~/dev/sane/test> gdb scanimage
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you  
are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db  
library "/lib/tls/libthread_db.so.1".

(gdb) run --mode Color >image.pnm 2>log
Starting program: /usr/bin/scanimage --mode Color >image.pnm 2>log
[Thread debugging using libthread_db enabled]
[New Thread 1076312288 (LWP 19858)]

Program exited normally.
(gdb) bt
No stack.
(gdb)

> I would have expected dome more messages at the end, e.g. from
> sane_close and sane_exit. For some reason scanimage doesn't seem to
> these functions.
There are some messages like
[genesys_gl841] gl841_bulk_read_data: requesting 4680000 bytes
[genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
[genesys_gl841] gl841_bulk_read_data read 37376 bytes, 4642624 remaining
[genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
[genesys_gl841] gl841_bulk_read_data failed while reading bulk data: End  
of file reached
[genesys] sanei_genesys_read_data_from_scanner: reading bulk data failed:  
End of file reached
[genesys] genesys_dark_white_shading_calibration: Failed to read data: End  
of file reached
[genesys] genesys_flatbed_calibration: failed to do dark+white shading  
calibration: End of file reached
[genesys] genesys_start_scan: failed to do flatbed calibration: End of  
file reached
scanimage: sane_start: End of file reached
[genesys] sane_cancel: start
[genesys_gl841] gl841_end_scan (check_stop = 1)
[genesys] sanei_genesys_write_register (0x01, 0xa0): failed while setting  
register: Invalid argument
[genesys_gl841] gl841_end_scan: Failed to write registers: Invalid argument
[genesys] sane_cancel: Failed to end scan: Invalid argument
[genesys] sane_close: start
[genesys] sane_close: exit
[genesys] sane_exit: start
[genesys] sane_exit: exit

>
> Anyway, the backend tries to get some data from your scanner and your
> scanner delivers (much) less than the backend expects. Maybe your host
> adapter has some limitation on how much data can be read in one "block"?
How can I determine this?

>
> Another more general problem could be, that your scanner doesn't get
> enough power from the host adapter. Are other USB devices connected to
> it?
No other devs are connected to the USB adapter. But as soon as I connect  
the AC/DC adapter of the PCMCIA-USB adapter everything is fine.

>
>> There is also a trace from xsane doing a color scan @16 bit, 300 dpi.  
>> The
>> program exits with segmentation fault. See xsane.zip (21 kB)
>
> This looks similar:
> [genesys] genesys_read_valid_words: 12560 words
> [genesys_gl841] gl841_bulk_read_data: requesting 4680000 bytes
> [genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
> [genesys_gl841] gl841_bulk_read_data read 36864 bytes, 4643136 remaining
> [genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
> [genesys_gl841] gl841_bulk_read_data failed while reading bulk data: End  
> of file reached
> [genesys] sanei_genesys_read_data_from_scanner: reading bulk data  
> failed: End of file reached
> [genesys] genesys_dark_white_shading_calibration: Failed to read data:  
> End of file reached
> [genesys] genesys_flatbed_calibration: failed to do dark+white shading  
> calibration: End of file reached
> [genesys] genesys_start_scan: failed to do flatbed calibration: End of  
> file reached
>
> Can we see the gdb mwessages and backtrace from running xsane, please?
Scan done at 300 dpi, 16 bit
~/dev/sane/test> gdb xsane
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you  
are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db  
library "/lib/tls/libthread_db.so.1".

(gdb) run >image.pnm 2>log
Starting program: /usr/X11R6/bin/xsane >image.pnm 2>log
[Thread debugging using libthread_db enabled]
[New Thread 1086061088 (LWP 20069)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1086061088 (LWP 20069)]
0x40a62d83 in strlen () from /lib/tls/libc.so.6
(gdb) bt
#0  0x40a62d83 in strlen () from /lib/tls/libc.so.6
#1  0x40a62a95 in strdup () from /lib/tls/libc.so.6
#2  0x08078221 in xsane_viewer_new (filename=0x40b13ff4 "<\021",  
allow_reduction_to_lineart=0, output_filename=0x0,
     allow_modification=VIEWER_FULL_MODIFICATION) at xsane-viewer.c:1865
#3  0x0809cc62 in xsane_scan_done (status=SANE_STATUS_EOF) at  
xsane-scan.c:1190
#4  0x0809ef7f in xsane_start_scan () at xsane-scan.c:1594
#5  0x080a0146 in xsane_scan_dialog () at xsane-scan.c:2062
#6  0x406935eb in g_cclosure_marshal_VOID__VOID () from  
/opt/gnome/lib/libgobject-2.0.so.0
#7  0x40686d19 in g_closure_invoke () from  
/opt/gnome/lib/libgobject-2.0.so.0
#8  0x40696816 in g_signal_stop_emission () from  
/opt/gnome/lib/libgobject-2.0.so.0
#9  0x40697e80 in g_signal_emit_valist () from  
/opt/gnome/lib/libgobject-2.0.so.0
#10 0x406981f5 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0
#11 0x402ad8e1 in gtk_button_clicked () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#12 0x402af378 in gtk_button_get_alignment () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#13 0x406935eb in g_cclosure_marshal_VOID__VOID () from  
/opt/gnome/lib/libgobject-2.0.so.0
#14 0x40686637 in g_cclosure_new_swap () from  
/opt/gnome/lib/libgobject-2.0.so.0
#15 0x40686d19 in g_closure_invoke () from  
/opt/gnome/lib/libgobject-2.0.so.0
#16 0x40696447 in g_signal_stop_emission () from  
/opt/gnome/lib/libgobject-2.0.so.0
#17 0x40697e80 in g_signal_emit_valist () from  
/opt/gnome/lib/libgobject-2.0.so.0
#18 0x406981f5 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0
#19 0x402ad851 in gtk_button_released () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#20 0x402ae89f in gtk_button_set_relief () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#21 0x4037ce60 in gtk_marshal_VOID__UINT_STRING () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#22 0x40686637 in g_cclosure_new_swap () from  
/opt/gnome/lib/libgobject-2.0.so.0
#23 0x40686d19 in g_closure_invoke () from  
/opt/gnome/lib/libgobject-2.0.so.0
#24 0x406969a7 in g_signal_stop_emission () from  
/opt/gnome/lib/libgobject-2.0.so.0
#25 0x40697bee in g_signal_emit_valist () from  
/opt/gnome/lib/libgobject-2.0.so.0
#26 0x406981f5 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0
#27 0x4046f3b4 in gtk_widget_activate () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#28 0x4037b265 in gtk_propagate_event () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#29 0x4037b6ff in gtk_main_do_event () from  
/opt/gnome/lib/libgtk-x11-2.0.so.0
#30 0x40581f8a in gdk_screen_get_setting () from  
/opt/gnome/lib/libgdk-x11-2.0.so.0
#31 0x406e335c in g_main_context_dispatch () from  
/opt/gnome/lib/libglib-2.0.so.0
#32 0x406e67cb in g_main_context_check () from  
/opt/gnome/lib/libglib-2.0.so.0
#33 0x406e6ae7 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#34 0x4037a861 in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#35 0x080bbcb7 in xsane_interface (argc=1, argv=0xbfa4aa74) at xsane.c:8998
#36 0x080bcd9d in main (argc=1, argv=0xbfa4aa74) at xsane.c:9189
(gdb)

last lines of the log:
[genesys_gl841] gl841_bulk_read_data: requesting 4680000 bytes
[genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
[genesys_gl841] gl841_bulk_read_data read 65024 bytes, 4614976 remaining
[genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
[genesys_gl841] gl841_bulk_read_data read 12288 bytes, 4602688 remaining
[genesys_gl841] gl841_bulk_read_data: trying to read 65024 bytes of data
[genesys_gl841] gl841_bulk_read_data failed while reading bulk data: End  
of file reached
[genesys] sanei_genesys_read_data_from_scanner: reading bulk data failed:  
End of file reached
[genesys] genesys_dark_white_shading_calibration: Failed to read data: End  
of file reached
[genesys] genesys_flatbed_calibration: failed to do dark+white shading  
calibration: End of file reached
[genesys] genesys_start_scan: failed to do flatbed calibration: End of  
file reached

Let me know if you are interested in the full log, I still have it.
>
>> Moreover, under certain (unknown) circumstances I can see a entrys in
>> /var/log/messages saying
>>
>> usb 6-1: device descriptor read/64, error -110
>> usb 6-1: device descriptor read/64, error -110
>> usb 6-1: device descriptor read/64, error -110
>> usb 6-1: device descriptor read/64, error -110
>> usb 6-1: device not accepting address 5, error -110
>> usb 6-1: device not accepting address 6, error -110
>
> Error 110 is "connection timed out".
>
>> At this stage the device is not recognized anymore (according to  
>> usbview),
>> even unplugging and replugging does not change that. I have to unplug  
>> the
>> PCMCIA adapter to access the scanner. But yet, I haven't found a way to
>> reproduce that, therefore there are no traces for this situation  
>> available
>> at this time.
>
> Usually such a behaviour means that something is wrong with the kernel
> driver for the host adapter or even with the hardware itsself.
>
>> Furthermore, I found, that USB device parameters differ between USB1.1  
>> and
>> USB2 -- is this information important? Is an usbview report helpful for
>> you?
>
> If the difference is only the packet size of the endpoints (512/64)
> and the interval, this is caused by the higher limits of USB2.
OK, these are the differences I also recognized.

>
> Bye,
>   Henning
>
Backtracking still occurs at 600 dpi and higher but the pics are nice. In  
other words, there is a solution for the seg fault problem by plugging in  
the power cable of the USB adapter. Anyways, an error message instead  
would be nice in order to enable the user to solve the problem.

HTH & thanks for your helpful responses!

Cz.


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/



More information about the sane-devel mailing list