[pvrusb2] 29xxx pvrusb2 device initialization problems
Mike Isely
isely at isely.net
Sun Feb 7 00:36:32 CST 2010
On Fri, 5 Feb 2010, Mike Isely wrote:
>
> After further testing, I've gotten more clues. This is a very bizarre
> problem, limited to only 29xxx devices.
>
> I'm convinced now that there is nothing wrong with the pvrusb2 driver.
> As for the root cause, I'm still not entirely sure. This is going to be
> hard to explain, but I'm going to lay out as much detail as I can here
> in the hopes that in the future when someone google-searches for this,
> the information might be helpful. So this message is going to be rather
> lengthy....
>
> First, the background info:
[See previous post...]
Here's some more symptoms, unfortunately not very helpful. But I'm
describing it here for the record...
I swapped in a fresh hard drive on the problematic laptop system and
scratch installed Debian Stable to it. Using the stock Debian supplied
kernel (Debian-compiled 2.6.26 variant) I tried to initialize a 29032
device. Result? Failure. The device did in fact disconnect after the
stage 1 FX2 firmware download step, but on reconnect I got the same USB
errors followed a little while later by a downshift to full speed mode
and initialization completed.
I tried a bunch of different kernels using this fresh Debian Stable
installation. Heck it's a fresh install with plenty of free disk space,
so I'll just pile on the kernels... These are all kernels that I've
built in the past, many of which I've used as a basis for driver testing
over time. Generally every time I move up to a later kernel, I start by
copying the previous kernel's .config to the new kernel tree and then
running "make oldconfig" to catch any new config switches. So generally
the .config, though not the same each time, advances logically and
settings tend to stay the same between kernels provided that the config
switch itself stays around. In all cases, I'm running the stock pvrusb2
driver included with each kernel. Here's the results:
2.6.26.8 - FAIL
2.6.27.42 - SUCCESS
2.6.28.10 - SUCCESS
2.6.29.3 - SUCCESS
2.6.30.6 - FAIL
2.6.31.9 - FAIL, won't auto-disconnect either
2.6.32.2 - FAIL, won't auto-disconnect either
OK, so now I know I'm not crazy. I had previously been running 2.6.29.3
on that laptop for a while and had only recently updated to 2.6.31.9
there, which is obviously why now I remember there not being any earlier
problems...
But remember that I'm also running that same 2.6.31.9 kernel on my
desktop system and THERE the 29032 device initializes perfectly.
Perhaps the USB hardware is different on the two? Well, apparently not,
according to lspci. One both machines this is what lspci says about the
USB host controllers. It's identical in both places:
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
What a tangled set of conditions. So, it would seem that if I'm
specifically running on a Dell Inspiron E1705, using a specific kernel
version, then the older PVR-USB2 29xxx series devices won't initialize
correctly. Yet the 24xxx series still works fine. Yet if I jam a
24xxx-specific FX2 firmware image onto a 29xxx device then the 29xxx
device at least communicates correctly again. Yet if I do any of this
on my desktop system - using an identical known "bad" kernel for the
E1705, in spite of the fact that the desktop system uses the exact same
USB host controller - then everything works fine. Wow. This has just
GOT to be some kind of bizarre race.
I suppose I should start comparing .config files between the kernel
versions but I'm just blown away that the same stuff works fine on the
desktop system.
I think it's time to go to bed. My head hurts.
-Mike
--
Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
More information about the pvrusb2
mailing list