From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 8 19:37:00 2011 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 6253D1065674 for ; Sat, 8 Jan 2011 19:37:00 +0000 (UTC) (envelope-from gallatin@gmail.com) Received: from mail-yi0-f54.google.com (mail-yi0-f54.google.com [209.85.218.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2202B8FC19 for ; Sat, 8 Jan 2011 19:36:59 +0000 (UTC) Received: by yie19 with SMTP id 19so5322946yie.13 for ; Sat, 08 Jan 2011 11:36:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=336pRwsS96Z8aRy1kzGit3P+tRuMXwOuAmbuSZVSGbE=; b=BBgW4pgnI9MFwlutUtce89jvAy+Ay5TRKqX/VxPH/L+6+P/u+PtLNISAMB2LtVbduH fJ3dcmXqHOrneMkbMTD4dZy1Ch2zyVjuTX2mEtl5G9KiSjHTDlmziw+ODJoflEZzc+VF Px6nb6fE2V8bC7mTWPUv6kJGlMPK2fHXc1aGc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=UB8LafS+OLg3MoL1KgJCkh8A4O2Fir8gkRMENcmc0MnS6ZE1Ygm4w3emkrpm9lgOob +3hG/d3XW3oFFcxjpuZhAfMwRVYecqwN0YSvY5+RGVGeKzK1k3+oKHBbE+T36yFiwKWv tl7F+mqNif56Vg9JYSyeeeG4YM2NYMb/UwEYA= MIME-Version: 1.0 Received: by 10.100.163.12 with SMTP id l12mr2977329ane.160.1294513871295; Sat, 08 Jan 2011 11:11:11 -0800 (PST) Received: by 10.100.248.15 with HTTP; Sat, 8 Jan 2011 11:11:11 -0800 (PST) Date: Sat, 8 Jan 2011 14:11:11 -0500 Message-ID: From: Andrew Gallatin To: freebsd-multimedia@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: em28xx? 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, 08 Jan 2011 19:37:00 -0000 Hi, I was pointed to the webcamd / cuse4bsd project as a way to run a DVB based device on FreeBSD. I have a Kworld UB435Q (em28xx, lgdt3305 demod): % sudo usbconfig -d 4.2 ugen4.2: at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON Unfortunately, this does not seem to be supported by the webcamd project, as the em28xx driver is not compiled in. When I naively try to compile it by uncommenting the 'SRC+= em28xx-*c' lines in webcamd's Makefile, the build fails spectacularly (see appended output). Has anybody tried this before? What are the general steps for porting a driver? Thanks, Drew % make | head Warning: Object directory not changed from original /tank/ports/multimedia/webcamd/work/webcamd-0.1.18 cc -O2 -pipe -DNO_MALLOC_EXTRAS -D_GNU_SOURCE -DCONFIG_USB_GSPCA -DCONFIG_USB_GSPCA_SONIXB -DCONFIG_USB_GSPCA_SONIXJ -DCONFIG_USB_GSPCA_ZC3XX -DCONFIG_DVB_AF9013 -DCONFIG_MEDIA_TUNER_MXL5005S -DCONFIG_DVB_STV0288 -DCONFIG_DVB_MT312 -DCONFIG_DVB_DS3000 -DCONFIG_DVB_STB0899 -DCONFIG_DVB_STB6100 -DCONFIG_DVB_LNBP22 -DCONFIG_DVB_TUNER_DIB0070 -DCONFIG_DVB_DIB7000P -DCONFIG_MEDIA_TUNER_MT2060 -DBITS_PER_LONG=64 -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/dummy -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/headers -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/gspca -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/hdpvr -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/common/tuners -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/dvb/dvb-core -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/dvb/frontends -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/dvb/dvb-usb -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18 -I/tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/dvb/ttpci -DLINUX -DCONFIG_INPUT -DCONFIG_VIDEO_V4L1_COMPAT -DCONFIG_DVB_DIB3000MC -DCONFIG_VIDEO_PVRUSB2_DVB -DCONFIG_I2C -DCONFIG_DVB_CORE -DCONFIG_AS102_USB -DCONFIG_FW_LOADER -DHAVE_WEBCAMD -DCONFIG_DVB_AT76C651 -DCONFIG_DVB_ATBM8830 -DCONFIG_DVB_AU8522 -DCONFIG_DVB_BCM3510 -DCONFIG_DVB_CX22700 -DCONFIG_DVB_CX22702 -DCONFIG_DVB_CX24110 -DCONFIG_DVB_CX24116 -DCONFIG_DVB_CX24123 -DCONFIG_DVB_DIB3000MB -DCONFIG_DVB_DIB3000MC -DCONFIG_DVB_DIB3000MC -DCONFIG_DVB_DIB7000M -DCONFIG_DVB_DIB7000P -DCONFIG_DVB_DIB8000 -DCONFIG_DVB_DRX397XD -DCONFIG_DVB_EC100 -DCONFIG_DVB_ISL6405 -DCONFIG_DVB_ISL6421 -DCONFIG_DVB_ISL6423 -DCONFIG_DVB_L64781 -DCONFIG_DVB_LGDT3304 -DCONFIG_DVB_LGDT3305 -DCONFIG_DVB_LGDT330X -DCONFIG_DVB_LGS8GL5 -DCONFIG_DVB_LGS8GXX -DCONFIG_DVB_LNBP21 -DCONFIG_DVB_LNBP22 -DCONFIG_DVB_MB86A16 -DCONFIG_DVB_MT312 -DCONFIG_DVB_MT352 -DCONFIG_DVB_NXT200X -DCONFIG_DVB_NXT6000 -DCONFIG_DVB_OR51132 -DCONFIG_DVB_OR51211 -DCONFIG_DVB_PLL -DCONFIG_DVB_S5H1409 -DCONFIG_DVB_S5H1411 -DCONFIG_DVB_S5H1420 -DCONFIG_DVB_S921 -DCONFIG_DVB_SI21XX -DCONFIG_DVB_SP8870 -DCONFIG_DVB_SP887X -DCONFIG_DVB_STB0899 -DCONFIG_DVB_STB6000 -DCONFIG_DVB_STB6100 -DCONFIG_DVB_STV0288 -DCONFIG_DVB_STV0297 -DCONFIG_DVB_STV0299 -DCONFIG_DVB_STV0900 -DCONFIG_DVB_STV090x -DCONFIG_DVB_STV6110 -DCONFIG_DVB_STV6110x -DCONFIG_DVB_TDA10021 -DCONFIG_DVB_TDA10023 -DCONFIG_DVB_TDA10048 -DCONFIG_DVB_TDA1004X -DCONFIG_DVB_TDA10086 -DCONFIG_DVB_TDA665x -DCONFIG_DVB_TDA8083 -DCONFIG_DVB_TDA80XX -DCONFIG_DVB_TDA8261 -DCONFIG_DVB_TDA826X -DCONFIG_DVB_TUA6100 -DCONFIG_DVB_TUNER_CX24113 -DCONFIG_DVB_TUNER_DIB0090 -DCONFIG_DVB_TUNER_ITD1000 -DCONFIG_DVB_VES1820 -DCONFIG_DVB_VES1X93 -DCONFIG_DVB_ZL10036 -DCONFIG_DVB_ZL10039 -DCONFIG_DVB_ZL10353 -DCONFIG_MEDIA_TUNER_MAX2165 -DCONFIG_MEDIA_TUNER_MC44S803 -DCONFIG_MEDIA_TUNER_MC44S803 -DCONFIG_MEDIA_TUNER_MT2060 -DCONFIG_MEDIA_TUNER_MT20XX -DCONFIG_MEDIA_TUNER_MT2131 -DCONFIG_MEDIA_TUNER_MT2266 -DCONFIG_MEDIA_TUNER_MXL5005S -DCONFIG_MEDIA_TUNER_MXL5007T -DCONFIG_MEDIA_TUNER_QT1010 -DCONFIG_MEDIA_TUNER_SIMPLE -DCONFIG_MEDIA_TUNER_TDA18271 -DCONFIG_MEDIA_TUNER_TDA827X -DCONFIG_MEDIA_TUNER_TDA8290 -DCONFIG_MEDIA_TUNER_TDA9887 -DCONFIG_MEDIA_TUNER_TEA5761 -DCONFIG_MEDIA_TUNER_TEA5767 -DCONFIG_MEDIA_TUNER_XC2028 -DCONFIG_MEDIA_TUNER_XC5000 -DCONFIG_VIDEO_EM28XX_DVB -DCONFIG_VIDEO_SAA7134_DVB_MODULE -include webcamd_global.h -O2 -Wall -Wno-pointer-sign -fvisibility=hidden -I/usr/local/include -std=gnu99 -fstack-protector -c /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/em28xx/em28xx-cards.c In file included from /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include/media/ir-common.h:29, from /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include/media/ir-kbd-i2c.h:4, from /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/em28xx/em28xx.h:35, from /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/em28xx/em28xx-cards.c:42: /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include/media/ir-core.h:20:25: error: linux/kfifo.h: No such file or directory In file included from /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/em28xx/em28xx.h:38, from /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/em28xx/em28xx-cards.c:42: /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include/media/videobuf-dvb.h:7: error: redefinition of 'struct videobuf_dvb' /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include/media/videobuf-dvb.h:26: error: redefinition of 'struct videobuf_dvb_frontend' /tank/ports/multimedia/webcamd/work/webcamd-0.1.18/v4l-dvb/linux/include/media/videobuf-dvb.h:32: error: redefinition of 'struct videobuf_dvb_frontends' *** Error code 1 Stop in /tank/ports/multimedia/webcamd/work/webcamd-0.1.18.