Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Jul 2010 18:05:14 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        Juergen Lock <nox@jelal.kn-bremen.de>
Cc:        freebsd-multimedia@FreeBSD.org
Subject:   Re: usb tuners that don't immediately work with webcamd
Message-ID:  <20100724160514.GA7452@triton8.kn-bremen.de>
In-Reply-To: <20100724154459.GA5755@triton8.kn-bremen.de>
References:  <20100724154459.GA5755@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100724160514.GA7452>