Hi all.

Can anyone with kernel USB experience have a look at this ? I'm quite
clueless on the subject.

I'm experiencing problems with an Epson Perfection610 scanner. It
works fine with 2.2.14 + 2.3.39 backport, but fails with 2.3.50
backport and latests 2.3.99 kernels. System is a dual Celeron BP6
system (UHCI on 440BX chipset).

Asking to  Karl Heinz Kremer <[EMAIL PROTECTED]> (which maintains the Epson
Sane backend), it seems that is problem looks like being UHCI related.

I have enabled debugs in usb-uhci.c, and traced a 'scanimage -L'.
Here's the result :

open("/dev/usbscanner", O_RDWR|O_EXCL)  = 4
write(4, "\33@", 2)                     = 2

Apr 16 08:59:52 hina kernel: usb-uhci.c: search_dev_ep: 
Apr 16 08:59:52 hina kernel: usb-uhci.c: submit_urb: scheduling c7cdb8e0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: uhci_submit_bulk_urb: urb c7cdb8e0, old 
00000000, pipe c0010200, len 2 
Apr 16 08:59:52 hina kernel: usb-uhci.c: Allocated qh @ c58c68a0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: uhci_submit_bulk: qh=00000082, nqh=c03170de 
Apr 16 08:59:52 hina kernel:  
Apr 16 08:59:52 hina kernel: usb-uhci.c: submit_urb: scheduled with ret: 0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: interrupt 
Apr 16 08:59:52 hina kernel: usb-uhci.c: process_transfer: len:2 status:39000001 
mapped:0 toggle:0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: clean transfer urb c7cdb8e0, qh c58c68a0, 
mode 1 
Apr 16 08:59:52 hina kernel: usb-uhci.c: process_transfer: (end) urb c7cdb8e0, wanted 
len 2, len 2 status 0 err 0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: dequeued urb: c7cdb8e0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: process_transfer: calling early completion 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c58c6820 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c58c6860 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c58c6a20 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912180 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59121c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912200 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912240 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912280 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59122c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912300 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912340 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912380 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59123c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912400 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912440 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912480 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59124c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912500 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912540 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912580 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59125c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912600 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912640 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912680 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59126c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912700 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912740 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912780 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59127c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912800 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912840 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912880 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c59128c0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c5912900 

Ok, the write has succeeded.

read(4, 0x804d5d0, 4)

Apr 16 08:59:52 hina kernel: usb-uhci.c: search_dev_ep: 
Apr 16 08:59:52 hina kernel: usb-uhci.c: submit_urb: scheduling c7ad1cc0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: uhci_submit_bulk_urb: urb c7ad1cc0, old 
00000000, pipe c0008280, len 4 
Apr 16 08:59:52 hina kernel: usb-uhci.c: Allocated qh @ c58c67a0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: uhci_submit_bulk: qh=00000082, nqh=c03170de 
Apr 16 08:59:52 hina kernel:  
Apr 16 08:59:52 hina kernel: usb-uhci.c: submit_urb: scheduled with ret: 0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: interrupt 
Apr 16 08:59:52 hina kernel: usb-uhci.c: clean transfer urb c7ad1cc0, qh c58c67a0, 
mode 1 
Apr 16 08:59:52 hina kernel: usb-uhci.c: process_transfer: (end) urb c7ad1cc0, wanted 
len 4, len 1 status 0 err 0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: dequeued urb: c7ad1cc0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: process_transfer: calling early completion 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c58c6fa0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: interrupt 
Apr 16 08:59:52 hina kernel: usb-uhci.c: unlink td @ c58c6a20 
Apr 16 08:59:52 hina kernel: usb-uhci.c: search_dev_ep: 
Apr 16 08:59:52 hina kernel: usb-uhci.c: submit_urb: scheduling c7ad1cc0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: uhci_submit_bulk_urb: urb c7ad1cc0, old 
00000000, pipe c0008280, len 3 
Apr 16 08:59:52 hina kernel: usb-uhci.c: Allocated qh @ c58c67a0 
Apr 16 08:59:52 hina kernel: usb-uhci.c: uhci_submit_bulk: qh=00000082, nqh=c03170de 
Apr 16 08:59:52 hina kernel:  
Apr 16 08:59:52 hina kernel: usb-uhci.c: submit_urb: scheduled with ret: 0 

<Here, the process pauses for 2 minutes, blocked in the read>

read(4, 0x804d5d0, 4)                   = -1 ETIME (Timer expired)

Apr 16 09:01:52 hina kernel: usb_control/bulk_msg: timeout 
Apr 16 09:01:52 hina kernel: usb-uhci.c: uhci_unlink_urb called for c7ad1cc0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: clean transfer urb c7ad1cc0, qh c58c67a0, 
mode 1 
Apr 16 09:01:52 hina kernel: usb-uhci.c: unlink_urb: calling completion 
Apr 16 09:01:52 hina kernel: scanner.c: read_scanner(0): NAK received 
Apr 16 09:01:52 hina kernel: usb-uhci.c: search_dev_ep: 
Apr 16 09:01:52 hina kernel: usb-uhci.c: submit_urb: scheduling c7ad15e0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: uhci_submit_bulk_urb: urb c7ad15e0, old 
00000000, pipe c0010200, len 2 
Apr 16 09:01:52 hina kernel: usb-uhci.c: Allocated qh @ c58c68a0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: uhci_submit_bulk: qh=00000082, nqh=c03170de 
Apr 16 09:01:52 hina kernel:  
Apr 16 09:01:52 hina kernel: usb-uhci.c: submit_urb: scheduled with ret: 0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: interrupt 
Apr 16 09:01:52 hina kernel: usb-uhci.c: process_transfer: len:2 status:39000001 
mapped:0 toggle:1 
Apr 16 09:01:52 hina kernel: usb-uhci.c: clean transfer urb c7ad15e0, qh c58c68a0, 
mode 1 
Apr 16 09:01:52 hina kernel: usb-uhci.c: process_transfer: (end) urb c7ad15e0, wanted 
len 2, len 2 status 0 err 0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: dequeued urb: c7ad15e0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: process_transfer: calling early completion 
Apr 16 09:01:52 hina kernel: usb-uhci.c: unlink td @ c58c6a20 
Apr 16 09:01:52 hina kernel: usb-uhci.c: search_dev_ep: 
Apr 16 09:01:52 hina kernel: usb-uhci.c: submit_urb: scheduling c7ad1900 
Apr 16 09:01:52 hina kernel: usb-uhci.c: uhci_submit_bulk_urb: urb c7ad1900, old 
00000000, pipe c0008280, len 4 
Apr 16 09:01:52 hina kernel: usb-uhci.c: Allocated qh @ c58c67a0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: uhci_submit_bulk: qh=00000082, nqh=c03170de 
Apr 16 09:01:52 hina kernel:  
Apr 16 09:01:52 hina kernel: usb-uhci.c: submit_urb: scheduled with ret: 0 
Apr 16 09:01:52 hina kernel: usb-uhci.c: interrupt 
Apr 16 09:01:52 hina kernel: usb-uhci.c: interrupt, status 3, frame# 1279 
Apr 16 09:01:52 hina kernel: usb-uhci.c: clean transfer urb c7ad1900, qh c58c67a0, 
mode 1 
Apr 16 09:01:52 hina kernel: usb-uhci.c: process_transfer: (end) urb c7ad1900, wanted 
len 4, len 0 status ffffffe0 err 1 
Apr 16 09:01:52 hina kernel: usb-uhci.c: dequeued urb: c7ad1900 
Apr 16 09:01:52 hina kernel: usb-uhci.c: process_transfer: calling early completion 
Apr 16 09:01:52 hina kernel: usb-uhci.c: unlink td @ c58c6fa0 
Apr 16 09:01:52 hina kernel: scanner.c: read_scanner(0): funky result:-32. Please 
notify the maintainer. 
Apr 16 09:01:52 hina kernel: usb-uhci.c: interrupt 
Apr 16 09:01:52 hina kernel: usb-uhci.c: unlink td @ c58c6a20 

I'll be very happy to test anything on that system. Note that it fails
with both usb-uhci and alternate uhci driver. Alas, I don't have
access to an OHCI system to test...

Thanks a lot.

        Marc Zyngier.
-- 
Places change, faces change. Life is so very strange.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to