[pvrusb2] Terratec Grabster AV400 on 2.6.39

Albert ARIBAUD albert.aribaud at free.fr
Mon Jun 13 13:12:50 CDT 2011


Le 13/06/2011 14:37, Albert ARIBAUD a écrit :
> Le 13/06/2011 14:22, Sven Barth a écrit :
>
>>> So I'm planning to clone an AV 450 config struct from the AV 400 one in
>>> pvrusb2 and see what gives, but if anyone has already done it, just let
>>> me know. :)
>>
>> I haven't done it, but I have a first suggestion for you:
>>
>> In pvrusb2-devattr.c in the array pvr2_device_table you could copy the
>> following entry (located at the end of the array):
>>
>> { USB_DEVICE(0x0ccd, 0x0039),
>> .driver_info = (kernel_ulong_t)&pvr2_device_av400},
>>
>> And replace the second value in "USB_DEVICE" with the device ID of your
>> AV450 (check with lsusb).
>>
>> If the two devices are similar technically as well then this should
>> already be it. ;)
>
> Thanks Sven. I'm already pulling the .39 kernel right now and will try
> what you suggest as soon as I can.

Alright, so I did locate in pvrusb2-devattr.c the lines:

         { USB_DEVICE(0x0ccd, 0x0039),
           .driver_info = (kernel_ulong_t)&pvr2_device_av400},

... and appended:
         { USB_DEVICE(0x0ccd, 0x10a8),
           .driver_info = (kernel_ulong_t)&pvr2_device_av400},

Where 0x10a8 is my AV 450MX USB device ID. Here is the verdict:

It works. :)

More precisely, I can select the video input between composite (0) and 
s-video (1) (there's only one audio input, so no selection there) and 
mplayer /dev/video1 will play the audio and relevant video, out of the 
box. I haven't played with standards though.

So now the simplest path is probably to slightly modify the name in the 
AV 400 struct to something like "AV 4x0MX" or "AV 400MX/450MX" or...

For info, below is the dmesg. It does complain at first about the device 
appearing to be jammed, then it is as though the device disconnects and 
reconnects, then the driver proceeds ok, except for a warning about 
0x0000 not being a valid video input -- yet mplayer works at once (and 
'0' seems like a valid video input according to v4l2-ctl).

Amicalement,
Albert.

[  432.289759] usb 2-1.1: new high speed USB device number 7 using ehci_hcd
[  432.522114] pvrusb2: Hardware description: Terratec Grabster AV400
[  432.522117] pvrusb2: **********
[  432.522119] pvrusb2: WARNING: Support for this device (Terratec 
Grabster AV400) is experimental.
[  432.522129] pvrusb2: Important functionality might not be entirely 
working.
[  432.522130] pvrusb2: Please consider contacting the driver author to 
help with further stabilization of the driver.
[  432.522132] pvrusb2: **********
[  434.427976] usbcore: registered new interface driver pvrusb2
[  434.427987] pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 
MPEG2 Encoder/Tuner
[  434.427996] pvrusb2: Debug mask is 31 (0x1f)
[  434.431100] pvrusb2: control-write URB failure, status=-71
[  434.431108] pvrusb2: Device being rendered inoperable
[  434.431119] pvrusb2: ***WARNING*** pvrusb2 device hardware appears to 
be jammed and I can't clear it.
[  434.431127] pvrusb2: You might need to power cycle the pvrusb2 device 
in order to recover.
[  434.612846] usb 2-1.1: USB disconnect, device number 7
[  436.379803] usb 2-1.1: new high speed USB device number 8 using ehci_hcd
[  436.492574] pvrusb2: Hardware description: Terratec Grabster AV400
[  436.492584] pvrusb2: **********
[  436.492590] pvrusb2: WARNING: Support for this device (Terratec 
Grabster AV400) is experimental.
[  436.492597] pvrusb2: Important functionality might not be entirely 
working.
[  436.492603] pvrusb2: Please consider contacting the driver author to 
help with further stabilization of the driver.
[  436.492610] pvrusb2: **********
[  436.526017] cx25840 21-0044: cx25837-3 found @ 0x88 (pvrusb2_a)
[  436.531047] pvrusb2: Attached sub-driver cx25840
[  436.596257] pvrusb2: Supported video standard(s) reported available 
in hardware: PAL-B/B1/D/D1/G/H/I/K/M/N/Nc/60;NTSC-M/
[  436.596278] pvrusb2: Mapping standards mask=0xffffff 
(PAL-B/B1/D/D1/G/H/I/K/M/N/Nc/60;NTSC-M/Mj/443/Mk;SECAM-B/D/G/H/K/K1/L/LC)
[  436.596286] pvrusb2: Setting up 28 unique standard(s)
[  436.596294] pvrusb2: Set up standard idx=0 name=PAL-B/G
[  436.596299] pvrusb2: Set up standard idx=1 name=PAL-D/K
[  436.596305] pvrusb2: Set up standard idx=2 name=SECAM-B/G
[  436.596310] pvrusb2: Set up standard idx=3 name=SECAM-D/K
[  436.596315] pvrusb2: Set up standard idx=4 name=PAL-B
[  436.596320] pvrusb2: Set up standard idx=5 name=PAL-B1
[  436.596325] pvrusb2: Set up standard idx=6 name=PAL-G
[  436.596330] pvrusb2: Set up standard idx=7 name=PAL-H
[  436.596334] pvrusb2: Set up standard idx=8 name=PAL-I
[  436.596339] pvrusb2: Set up standard idx=9 name=PAL-D
[  436.596344] pvrusb2: Set up standard idx=10 name=PAL-D1
[  436.596349] pvrusb2: Set up standard idx=11 name=PAL-K
[  436.596354] pvrusb2: Set up standard idx=12 name=PAL-M
[  436.596358] pvrusb2: Set up standard idx=13 name=PAL-N
[  436.596363] pvrusb2: Set up standard idx=14 name=PAL-Nc
[  436.596368] pvrusb2: Set up standard idx=15 name=PAL-60
[  436.596373] pvrusb2: Set up standard idx=16 name=NTSC-M
[  436.596378] pvrusb2: Set up standard idx=17 name=NTSC-Mj
[  436.596383] pvrusb2: Set up standard idx=18 name=NTSC-443
[  436.596388] pvrusb2: Set up standard idx=19 name=NTSC-Mk
[  436.596393] pvrusb2: Set up standard idx=20 name=SECAM-B
[  436.596398] pvrusb2: Set up standard idx=21 name=SECAM-D
[  436.596402] pvrusb2: Set up standard idx=22 name=SECAM-G
[  436.596407] pvrusb2: Set up standard idx=23 name=SECAM-H
[  436.596412] pvrusb2: Set up standard idx=24 name=SECAM-K
[  436.596417] pvrusb2: Set up standard idx=25 name=SECAM-K1
[  436.596422] pvrusb2: Set up standard idx=26 name=SECAM-L
[  436.596427] pvrusb2: Set up standard idx=27 name=SECAM-LC
[  436.596432] pvrusb2: Initial video standard auto-selected to PAL-B/G
[  436.596451] pvrusb2: Device initialization completed successfully.
[  436.596633] pvrusb2: registered device video1 [mpeg]
[  436.998371] cx25840 21-0044: 0x0000 is not a valid video input!


More information about the pvrusb2 mailing list