[pvrusb2] Ability to fully reset a PVRUSB2 Device

Diego Rivera diego.rivera.cr at gmail.com
Sun Apr 14 19:53:30 CDT 2019


Thanks!! Again, let me know if I can help things along in any way.
Cheers!
On Sun, 2019-04-14 at 19:52 -0500, isely at isely.net wrote:
> It's been quite a long time, but I am working on it.  My effort has been slowed due to everything
> else on my plate but I should be caught up and able to test for it this coming weekend.  Been
> working on getting a kernel set up for this today.
>   -Mike
> 
> On Wed, 10 Apr 2019, Diego Rivera wrote:
> Hi!Just wondering if you were able to get your setup going and if there's anything I can do to
> help youtest any fixes you might come up with.Cheers!
> On Sat, 2019-03-16 at 18:16 -0500, isely at isely.net wrote:
> I'd say there's a very good chance of fixing this.  The critical issue for me is getting the
> timeto dig into it.  I've been out of this so long that my test setup is boxed up somewhere...Once
> I reproduce the problem I think it's pretty likely I can find a fix.  Odds are that someaspects of
> the USB stack's interface to client drivers has changed in a manner that breaks use ofit by the
> pvrusb2 driver.  It's just a matter of figuring that out and dealing with it.  Maybe adisconnect
> callback happening in a way now that the driver doesn't expect.  With this many yearssince the
> last substantial change, this is certainly possible.  -Mike
> On Sat, 16 Mar 2019, Diego Rivera wrote:I'd offer to help fix this but I'm not knowledgeable
> enough in building usbkernel drivers to be ofmuch use...But any help I can offer is definitely at
> your disposal.Do you think there's any chance of fixing this?--Diego RiveraOn Sat, Mar 16, 2019,
> 17:08 <isely at isely.net> wrote:
> Based on other messages here (which I just now saw), it looks likethere's been a USB stack
> changein the kernel (for who knows how longago) that prevent hot-unplug from working.  That is
> supposedto work.It used to.  Oh joy.  -Mike
> On Sat, 16 Mar 2019, Diego Rivera wrote:My bigger concern is why the driver is refusing to give up
> on "bad"devices...Also I found a solution for keeping the digital side out of TVH: changetheUnix
> group for dvb devices via udev :)I might come up with a more detailed rule only for the 1950s, but
> for nowthat'll do!Cheers!--Diego RiveraOn Sat, Mar 16, 2019, 16:27 <isely at isely.net> wrote:
> Short of preventing the digital stuff from being available in thekernel, no.  The driver is set
> upto always exploit whatever it can...Catching up on the other replies...
> On Sat, 16 Mar 2019, Diego Rivera wrote:Negative on that count either... I unplugged the device
> and a fewminutes later it's still spewingout that message.Side question: is there any way to
> disable the digital side of thedriver uponlaunch? Maybe aparameter that can be passed in?Thanks
> for responding, too!! I realize this is a stale device butIcertainly appreciate your time!On Sat,
> 2019-03-16 at 11:36 -0500, isely at isely.net wrote:OK, now unplug it if you haven't already done
> so.  That shouldbreakthe connection between thedriver and the hardware and cause the pvrusb2
> driver to eventuallystop crabbing and letgo.  That's a scenario that I executed A LOT when
> debugging thedriver...(If that doesn't work then there may be another problem.)  -MikeOn Sat, 16
> Mar 2019, Diego Rivera wrote:"On the digital side"... you're right! Turns out TVHeadendwasgrabbing
> the digital side ofthetuners - I'll have to figure out a way to disable that, since Idon't need
> that.  That said,once Iturned off TVHeadend, modprobe -r no longer complained aboutthemodule being
> inuse.However, it just hung .... and the log is littered with"pvrusb2:Attempted to
> executecontroltransfer when device not ok"So definitely something's wronghere because either the
> moduleis definitely caring what happens tothe device(s), or something intheoverarching
> kernelframework changed that appears to need updateson the module inorderto properly comply...
> maybeUSB events were removed/modified that the driverexpects for correctfunctioning?Just
> shootingblanks here... if there's additional debug information that I canprovide, I'll bemore than
> happyto try to rustle that up for you!Cheers!On Sat, 2019-03-16 at 11:26 -0500, 
> isely at isely.netwrote:Interesting.The kernel of course will refuse to a remove a moduleuntil all
> references to it goaway.The USB side of the pvrus2 driver won't (shouldn't) care sophysically
> unplugged the USBcable(and doing all manner of USB reset attempts) isn't going tohelp(or hurt -
> the driverwon'tcare).The problem is not that the driver is referencing theUSBport but rather that
> otherentities arereferencing the driver.  So the first obvious case istoensure nobody has it
> openwhich youdid.  Another thing to look at is to see what if otherkernelmodules are
> referencingthedriver.  This might be happening on the digital side.  If yourunlsmod to get a list
> ofkernelmodules installed you should also see reference counts and alist of what other
> kernelmodules arecausing that count to be non-zero.  If there are othermodules listed, then they
> needto beremoved first - lowering the reference count - before you canremove the pvrusb2
> driver.Yes,it's been a long time since I've messed with this driver, sadly,butmy recollection
> isthatbasically while the pvrusb2 module will reference a lot ofothermodules to get its job
> done,Ididn't think there was any kernel modules that could reference thepvrusb2
> driver.  Whenthepvrusb2 driver is installed into the running kernel, it will tieitself to the
> other modulesthatis needs, but when you modprobe -r pvrusb2, it SHOULD undo allthat.  It's
> conceivable thatthesurrounding kernel environment has changed in ways thatinvalidatethis - though
> I think ifthatwere the case I'd see a lot of screaming here :-)  (Eitherthat oralmost nobody is
> usingthisanymore...)  -MikeOn Fri, 15 Mar 2019, Diego Rivera wrote:Hi!I realize it's been
> MANYyearssince you've messed withthis driver, but I figured why not ask?Ifthere's a
> betterplace/personto send this to, please letme know and I'll be glad to go knockonthat door
> instead!Here goes:Ihave a system with two WinTV-HVR-1950 devices (long story, still use analog
> cablehere)which I'vemanaged to get working withTVHeadend to supply Analog TV support via
> thedigitalplatform (yay,me!☺).However, I'm runninginto a problem due likely to the age of one of
> the devices(probablystartingto get wonky).  Everyso often one of the devices ceases to function
> and just "dies".Itneeds tobe physicallydisconnected (or the machine rebooted) to get back to
> workingorder.I'vetried manyapproaches toreset the USB bus or the device itself via software but
> none ofthemseemto work:* If I try"modprobe -r pvrusb2" I get the error that the module is in
> use(but Ihave nouserprocessesactively using any of the pvrusb2 devices! I've made sure!).* If
> Itryto issueUSBDEVFS_DISCONNECTor USBDEVFS_RESET commands via IOCTL, neither works and areboot
> isnowrequired.* If I try to resetthe whole USB bus via /sys/bus/pci/drivers/?hci_hcd/unbind
> andbind,itdoesn'twork and a reboot isnow required* If I try to
> use/sys/bus/usb/drivers/pvrusb2/unbindandbind, it does'nt work and areboot is nowrequiredIn the
> last 3 cases, syslog ends up litteredwiththe message "pvrusb2:Attempted to executecontroltransfer
> when device not ok", outputcontinually regardless of anyattempt to rebind.  Thissuggeststhat once
> the device is "not ok"(dead?), the driver doesn'tattempt to clean it up(should it?)Is there any
> other way to force afull reset andreinitialization of a pvrusb2 device viasoftwarewithout
> actuallyhaving to disconnect/reconnectthe device or reboot the machine?Thanks!
> 
> 
> 
> 
> 
> 
> 
> --Mike Iselyisely @ isely (dot) netPGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5
> C1E8_______________________________________________pvrusb2 mailing listpvrusb2 at isely.net
> http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2_______________________________________________pvrusb2
>  mailing listpvrusb2 at isely.nethttp://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
> --Mike Iselyisely @ isely (dot) netPGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5
> C1E8_______________________________________________pvrusb2 mailing listpvrusb2 at isely.net
> http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2_______________________________________________pvrusb2
>  mailing listpvrusb2 at isely.nethttp://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
> 
> 
> 
> 
-- 



Diego Rivera

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://www.isely.net/pipermail/pvrusb2/attachments/20190414/9746bdd0/attachment.sig>


More information about the pvrusb2 mailing list