usb tuners that don't immediately work with webcamd
Juergen Lock
nox at jelal.kn-bremen.de
Sat Aug 21 20:28:22 UTC 2010
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
Index: ulinux/Makefile
===================================================================
--- ulinux/Makefile (revision 1618)
+++ ulinux/Makefile (working copy)
@@ -547,6 +548,158 @@
CFLAGS+= -g
.endif
+# XXX
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MAX2165
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MC44S803
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MC44S803
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MT2060
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MT20XX
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MT2131
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MT2266
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MXL5005S
+CFLAGS+= -DCONFIG_MEDIA_TUNER_MXL5007T
+CFLAGS+= -DCONFIG_MEDIA_TUNER_QT1010
+CFLAGS+= -DCONFIG_MEDIA_TUNER_TDA18271
+CFLAGS+= -DCONFIG_MEDIA_TUNER_TDA827X
+CFLAGS+= -DCONFIG_MEDIA_TUNER_TDA8290
+CFLAGS+= -DCONFIG_MEDIA_TUNER_TDA9887
+CFLAGS+= -DCONFIG_MEDIA_TUNER_TEA5761
+CFLAGS+= -DCONFIG_MEDIA_TUNER_TEA5767
+CFLAGS+= -DCONFIG_MEDIA_TUNER_XC5000
+CFLAGS+= -DCONFIG_DVB_DIB3000MC
+CFLAGS+= -DCONFIG_DVB_AT76C651
+CFLAGS+= -DCONFIG_DVB_ATBM8830
+CFLAGS+= -DCONFIG_DVB_AU8522
+CFLAGS+= -DCONFIG_DVB_BCM3510
+CFLAGS+= -DCONFIG_DVB_CX22700
+CFLAGS+= -DCONFIG_DVB_CX22702
+CFLAGS+= -DCONFIG_DVB_CX24110
+CFLAGS+= -DCONFIG_DVB_TUNER_CX24113
+CFLAGS+= -DCONFIG_DVB_CX24116
+CFLAGS+= -DCONFIG_DVB_CX24123
+CFLAGS+= -DCONFIG_DVB_TUNER_DIB0090
+CFLAGS+= -DCONFIG_DVB_DIB3000MB
+CFLAGS+= -DCONFIG_DVB_DIB3000MC
+CFLAGS+= -DCONFIG_DVB_DIB7000M
+CFLAGS+= -DCONFIG_DVB_DIB7000P
+CFLAGS+= -DCONFIG_DVB_DIB8000
+CFLAGS+= -DCONFIG_DVB_DRX397XD
+CFLAGS+= -DCONFIG_DVB_PLL
+CFLAGS+= -DCONFIG_DVB_EC100
+CFLAGS+= -DCONFIG_DVB_ISL6405
+CFLAGS+= -DCONFIG_DVB_ISL6421
+CFLAGS+= -DCONFIG_DVB_ISL6423
+CFLAGS+= -DCONFIG_DVB_TUNER_ITD1000
+CFLAGS+= -DCONFIG_DVB_L64781
+CFLAGS+= -DCONFIG_DVB_LGDT3304
+CFLAGS+= -DCONFIG_DVB_LGDT3305
+CFLAGS+= -DCONFIG_DVB_LGDT330X
+CFLAGS+= -DCONFIG_DVB_LGS8GL5
+CFLAGS+= -DCONFIG_DVB_LGS8GXX
+CFLAGS+= -DCONFIG_DVB_LNBP21
+CFLAGS+= -DCONFIG_DVB_MB86A16
+CFLAGS+= -DCONFIG_DVB_MT312
+CFLAGS+= -DCONFIG_DVB_MT352
+CFLAGS+= -DCONFIG_DVB_NXT200X
+CFLAGS+= -DCONFIG_DVB_NXT6000
+CFLAGS+= -DCONFIG_DVB_OR51132
+CFLAGS+= -DCONFIG_DVB_OR51211
+CFLAGS+= -DCONFIG_DVB_S5H1409
+CFLAGS+= -DCONFIG_DVB_S5H1411
+CFLAGS+= -DCONFIG_DVB_S5H1420
+CFLAGS+= -DCONFIG_DVB_S921
+CFLAGS+= -DCONFIG_DVB_SI21XX
+CFLAGS+= -DCONFIG_DVB_SP8870
+CFLAGS+= -DCONFIG_DVB_SP887X
+CFLAGS+= -DCONFIG_DVB_STB0899
+CFLAGS+= -DCONFIG_DVB_STB6000
+CFLAGS+= -DCONFIG_DVB_STB6100
+CFLAGS+= -DCONFIG_DVB_STV0288
+CFLAGS+= -DCONFIG_DVB_STV0297
+CFLAGS+= -DCONFIG_DVB_STV0299
+CFLAGS+= -DCONFIG_DVB_STV090x
+CFLAGS+= -DCONFIG_DVB_STV6110
+CFLAGS+= -DCONFIG_DVB_STV6110x
+CFLAGS+= -DCONFIG_DVB_TDA10021
+CFLAGS+= -DCONFIG_DVB_TDA10023
+CFLAGS+= -DCONFIG_DVB_TDA10048
+CFLAGS+= -DCONFIG_DVB_TDA1004X
+CFLAGS+= -DCONFIG_DVB_TDA10086
+CFLAGS+= -DCONFIG_DVB_TDA665x
+CFLAGS+= -DCONFIG_DVB_TDA8083
+CFLAGS+= -DCONFIG_DVB_TDA80XX
+CFLAGS+= -DCONFIG_DVB_TDA8261
+CFLAGS+= -DCONFIG_DVB_TDA826X
+CFLAGS+= -DCONFIG_DVB_TUA6100
+CFLAGS+= -DCONFIG_DVB_VES1820
+CFLAGS+= -DCONFIG_DVB_VES1X93
+CFLAGS+= -DCONFIG_DVB_ZL10036
+CFLAGS+= -DCONFIG_DVB_ZL10039
+CFLAGS+= -DCONFIG_DVB_ZL10353
+CFLAGS+= -DCONFIG_DVB_LNBP22
+
+CFLAGS+= -DCONFIG_VIDEO_EM28XX_DVB
+CFLAGS+= -DCONFIG_VIDEO_SAA7134_DVB_MODULE
+
+SRCS+= atbm8830.c
+SRCS+= bcm3510.c
+SRCS+= cx22700.c
+SRCS+= cx22702.c
+SRCS+= cx24113.c
+SRCS+= cx24116.c
+SRCS+= cx24123.c
+SRCS+= dib0090.c
+SRCS+= dib3000mb.c
+SRCS+= dib7000m.c
+SRCS+= dib8000.c
+SRCS+= dvb-pll.c
+SRCS+= ec100.c
+SRCS+= isl6421.c
+SRCS+= itd1000.c
+SRCS+= lgdt3305.c
+SRCS+= lgdt330x.c
+SRCS+= lgs8gxx.c
+SRCS+= lnbp21.c
+SRCS+= max2165.c
+SRCS+= mc44s803.c
+SRCS+= mt2266.c
+SRCS+= mt352.c
+SRCS+= mxl5007t.c
+SRCS+= nxt200x.c
+SRCS+= nxt6000.c
+SRCS+= qt1010.c
+SRCS+= s5h1409.c
+SRCS+= s5h1411.c
+SRCS+= s5h1420.c
+SRCS+= si21xx.c
+SRCS+= stb6000.c
+SRCS+= stv0297.c
+SRCS+= stv0299.c
+SRCS+= tda10023.c
+SRCS+= tda10048.c
+SRCS+= tda1004x.c
+SRCS+= tda10086.c
+SRCS+= tda18271-fe.c
+SRCS+= tda8083.c
+SRCS+= tda826x.c
+SRCS+= tda827x.c
+SRCS+= tda8290.c
+SRCS+= ves1820.c
+SRCS+= xc5000.c
+SRCS+= zl10039.c
+SRCS+= zl10353.c
+SRCS+= tda18271-common.c
+SRCS+= tda18271-maps.c
+
+# these don't build:
+#
+# CFLAGS+= -DCONFIG_MEDIA_TUNER_SIMPLE
+# SRCS+= tuner-simple.c
+# CFLAGS+= -DCONFIG_MEDIA_TUNER_XC2028
+# SRCS+= tuner-xc2028.c
+# CFLAGS+= -DCONFIG_DVB_STV0900
+# SRCS+= stv0900_core.c
+
CFLAGS+= -include webcamd_global.h
CFLAGS+= -O2 -Wall -Wno-pointer-sign
More information about the freebsd-multimedia
mailing list