See below... On Thu, 16 Jun 2011, Magnus Ekhall wrote:
> Hello, > > I'm using the pvrusb2 driver (excellent work by the way!) to use a > Hauppauge HVR-1900 model 73xxx. > > The driver identifies the tuner (TDA18271HD/C2), the demodulator > (cx25840) at boot and generally everything works great. > > However approx. once per week something odd happens. When mythtv tries > to use the analogue tuner there is no data coming out of /dev/video0. > > Not even if I cat /dev/video0 I get anything in that case. Those two symptoms are consistent - if cat doesn't work then mythtv won't be able to stream from it either. > > I've even tried to reload the pvrusb2 driver and yanking the USB-cable. > > The only thing that works is a reboot. Power-cycling just the tuner *should* also clear things up. But you should not even need to do that. Read further... > > Now, that sounds a bit like the mystery bug written on the FAQ, but I'm > not sure. > > Also, I know that pvrusb2 is sort of a higher level driver which uses > sub-drivers, so maybe I'm at the wrong forum here... > > Anyway, the problem is really annoying, so any input is most welcome! > > In the kernel log there are a message that I believe might have > something to do with the issue: > > " > May 1 08:49:33 digimatrix kernel: [383494.928478] pvrusb2: > ***WARNING*** device's encoder appears to be stuck (status=0x00000003) > May 1 08:49:33 digimatrix kernel: [383494.928485] pvrusb2: Encoder > command: 0x81 > May 1 08:49:33 digimatrix kernel: [383494.928489] 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. > " This is a longstanding behavior in the driver. What's happening here is that the pvrusb2 driver has detected that the mpeg encoder chip has stopped responding. That chip is its own processor with a firmware program that gets loaded to it. When (if) it crashes this is the result. The pvrusb2 driver detects this situation and prints the warning to the kernel log. But the recovery is (should be) automatic - other logic in the driver then resets the mpeg encoder, sends it a fresh firmware image, and restarts it for you. (Actually what happens is that the driver marks internal state to track what it thinks has happened, e.g. dead mpeg encoder, and then the driver's normal internal state machine just sequences whatever steps it thinks are needed to bring the video pipeline back up into a working condition.) This is normally what is supposed to happen. You should see further messages in the kernel log as the driver reinitializes the encoder. Do you see that? The "concern" mentioned there is if the recovery is attempted and then the chip immediately crashes again (or perhaps just fails to start). "Normally" that never happens. Of course if the hardware is misbevaing or if it is overheating then well anything is possible. > > > I don't know how to reload the firmware and do a re-initialization. I > assume a modprobe -r would do that? In that case this does not help me. If the hardware is truly fouled up, then reloading the driver might not help. But power-cycling the tuner would probably clear it up. But the driver should be recovering this for you automatically... -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
