[pvrusb2] PVR USB2 - how to check if it's dead?

Mike Isely isely at isely.net
Wed Dec 19 09:40:08 CST 2012


On Mon, 17 Dec 2012, Helmut Jarausch wrote:

> On 12/10/2012 08:13:56 PM, Mike Isely wrote:
> > 
> 
> Hi Mike,
> 
> first I have noticed that there are 2 different versions
> of v4l-cx2341x-enc.fw, one of
> length  376836    md5sum = 9b39b3d3bba1ce2da40f82ef0c50ef48
> and another one of
> length 262144     md5sum = 2c97465a4528807709301899630ba0e1
> 
> Now, I have used this second one.

Actually there's more than two.  But all versions I've encountered are 
known to work equally well with the driver.


> 
> Furthermore, stragely enough, I have to run xawtv once.
> Although this doesn't show any video, a subsequent vlc does work!

WTF?  That definitely has not been the case in the past.  It makes me 
wonder if there's been some surrounding breakage / change in V4L2 that 
is causing a problem.


> 
> I have traced the ioctl calls of xawtv, here they are:
> 
> open("/dev/video0", O_RDWR)             = 4
> ioctl(4, VIDIOC_QUERYCAP or VT_OPENQRY, 0x798370) = 0
> fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
> ioctl(4, VIDIOC_ENUMINPUT, 0x7984a8)    = 0
> ioctl(4, VIDIOC_ENUMSTD, 0x7989a8)      = 0
> ioctl(4, VIDIOC_ENUM_FMT or VT_SETMODE, 0x798e28) = 0
> ioctl(4, VIDIOC_G_PARM, 0x7983d8)       = 0
> ioctl(4, VIDIOC_QUERYCTRL, 0x799628)    = 0
> 
> ioctl(4, VIDIOC_G_STD, 0x7fff1f1e0b20)  = 0
> ioctl(4, VIDIOC_G_INPUT, 0x7fff1f1e0b2c) = 0
> ioctl(4, VIDIOC_G_TUNER, 0x7fff1f1e0ab0) = 0
> ioctl(4, VIDIOC_G_CTRL, 0x7fff1f1e0b10) = 0
> 
> ioctl(4, VIDIOC_G_CTRL, 0x7fff1f1e0b20) = 0
> 
> ioctl(4, VIDIOC_S_FMT or VT_RELDISP, 0x79a748) = 0
> ioctl(4, VIDIOC_G_FREQUENCY, 0x7fff1f1e0b50) = 0
> 
> Which one could be the important one?

Well they're all important, but I can decode them just from the info 
above.  That third argument is a pointer to a struct, for example.


> 
> Any other explanation?

Do you have mplayer laying around somewhere?  I think you need to try 
the scenario that I know should always work.  Then we can expand out 
from that:

1. Plug in the device.

2. Attach a video source to the composite (or s-video) input.  For 
example a DVD player...

3. Use the sysfs interface to ensure that the input is selected as 
composite (or s-video if that's what you're using).

4. Now do: "cat /dev/video0 >/tmp/foo.mpg", wait about 10 seconds then 
interrupt it.  (Note: If you have multiple V4L2 devices attached then it 
might /dev/video1 or something similar instead of /dev/video0.)

5. Is /tmp/foo.mpg non-zero in length?  Does "mplayer /tmp/foo.mpg" 
work?

That exact scenario I've done countless times in the past.  If it works 
for you as well, then we can start throwing in other things until it 
breaks, and then see what's different.  If it doesn't work for you, then 
there's either something wrong in your setup (which right now seems 
unlikely) or there's new breakage that I have to investigate.

  -Mike


-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8


More information about the pvrusb2 mailing list