usb tuners that don't immediately work with webcamd

Juergen Lock nox at
Sat Jul 24 15:48:41 UTC 2010

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
+SRCS+= mt2060.c
 # 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:


	make -j3 all


	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!

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)");

More information about the freebsd-multimedia mailing list