Bug#487725: linux-image-2.6.25-2-amd64: Got much trouble and message 'ehci_hcd: HC died' when scanning image from 'Canon PIXMA MP150'.
On Mon, 23 Jun 2008, Valentin QUEQUET wrote:
> Package: linux-image-2.6.25-2-amd64
> Version: 2.6.25-5
> Severity: normal
>
>
> Hello, all.
>
> While scanning (with SANE) a document from my 'Canon PIXMA MP150' scanner/printer combo, I stumbled upon a grave problem.
>
> I discovered that my configuration - out-of-the-box up-to-date lenny - was using module 'ehci_hcd' (possibly amongst others) to dialog with my scanner.
>
> And I discovered that there was some activity on IRQ_7, which was 'listened-to' by module 'ehci_hcd', when I queried scanner list typing:
> scanimage -L
> and when I put my scanner ON or OFF.
>
> I was able to query this list 3 times without a problem ; this step did no hurt.
>
> But a grave problem suddenly arose when I typed:
> scanimage -T
> which is a scanner/communication test which consist in scanning a full line - equivalent to effectively scanning a small part of the document.
>
> Not only the test failed, but 3 more very bad things happened:
> - I got alarming messages on console (and in 'dmesg' below) : "ehci_hdc: ... HC died", and kernel said it would forget about IRQ_7 (which 'ehci_hcd' was 'listening-to' earlier).
> - I became unable to query the list of scanners anymore : the scanner ceased to respond.
> - The kernel no longer notified (eg on console) when I put my scanner OFF, ON, and OFF again.
>
> Fortunately, I discovered that in this situation, I had just to unload module 'ehci_hcd' to get my scanner+SANE functional (including scanner power ON/OFF notifications).
>
> But a few points draw my attention:
>
> I retried this scenario, implying scanner OFF, PC reboot, delay, scanner ON.
>
> A few times the scenario showed to be exactly like I described above.
>
> While the other times, symptoms of the bug (alarming messages + unability to communicate with the scanner) happened merely whenever I chose to put my scanner OFF (alarm) and ON (no comm.) instead of doing the scanner test (via scanimage -T).
>
> Again, unloading module 'ehci_hcd' got my scanner+SANE functional.
>
> I found very strange that IRQ_7 would just be used for some handchecking and not for the transfer phase.
> But it's obvious: 'ehci_hcd', which was the sole user of IRQ_7, succeeded at handchecking and broke on scanning/transfer attempts.
>
> So, when I unloaded 'ehci_hcd', the transfer phase likely falled back to some non-IRQ (polling) method.
>
> I was sorry that my new Debian pre-packaged linux-image-2.6.25-2-amd64 (ver 2.6.25-5) made my scanning experience so tricky.
>
> And I asked myself what it would have been if module 'echi_hcd' didn't broke. Would 'ehci_hcd' be usefull after all ?
> Would IRQ_7 be used ? With many interruptions in scanning/transfer phase ? And would transfers get faster ?
>
> So, I decided to repeat the whole thing with Debian pre-packaged linux-image-2.6.24-1-amd64 (ver 2.6.24-7).
> You can't believe it ! Scanning (scanner+SANE) functioned right out of the box, without having root to unload module 'ehci_hcd' (it was effectively loaded).
>
> And I was witnessing an intensive use of IRQ_7 by module 'ehci_hcd' ; transfers were similar than with 2.6.25 : certainly no far from perfect.
>
> And whenever I put my scanner ON or OFF, I got the matching notifications on console and in dmesg.
>
> And whenever I wanted to scan some paper, all was good and perfect.
>
> To help you understand what happened, and in the case the piece of dmesg below would not be enough, I give you a pointer to my full dmesg log:
> http://pagesperso-orange.fr/mandolosse/logs/2008-06-23__dmesg__ehci_hcd__died.txt
>
> I also captured 'scanimage', 'lsmod' output and snapshots of '/proc/interrupts' at different times. I plan to scrutinize all this data, to comment the relevant parts and to post them later.
>
> In hope my report will prove useful.
>
> Sincerely,
> Valentin QUEQUET
urrgs indeed.
but please can you test out latest upstream linux images 2.6.26-rcX
they install just fine in testing/unstable. see trunk apt lines
-> http://wiki.debian.org/DebianKernel
kind regards
--
maks
Reply to: