[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