Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Aug 2010 23:28:13 +0200
From:      Hans Petter Selasky <hselasky@freebsd.org>
To:        freebsd-multimedia@freebsd.org
Cc:        Juergen Lock <nox@jelal.kn-bremen.de>
Subject:   Re: usb tuners that don't immediately work with webcamd
Message-ID:  <201008212328.13612.hselasky@freebsd.org>
In-Reply-To: <20100821202717.GA44864@triton8.kn-bremen.de>
References:  <20100724154459.GA5755@triton8.kn-bremen.de> <20100724160514.GA7452@triton8.kn-bremen.de> <20100821202717.GA44864@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 21 August 2010 22:27:17 Juergen Lock wrote:
> On Sat, Jul 24, 2010 at 06:05:14PM +0200, Juergen Lock wrote:
> > 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.)
> 
> Ok so I finally looked at this myself:  (patch against webcamd svn
> which already has some missing drivers added so it doesn't work as is
> for the version currently in ports; some of the -DCONFIG_foo I added
> may not be relevant and three drivers didn't build.)
> 
>  Patch also at:
> 
> 	http://people.freebsd.org/~nox/tmp/webcamd-moretuners.patch
> 
>  See further up in the quoted parts of this message about how to
> build webcamd svn...
> 
>  Enjoy,
> 	Juergen

Hi,

Committed to r1621 w/ some modifications. Please svn up and verify that I did 
it right.

The files that didn't compile I fixed.

Thanks for the patch!

--HPS



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