From owner-freebsd-multimedia@FreeBSD.ORG Wed Dec 11 18:33:55 2013 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 093D073F for ; Wed, 11 Dec 2013 18:33:55 +0000 (UTC) Received: from smtp.kn-bremen.de (gelbbaer.kn-bremen.de [78.46.108.116]) by mx1.freebsd.org (Postfix) with ESMTP id 9E97F1A60 for ; Wed, 11 Dec 2013 18:33:54 +0000 (UTC) Received: by smtp.kn-bremen.de (Postfix, from userid 10) id 6D81F1E007BA; Wed, 11 Dec 2013 19:33:53 +0100 (CET) Received: from enceladus10.kn-bremen.de (noident@localhost [127.0.0.1]) by enceladus10.kn-bremen.de (8.14.5/8.14.5) with ESMTP id rBBIX0j2054352; Wed, 11 Dec 2013 19:33:00 +0100 (CET) (envelope-from nox@enceladus10.kn-bremen.de) Received: (from nox@localhost) by enceladus10.kn-bremen.de (8.14.5/8.14.5/Submit) id rBBIWx9m054348; Wed, 11 Dec 2013 19:32:59 +0100 (CET) (envelope-from nox) From: Juergen Lock Date: Wed, 11 Dec 2013 19:32:59 +0100 To: Hans Petter Selasky Subject: Re: New version of webcamd [3.13.0.3] ready for testing Message-ID: <20131211183259.GA54330@enceladus10.kn-bremen.de> References: <51A10BD5.1050107@bitfrost.no> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: "freebsd-multimedia@freebsd.org" , Antti Palosaari , Juergen Lock X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Dec 2013 18:33:55 -0000 On Wed, Dec 11, 2013 at 07:38:25AM +0100, Hans Petter Selasky wrote: > Hi, Hi! > > Looks like you need to fetch and revert apply this patch to webcamd: > > http://kernel.opensuse.org/cgit/kernel/commit/?id=7760e148350bf6df95662bc0db3734e9d991cb03 > Ah yes, that fixed it. Thanx! :) Juergen PS: Here is the patch I used: --- media_tree/drivers/media/usb/dvb-usb-v2/af9035.c.orig +++ media_tree/drivers/media/usb/dvb-usb-v2/af9035.c @@ -21,9 +21,6 @@ #include "af9035.h" -/* Max transfer size done by I2C transfer functions */ -#define MAX_XFER_SIZE 64 - DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); static u16 af9035_checksum(const u8 *buf, size_t len) @@ -129,16 +126,10 @@ exit: /* write multiple registers */ static int af9035_wr_regs(struct dvb_usb_device *d, u32 reg, u8 *val, int len) { - u8 wbuf[MAX_XFER_SIZE]; + u8 wbuf[6 + len]; u8 mbox = (reg >> 16) & 0xff; struct usb_req req = { CMD_MEM_WR, mbox, sizeof(wbuf), wbuf, 0, NULL }; - if (6 + len > sizeof(wbuf)) { - dev_warn(&d->udev->dev, "%s: i2c wr: len=%d is too big!\n", - KBUILD_MODNAME, len); - return -EOPNOTSUPP; - } - wbuf[0] = len; wbuf[1] = 2; wbuf[2] = 0; @@ -237,16 +228,9 @@ static int af9035_i2c_master_xfer(struct msg[1].len); } else { /* I2C */ - u8 buf[MAX_XFER_SIZE]; + u8 buf[5 + msg[0].len]; struct usb_req req = { CMD_I2C_RD, 0, sizeof(buf), buf, msg[1].len, msg[1].buf }; - - if (5 + msg[0].len > sizeof(buf)) { - dev_warn(&d->udev->dev, - "%s: i2c xfer: len=%d is too big!\n", - KBUILD_MODNAME, msg[0].len); - return -EOPNOTSUPP; - } req.mbox |= ((msg[0].addr & 0x80) >> 3); buf[0] = msg[1].len; buf[1] = msg[0].addr << 1; @@ -273,16 +257,9 @@ static int af9035_i2c_master_xfer(struct msg[0].len - 3); } else { /* I2C */ - u8 buf[MAX_XFER_SIZE]; + u8 buf[5 + msg[0].len]; struct usb_req req = { CMD_I2C_WR, 0, sizeof(buf), buf, 0, NULL }; - - if (5 + msg[0].len > sizeof(buf)) { - dev_warn(&d->udev->dev, - "%s: i2c xfer: len=%d is too big!\n", - KBUILD_MODNAME, msg[0].len); - return -EOPNOTSUPP; - } req.mbox |= ((msg[0].addr & 0x80) >> 3); buf[0] = msg[0].len; buf[1] = msg[0].addr << 1; > --HPS > > -----Original message----- > > From:Juergen Lock > > > Sent: Tuesday 10th December 2013 23:35 > > To: Hans Petter Selasky > > > Cc: freebsd-multimedia@freebsd.org ; Juergen Lock > > > Subject: Re: New version of webcamd [3.13.0.3] ready for testing > > > > On Tue, Dec 10, 2013 at 10:55:45PM +0100, Hans Petter Selasky wrote: > > > On 12/10/13 21:26, Juergen Lock wrote: > > > > On Tue, Dec 10, 2013 at 08:09:14PM +0100, Hans Petter Selasky wrote: > > > >> Hi, > > > > Hi! > > > >> > > > >> webcamd changes: > > > >> - Update to latest V4L sources > > > >> - Fix USB attach for HD-PVR driver > > > >> > > > >> cuse4bsd changes: > > > >> - Added new API function needed by webcamd. > > > >> > > > >> svn --username anonsvn --password anonsvn \ > > > >> checkout svn://svn.turbocat.net/i4b/trunk/ports > > > >> > > > >> --HPS > > > >> > > > > af9035 fails with: > > > > > > svn up > > > > > > and try again. > > > > > > Thank you! > > > > > Still I get: > > > > [...] > > INFO: : : found a 'Afatech AF9035 reference design' in cold state > > DBG: : dvb_usbv2_download_firmware: > > Loading firmware at '/boot/modules/dvb-usb-af9035-02.fw', f=7 > > INFO: : : downloading firmware from file 'dvb-usb-af9035-02.fw' > > DBG: : af9035_download_firmware: > > DBG: : dvb_usb_v2_generic_io: >>> 0x8024ba080h > > DBG: : dvb_usb_v2_generic_io: <<< 0x8024ba080h > > DBG: : dvb_usb_v2_generic_io: >>> 0x8024ba080h > > DBG: : dvb_usb_v2_generic_io: <<< 0x8024ba080h > > ERR: : : too much data wlen=64 rlen=0 > > DBG: : af9035_ctrl_msg: failed=-22 > > DBG: : af9035_download_firmware: failed=-22 > > DBG: : dvb_usbv2_download_firmware: failed=-22 > > DBG: : dvb_usbv2_exit: > > DBG: : dvb_usbv2_remote_exit: > > DBG: : dvb_usbv2_adapter_exit: > > DBG: : dvb_usbv2_i2c_exit: > > DBG: : dvb_usbv2_probe: failed=-22 > > DBG: : dvb_usbv2_probe: bInterfaceNumber=1 > > DBG: : dvb_usbv2_exit: > > DBG: : dvb_usbv2_remote_exit: > > DBG: : dvb_usbv2_adapter_exit: > > DBG: : dvb_usbv2_i2c_exit: > > DBG: : dvb_usbv2_probe: failed=-19 > > webcamd: Cannot find USB device > > > > Hmmm... > > Juergen > > _______________________________________________ > > freebsd-multimedia@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > > To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe@freebsd.org " > > >