Date: Wed, 11 Dec 2013 19:32:59 +0100 From: Juergen Lock <nox@jelal.kn-bremen.de> To: Hans Petter Selasky <hans.petter.selasky@bitfrost.no> Cc: "freebsd-multimedia@freebsd.org" <freebsd-multimedia@freebsd.org>, Antti Palosaari <crope@iki.fi>, Juergen Lock <nox@jelal.kn-bremen.de> Subject: Re: New version of webcamd [3.13.0.3] ready for testing Message-ID: <20131211183259.GA54330@enceladus10.kn-bremen.de> In-Reply-To: <zarafa.52a80861.6be4.60383dde2546c3cb@mail.lockless.no> References: <51A10BD5.1050107@bitfrost.no> <zarafa.52a80861.6be4.60383dde2546c3cb@mail.lockless.no>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <nox@jelal.kn-bremen.de <mailto:nox@jelal.kn-bremen.de> > > > Sent: Tuesday 10th December 2013 23:35 > > To: Hans Petter Selasky <hans.petter.selasky@bitfrost.no <mailto:hans.petter.selasky@bitfrost.no> > > > Cc: freebsd-multimedia@freebsd.org <mailto:freebsd-multimedia@freebsd.org> ; Juergen Lock <nox@jelal.kn-bremen.de <mailto:nox@jelal.kn-bremen.de> > > > 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 <mailto:freebsd-multimedia@freebsd.org> mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia <http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia> > > To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe@freebsd.org <mailto:freebsd-multimedia-unsubscribe@freebsd.org> " > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131211183259.GA54330>