Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Jul 2010 17:44:59 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        freebsd-multimedia@FreeBSD.org
Subject:   usb tuners that don't immediately work with webcamd
Message-ID:  <20100724154459.GA5755@triton8.kn-bremen.de>

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



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