usb tuners that don't immediately work with webcamd
Juergen Lock
nox at jelal.kn-bremen.de
Sat Jul 24 18:37:51 UTC 2010
On Sat, Jul 24, 2010 at 05:44:59PM +0200, Juergen Lock wrote:
> Since I've now done this for the third time...
>
> If your usb tuner doesn't immediately work with webcamd (no device
> node gets created or /dev/dvb/adapterX/frontend0 is missing in case
> of dvb or the device is just not tuning/receiving), there may only
> be some Linux driver(s) not enabled i.e. a simple webcamd Makefile
> patch like this may be all that's needed:
>
> Index: ulinux/Makefile
> ===================================================================
> --- ulinux/Makefile (revision 1592)
> +++ ulinux/Makefile (working copy)
> @@ -462,6 +462,10 @@
> SRCS+= flexcop-usb.c
> SRCS+= flexcop.c
>
> +SRCS+= dib7000p.c
> +CFLAGS+= -DCONFIG_DVB_DIB7000P
> +SRCS+= mt2060.c
> +CFLAGS+= -DCONFIG_MEDIA_TUNER_MT2060
> #
> # Various webcams
> #
>
> How to find out which driver is missing? webcamd svn now has a
> HAVE_DEBUG knob, i.e. in hps' svn instructions here:
>
> http://www.selasky.org/hans_petter/video4bsd/
>
> replace
>
> make -j3 all
>
> with:
>
> make HAVE_DEBUG=YES -j3 all
>
> then the resulting webcamd will show Linux driver's debug output.
> If in those you see messages like:
>
> dib7000pc_detection: driver disabled by Kconfig
>
> you may be lucky: grep for that symbol - i.e. dib7000pc_detection
> in this case - in ulinux/v4l-dvb/linux/drivers/media/ and
> look which .c source file defines it (there should be a
> EXPORT_SYMBOL() around it, in this case it was in
> ulinux/v4l-dvb/linux/drivers/media/dvb/frontends/dib7000p.c ) and
> which CONFIG_xxx definition is needed - in this case there was an
>
> #if defined(CONFIG_DVB_DIB7000P) ...
>
> in ulinux/v4l-dvb/linux/drivers/media/dvb/frontends/dib7000p.h .
>
> Add those to ulinux/Makefile as in the patch above, do
>
> rm ulinux/*.o
>
> for good measure and then do another
>
> make HAVE_DEBUG=YES -j3 all
>
> and repeat. (In this case it turned out that also the mt2060 tuner
> driver was missing.)
>
> Good luck!
> Juergen
>
> PS: This particular device was an `EyeTV for DTT' tuner that comes
> up as 'Hauppauge Nova-T Stick' (hi callum! :), but apparently with
> this specific model there are still (I guess) Linux driver issues,
> it only got poor reception while on the same antenna on osx and
> using the `EyeTV' software that came with it reception was alright;
> even enabling a module_param called `buggy_sfn_workaround' that
> came up on a web search (and currently has to be hardcoded with
> webcamd) didn't really help there:
>
> --- ulinux/v4l-dvb/linux/drivers/media/dvb/frontends/dib7000p.c
> +++ ulinux/v4l-dvb/linux/drivers/media/dvb/frontends/dib7000p.c.orig
> @@ -24,7 +24,7 @@ static int debug;
> module_param(debug, int, 0644);
> MODULE_PARM_DESC(debug, "turn on debugging (default: 0)");
>
> -static int buggy_sfn_workaround;
> +static int buggy_sfn_workaround = 1;
> module_param(buggy_sfn_workaround, int, 0644);
> MODULE_PARM_DESC(buggy_sfn_workaround, "Enable work-around for buggy SFNs (default: 0)");
>
I forgot to say:
Someone(tm) may want to grep for '#if.*defined(CONFIG_' and try
to enable the remaining drivers that aren't yet... (and then only
disable those that don't build with webcamd.)
Cheers,
Juergen
More information about the freebsd-multimedia
mailing list