[pvrusb2] Ability to fully reset a PVRUSB2 Device

Diego Rivera diego.rivera.cr at gmail.com
Sat Mar 16 17:57:43 CDT 2019


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: change the
Unix group for dvb devices via udev :)

I might come up with a more detailed rule only for the 1950s, but for now
that'll do!

Cheers!

--

Diego Rivera

On Sat, Mar 16, 2019, 16:27 <isely at isely.net> wrote:

>
> Short of preventing the digital stuff from being available in the
> kernel, no.  The driver is set up to 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 few
> minutes later it's still spewing
> > out that message.
> > Side question: is there any way to disable the digital side of the
> driver upon launch? Maybe a
> > parameter that can be passed in?
> > Thanks for responding, too!! I realize this is a stale device but I
> certainly 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 should break
> the connection between the
> > > driver and the hardware and cause the pvrusb2 driver to eventually
> stop crabbing and let
> > > go.  That's a scenario that I executed A LOT when debugging the
> driver...
> > > (If that doesn't work then there may be another problem.)
> > >   -Mike
> > >
> > > On Sat, 16 Mar 2019, Diego Rivera wrote:
> > > "On the digital side"... you're right! Turns out TVHeadend was
> grabbing the digital side of
> > > thetuners - I'll have to figure out a way to disable that, since I
> don't need that.  That said,
> > > once Iturned off TVHeadend, modprobe -r no longer complained about the
> module being in
> > > use.However, it just hung .... and the log is littered with "pvrusb2:
> Attempted to execute
> > > controltransfer when device not ok"So definitely something's wrong
> here because either the module
> > > is definitely caring what happens tothe device(s), or something in the
> overarching kernel
> > > framework changed that appears to need updateson the module in order
> to properly comply... maybe
> > > USB events were removed/modified that the driverexpects for correct
> functioning?Just shooting
> > > blanks here... if there's additional debug information that I can
> provide, I'll bemore than happy
> > > to try to rustle that up for you!Cheers!
> > > On Sat, 2019-03-16 at 11:26 -0500, isely at isely.net wrote:
> > > Interesting.The kernel of course will refuse to a remove a module
> until all references to it go
> > > away.The USB side of the pvrus2 driver won't (shouldn't) care so
> physically unplugged the USB
> > > cable(and doing all manner of USB reset attempts) isn't going to help
> (or hurt - the driver
> > > won'tcare).The problem is not that the driver is referencing the USB
> port but rather that other
> > > entities arereferencing the driver.  So the first obvious case is to
> ensure nobody has it open
> > > which youdid.  Another thing to look at is to see what if other kernel
> modules are referencing
> > > thedriver.  This might be happening on the digital side.  If you run
> lsmod to get a list of
> > > kernelmodules installed you should also see reference counts and a
> list of what other kernel
> > > modules arecausing that count to be non-zero.  If there are other
> modules listed, then they need
> > > to beremoved first - lowering the reference count - before you can
> remove the pvrusb2 driver.Yes,
> > > it's been a long time since I've messed with this driver, sadly, but
> my recollection is
> > > thatbasically while the pvrusb2 module will reference a lot of other
> modules to get its job done,
> > > Ididn't think there was any kernel modules that could reference the
> pvrusb2 driver.  When
> > > thepvrusb2 driver is installed into the running kernel, it will tie
> itself to the other modules
> > > thatis needs, but when you modprobe -r pvrusb2, it SHOULD undo all
> that.  It's conceivable that
> > > thesurrounding kernel environment has changed in ways that invalidate
> this - though I think if
> > > thatwere the case I'd see a lot of screaming here :-)  (Either that or
> almost nobody is using
> > > thisanymore...)  -Mike
> > > On Fri, 15 Mar 2019, Diego Rivera wrote:Hi!I realize it's been MANY
> years since you've messed with
> > > this driver, but I figured why not ask?Ifthere's a better place/person
> to send this to, please let
> > > me know and I'll be glad to go knockonthat door instead!Here goes: I
> have a system with two WinTV-
> > > HVR-1950 devices (long story, still use analog cablehere)which I've
> managed to get working with
> > > TVHeadend to supply Analog TV support via thedigitalplatform (yay, me!
> ☺).However, I'm running
> > > into a problem due likely to the age of one of the devices
> (probablystartingto get wonky).  Every
> > > so often one of the devices ceases to function and just "dies".
> Itneeds tobe physically
> > > disconnected (or the machine rebooted) to get back to working order.
> I'vetried manyapproaches to
> > > reset the USB bus or the device itself via software but none of them
> seemto work:* If I try
> > > "modprobe -r pvrusb2" I get the error that the module is in use (but I
> have nouserprocesses
> > > actively using any of the pvrusb2 devices! I've made sure!).* If I try
> to issueUSBDEVFS_DISCONNECT
> > > or USBDEVFS_RESET commands via IOCTL, neither works and areboot is
> nowrequired.* If I try to reset
> > > the whole USB bus via /sys/bus/pci/drivers/?hci_hcd/unbind and bind,it
> doesn'twork and a reboot is
> > > now required* If I try to use /sys/bus/usb/drivers/pvrusb2/unbindand
> bind, it does'nt work and a
> > > reboot is nowrequiredIn the last 3 cases, syslog ends up littered with
> the message "pvrusb2:
> > > Attempted to executecontroltransfer when device not ok", output
> continually regardless of any
> > > attempt to rebind.  Thissuggeststhat once the device is "not ok"
> (dead?), the driver doesn't
> > > attempt to clean it up(should it?)Is there any other way to force a
> full reset and
> > > reinitialization of a pvrusb2 device viasoftwarewithout actually
> having to disconnect/reconnect
> > > the device or reboot the machine?Thanks!
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
> --
>
> 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
> pvrusb2 at isely.net
> http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
>


More information about the pvrusb2 mailing list