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