[pvrusb2] Grabster AV400 and TS support..

Andrea Venturi a.venturi at avalpa.com
Wed Oct 2 16:41:53 CDT 2013


hello everybody,

it's quite a long time since i've been trying to hack my Grabster AV400 
on linux..

http://www.isely.net/pipermail/pvrusb2/2007-March/001468.html

still i see it's marked experimental on mainline kernel but anyway it 
works out of the box quite smoothly.

i'm writing here because i'd like to finally test the Transport Stream 
internal generation.

i've read here and there on the web and it says it's a feature available 
only on "old" encoder firmware.

BTW i've seen that you can get an idea of a firmware version if you give 
a look at string Version inside encoder firmware, as in:

  $ strings /lib/firmware/v4l-cx2341x-enc.fw | grep Version
  Version 2.04.211
  $ md5sum /lib/firmware/v4l-cx2341x-enc.fw
  ab75947ef1b086e26f9b08e628baa02e  /lib/firmware/v4l-cx2341x-enc.fw


i've tried this 2.4.211 firmware and the stock 2.6.39

  $ strings /lib/firmware/v4l-cx2341x-enc-v2.06.039.fw | grep Version
  Version 2.06.039
  $ md5sum /lib/firmware/v4l-cx2341x-enc-v2.06.039.fw
  9b39b3d3bba1ce2da40f82ef0c50ef48 
/lib/firmware/v4l-cx2341x-enc-v2.06.039.fw

but i fail to see the transport stream item in the sysfs menu:

  root at nb3-andrea:/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2/pvrusb2/unit-a# cat ctl_stream_type/enum_val
  MPEG-2 Program Stream
  MPEG-1 System Stream
  MPEG-2 DVD-compatible Stream
  MPEG-1 VCD-compatible Stream
  MPEG-2 SVCD-compatible Stream

i don't really understand if the "capability"  CX2341X_CAP_HAS_TS is 
autosensed by the driver or has to be forced (via c code like i tried or 
via sysfs if it's at least present in the enum_val list).

===========
int pvr2_encoder_configure(struct pvr2_hdw *hdw)
{
         int ret;
         int val;
         pvr2_trace(PVR2_TRACE_ENCODER,"pvr2_encoder_configure"
                    " (cx2341x module)");
         hdw->enc_ctl_state.port = CX2341X_PORT_STREAMING;
         hdw->enc_ctl_state.width = hdw->res_hor_val;
         /* 20131002 aventuri: forcing TS support for testing old 
2.4.211 fw */
         hdw->enc_ctl_state.capabilities = CX2341X_CAP_HAS_TS;
         ....
===========

i've some difficult to follow the logic between pvrusb2-encoder.c and 
cx2341x.c, BTW sometime it seems to me they do have overlapped functions 
and it's not clear which is the one called in this case (i suppose the 
driver push for its own implementation "pvrusb-*".

after this first stab at the task, i though it would be more effective 
to ask proficient folks (Mike, are you still there? this list seems a 
bit frozen) here for hints/comment.

so the first questions:

- has TS support been scrapped from the pvrusb2 driver?
- which is one firmware version known to be available for my tests
- is the TS support to be manually enabled in the pvrusb2 driver or 
there's some kind of autosensing,

finaly what it the problem for the Grabster to still stay in 
experimental mode? jsut missing QA?

maybe i can help here consolidate the code and finally take away that 
message on "dmesg" that talks about "helping developers clean the rug!"

  bests

Andrea



More information about the pvrusb2 mailing list