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 _______________________________________________ pvrusb2 mailing list [email protected] http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
