Georg Acher wrote:
>
> On Fri, Mar 30, 2001 at 03:04:24PM -0800, Miles Lane wrote:
> > Georg Acher wrote:
> >
> > > Still not fixed:
> > > - Fix data toggles for killed bulk URBs
> > > - Workaround for VIA-UHCI babble problem (I have contacted VIA...)
> >
> > Just curious, is this a problem that plagues the uhci driver
> > as well? If not, have you looked into what uhci is doing
> > differently when talking to one of the VIA UHCI host-controllers?
>
> To summarize what's happening:
>
> During my work with the EZUSB I sometimes produced a firmware that
> mysteriously killed usb-uhci. The symptom was that no transfer made it
> to the USB and thus timed out. So I fixed the errors in the firmware or the
> VHDL-code and it worked fine again (very pragmatic way ;-)
>
> Last week I found the time to investigate this a bit deeper. The root of the
> problems lies in the faulty firmware, that sends more isochronous data to
> the PC than indicated in the endpoint descriptor and (in the end) in the
> transfer descriptor (TD). In other words, the device babbles and (according
> to the UHCI spec) the chips should flag that error in the TD and life
> should go on.
>
> However, on VIA UHCIs (PCI cards or chipsets) the error is only flaged in
> the controller status registers and immediately after that, no more transfer
> descriptors (iso/control/bulk) are processed, the bus is dead. Looking at it
> with the USB-analyzer, the frame with the babble is the last frame where any
> transfers are processed. After that, only raw SOFs appear, which (maybe
> unrelated...) also die after a while.
>
> For usb-uhci this means that all transfers never complete and time out. The
> only way back to life is to reload usb-uhci (ie. reset the controller).
>
> It is very easy to simulate babble by hardcoding a (too) small number in the
> TD in the submit_iso() calls of usb-uhci/uhci.
>
> As mentioned, usb-uhci "gracefully" times out (well, but dead is dead). I
> just tried uhci of 2.4.2 and it oopses in interrupt (at the beginning of
> uhci_unlink_generic()), OHCI simply flags the error and goes on (I hate
> good designed hardware ;-)
>
> So I can't say whether uhci handles the problem different or shows the same
> symptoms...
>
> I tried the babble simulation on a "real Intel" chipset (PIIX4) (only with
> 2.2.18, but that shouldn't IHMO matter) and it also continues to work as
> expected.
>
> I will try it also with 2.4.2 tomorrow. And, yes, I'll stress Windows with the
> same PCI-USB card ;-)
>
> I've emailed VIA and am now waiting for a response. Does anybody know a
> specific contact person there?
Cool. Thanks, Goerg, for the clear problem description.
Johannes, perhaps you could hack up a test script to trigger
this error condition with your latest uhci code and then
come up with a patch to work around it, as Goerg is doing
for usb-uhci.
Cheers,
Miles
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel