[sane-devel] epson 2450(firewire) crashes usb

khk@khk.net khk@khk.net
Tue, 20 May 2003 09:30:13 -0400 (EDT)


ONe thing you could try is to get rid of the scanner.o driver completely
and use libusb. One way to accomplish this is to manually remove the
scanner driver (rmmod scanner.o). Then edit the epson.conf file and
put a comment sign (#) in front of your usb /dev/... line and add
a new line that just reads "usb" - without the quotes.

You may have to add the vendor and product IDs after the "usb" keyword
for older Sane versions, but 1.0.11 should have the information for
the 2400.

> On Tuesday, May 20, 2003 at 07:28:28, khk@khk.net wrote:
> :
> : The TPU is not the cause for the problems: It may trigger the problem,
> : but it's not the root cause. When you scan using the TPU, it takes a lot
> : longer until the first data is sent from the scanner, therefore, the USB
> : system runs into a timeout, which it does not seem to recover from. If
> you
> : set this timeout value to something ridiculously short (e.g. 1 second),
> the
> : same problem will occur even when you scan off the glass.
>
> Well, I've set the timeout to 300 seconds, with "modprobe scanner
> read_timeout=300" and it doesn't solve it.  The following happened when
> I tried to use the TPU of my Epson Perfection 2400 Photo (xsane died and
> oopsed).
>
> The first timout is "usb_control/bulk_msg: timeout", before scanner.c
> messages, so other thing is timeouting too... should I have to increase
> other timeout or something?
>
> hub.c: new USB device 00:07.2-1, assigned address 2
> usb.c: kmalloc IF c8652480, numif 1
> usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0
> usb.c: USB device number 2 default language ID 0x409
> Manufacturer: EPSON
> Product: EPSON Scanner
> scanner.c: probe_scanner: User specified USB read timeout - 300
> usb.c: usbscanner driver claimed interface c8652480
> usb.c: kusbd: /sbin/hotplug add 2
> usb.c: kusbd policy returned 0xfffffffe
> hub.c: port 2, portstatus 300, change 0, 1.5 Mb/s
> hub.c: port 1, portstatus 103, change 0, 12 Mb/s
> hub.c: port 2, portstatus 300, change 0, 1.5 Mb/s
> usb_control/bulk_msg: timeout
> usb-uhci.c: interrupt, status 3, frame# 449
> scanner.c: read_scanner(0): funky result:-75. Consult
> Documentation/usb/scanner.
> txt.
> hub.c: port 1, portstatus 100, change 3, 12 Mb/s
> hub.c: port 1 connection change
> hub.c: port 1, portstatus 100, change 3, 12 Mb/s
> usb.c: USB disconnect on device 00:07.2-1 address 2
> usb_control/bulk_msg: timeout
> scanner.c: write_scanner: NAK received.
> usb.c: kusbd: /sbin/hotplug remove 2
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000088
>  printing eip:
> d8a2b1f6
> *pde = 00000000
> Oops: 0002
> CPU:    0
> EIP:    0010:[<d8a2b1f6>]    Tainted: P
> EFLAGS: 00013282
> eax: 00000000   ebx: d8a2d0ec   ecx: 00000088   edx: 00000000
> esi: 00000088   edi: c142e340   ebp: d3546440   esp: c5155e84
> ds: 0018   es: 0018   ss: 0018
> Process xsane (pid: 1161, stackpage=c5155000)
> Stack: c64a9140 d33e7b00 c01334cc d33e7b00 c64a9140 c64a9140 00000000
> c7d79900
>        00000001 c0132485 c64a9140 c7d79900 c64a9140 c7d79900 00000001
> 0000000b
>        c7d79900 c0118e18 c64a9140 c7d79900 c8ce0080 c5154000 c5154000
> 0000000b
> Call Trace:    [<c01334cc>] [<c0132485>] [<c0118e18>] [<c01193ef>]
> [<c011e1ca>]
>   [<c0106bd1>] [<c0112f70>] [<c01242ab>] [<c0106e18>] [<c0106d60>]
>
> Code: ff 8a 88 00 00 00 0f 88 f1 0b 00 00 c6 42 6b 00 8b 44 24 10
>  <7>usb.c: kusbd policy returned 0xfffffffe
> hub.c: port 2, portstatus 300, change 0, 1.5 Mb/s
> hub.c: port 1, portstatus 100, change 2, 12 Mb/s
> hub.c: port 1 enable change, status 100
> hub.c: port 2, portstatus 300, change 0, 1.5 Mb/s
>
> ksymoops output:
>
>>>EIP; d8a2b1f6 <[scanner]close_scanner+56/a0>   <=====
>
>>>ebx; d8a2d0ec <[scanner]scn_mutex+0/14>
>>>edi; c142e340 <_end+1124b28/185d8848>
>>>ebp; d3546440 <_end+1323cc28/185d8848>
>>>esp; c5155e84 <_end+4e4c66c/185d8848>
>
> Trace; c01334cc <fput+4c/e0>
> Trace; c0132485 <filp_close+55/60>
> Trace; c0118e18 <put_files_struct+58/c0>
> Trace; c01193ef <do_exit+af/240>
> Trace; c011e1ca <sig_exit+9a/a0>
> Trace; c0106bd1 <do_signal+1f1/254>
> Trace; c0112f70 <do_page_fault+0/484>
> Trace; c01242ab <sys_brk+bb/f0>
> Trace; c0106e18 <error_code+34/3c>
> Trace; c0106d60 <signal_return+14/18>
>
> Code;  d8a2b1f6 <[scanner]close_scanner+56/a0>
> 00000000 <_EIP>:
> Code;  d8a2b1f6 <[scanner]close_scanner+56/a0>   <=====
>    0:   ff 8a 88 00 00 00         decl   0x88(%edx)   <=====
> Code;  d8a2b1fc <[scanner]close_scanner+5c/a0>
>    6:   0f 88 f1 0b 00 00         js     bfd <_EIP+0xbfd>
> Code;  d8a2b202 <[scanner]close_scanner+62/a0>
>    c:   c6 42 6b 00               movb   $0x0,0x6b(%edx)
> Code;  d8a2b206 <[scanner]close_scanner+66/a0>
>   10:   8b 44 24 10               mov    0x10(%esp,1),%eax
>
>
> Salud,
> --
> Roberto Lumbreras           .''`.
>                     <rover : :' : debian.org>
> Debian Developer           `. `'
>                              `-
>