From owner-freebsd-multimedia@FreeBSD.ORG Sat Jul 24 15:48:41 2010 Return-Path: Delivered-To: freebsd-multimedia@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B3BA1065670 for ; Sat, 24 Jul 2010 15:48:41 +0000 (UTC) (envelope-from nox@jelal.kn-bremen.de) Received: from smtp.kn-bremen.de (gelbbaer.kn-bremen.de [78.46.108.116]) by mx1.freebsd.org (Postfix) with ESMTP id 480868FC16 for ; Sat, 24 Jul 2010 15:48:41 +0000 (UTC) Received: by smtp.kn-bremen.de (Postfix, from userid 10) id 4E2361E006E2; Sat, 24 Jul 2010 17:48:40 +0200 (CEST) Received: from triton8.kn-bremen.de (noident@localhost [127.0.0.1]) by triton8.kn-bremen.de (8.14.4/8.14.3) with ESMTP id o6OFj0g0006900 for ; Sat, 24 Jul 2010 17:45:00 +0200 (CEST) (envelope-from nox@triton8.kn-bremen.de) Received: (from nox@localhost) by triton8.kn-bremen.de (8.14.4/8.14.3/Submit) id o6OFj086006899 for freebsd-multimedia@FreeBSD.org; Sat, 24 Jul 2010 17:45:00 +0200 (CEST) (envelope-from nox) From: Juergen Lock Date: Sat, 24 Jul 2010 17:44:59 +0200 To: freebsd-multimedia@FreeBSD.org Message-ID: <20100724154459.GA5755@triton8.kn-bremen.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Cc: Subject: usb tuners that don't immediately work with webcamd X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Jul 2010 15:48:41 -0000 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)");