[pvrusb2] No data from HVR-1900 encoder

Magnus Ekhall koma at lysator.liu.se
Sun Jun 19 03:18:35 CDT 2011


Thanks for your help.

I've now enabled a bunch of debug printouts to see what actually happens
under the hood.

I took a closer look at the kernel log and I'm pretty sure I got one of
those messages regarding the stuck encoder, and the encoder was still
working just fine. Maybe the printouts are unrelated to the problem
after all...

I also downloaded the latest windows driver from Hauppauges website and
extracted the various firmwares. I found one firmware that was different
from what I was currently running. The new firmware v4l-cx25840.fw has a
md5sum of 95bc688d3e7599fd5800161e9971cc55. I don't know if that is what
"everybody else" is running?

I don't know if that will help me, but I'm running the new one now.

Now I'm just waiting for the problem to happen again so that I can take
a dive in the now slightly more verbose kernel logs. :)

Regards,
Magnus


fre 2011-06-17 klockan 20:51 -0500 skrev Mike Isely:
> See below..
> 
>   -Mike
> 
> 
> On Fri, 17 Jun 2011, Magnus Ekhall wrote:
> 
> > 
> > 
> > I can't say that I see any efforts to recover. Here is a longer,
> > consecutive part of the kernel log:
> > 
> > Jun 12 09:15:05 digimatrix kernel: [67522.143822] pvrusb2: ***WARNING***
> > device's encoder appears to be stuck (status=0x00000003)
> > Jun 12 09:15:05 digimatrix kernel: [67522.143829] pvrusb2: Encoder
> > command: 0x81
> > Jun 12 09:15:05 digimatrix kernel: [67522.143833] pvrusb2: Giving up on
> > command.  This is normally recovered via a firmware reload and
> > re-initialization; c
> > oncern is only warranted if this happens repeatedly and rapidly.
> > Jun 12 09:40:04 digimatrix kernel: [69021.735287] pvrusb2: ***WARNING***
> > device's encoder appears to be stuck (status=0x00000003)
> > Jun 12 09:40:04 digimatrix kernel: [69021.735293] pvrusb2: Encoder
> > command: 0x81
> > Jun 12 09:40:04 digimatrix kernel: [69021.735297] pvrusb2: Giving up on
> > command.  This is normally recovered via a firmware reload and
> > re-initialization; c
> > oncern is only warranted if this happens repeatedly and rapidly.
> > Jun 12 17:17:28 digimatrix kernel: [96465.946075] ath: Failed to stop TX
> > DMA in 100 msec after killing last frame
> > Jun 12 17:17:28 digimatrix kernel: [96465.946128] ath: Failed to stop TX
> > DMA!
> > Jun 15 01:30:04 digimatrix kernel: [298828.093416] pvrusb2:
> > ***WARNING*** device's encoder appears to be stuck (status=0x00000003)
> > Jun 15 01:30:04 digimatrix kernel: [298828.093423] pvrusb2: Encoder
> > command: 0x81
> > Jun 15 01:30:04 digimatrix kernel: [298828.093427] pvrusb2: Giving up on
> > command.  This is normally recovered via a firmware reload and
> > re-initialization; 
> > concern is only warranted if this happens repeatedly and rapidly.
> > Jun 15 20:59:34 digimatrix kernel: [369000.134310] pvrusb2:
> > ***WARNING*** device's encoder appears to be stuck (status=0x00000003)
> > Jun 15 20:59:34 digimatrix kernel: [369000.134317] pvrusb2: Encoder
> > command: 0x81
> > Jun 15 20:59:34 digimatrix kernel: [369000.134321] pvrusb2: Giving up on
> > command.  This is normally recovered via a firmware reload and
> > re-initialization; 
> > concern is only warranted if this happens repeatedly and rapidly.
> > 
> > 
> > 
> > As you can see the message regarding the stuck encoder is repeated, but
> > sometimes with hours between the messages, and sometimes with days.
> > 
> > What would the recovery attempt log message look like?
> 
> When the recovery happens, it typically takes less than a second.  (It 
> is usually so fast that people don't even notice it had to recover 
> unless one looks at the kernel log.)  The fact that you're going hours / 
> days between errors means it's probably recovering OK.  So you're 
> generally not getting into a situation when it's in rapid loop 
> repeatedly trying to recover.
> 
> You might not be seeing the recovery related messages because those 
> particular debug flags are likely turned off in the driver.  You can, if 
> you want, turn on additional debug flags without needing to rebuild 
> anything.  There's information on how to change that debug mask here:
> 
> http://www.isely.net/pvrusb2/usage.html#Logging
> 
> However that doesn't explain the behavior that's causing you a problem - 
> that it's just getting jammed and NOT recovering.  If you can pretty 
> regularly get it to jam, while additional debug flags are on, we might 
> be able to pin it down.  Read on...
> 
> 
> 
> > 
> > I'm running an up to date mythbuntu where the pvrusb2 module is of
> > version:
> > srcversion:     8576222596CEAD8A32E8AB8
> > vermagic:       2.6.38-8-generic SMP mod_unload modversions 
> 
> Assuming that the driver wasn't patched in this distribution then you're 
> probably running the vanilla driver that comes with the 2.6.38 kernel.  
> That's a mature, recent, driver.
> 
> > 
> > I'm starting to suspect problematic hardware, but I would like to look
> > at all other possibilities before I open my wallet. :)
> 
> One thing we have to consider here is that the logic you're looking at, 
> that is the behavior of the mpeg encoder dying and the driver recovering 
> it automatically, has been a feature of the driver for *many* years.  
> It's been a stable behavior over that time, so the fact that you're the 
> first person in, well basically forever, to be reporting this issue 
> leads me to suspect that you might indeed be dealing with marginal 
> hardware.
> 
> These pvrusb2-driver devices are never USB-powered - they always require 
> an external power brick to run.  The reason for this is that the mpeg 
> encoder chip needs a lot of juice to do its job.  It is likely the 
> hottest part inside the box.  So if, for example, the box might be 
> getting too warm, then it's reasonable to suspect that the first chip to 
> be affected by it will in fact be the encoder chip.  The encoder chip is 
> what is crashing on you...
> 
> If your tuner is already out of warranty, a good experiment I'd probably 
> try is to run it with the top removed and a fan blowing air across it.  
> This wouldn't really be a "fix", but if having the air flowing across 
> the board seems to lower the probability of these crashes then I'd say 
> you've got a pretty strong datapoint that it's getting too hot.
> 
> If you can run your tuner under Windows (yeah, I know, a pain), you can 
> also diagnose bad hardware if running it under Windows also results in 
> periodic failures.  (However the inverse may not be true - it could be 
> marginal hardware that only dies when driven hard enough and the two 
> software environments - Linux vs Windows - are certainly going to be 
> driving it differently.)
> 
> 
> > 
> > And if a hardware problem is detectable and there is a way to work
> > around it (by re-initializing it) that's fine as well.
> 
> Well the driver is already doing some of that re-initialization...
> 
>   -Mike
> 
> 




More information about the pvrusb2 mailing list