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>