New version of webcamd [3.13.0.3] ready for testing
Juergen Lock
nox at jelal.kn-bremen.de
Wed Dec 11 18:33:55 UTC 2013
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 at jelal.kn-bremen.de <mailto:nox at jelal.kn-bremen.de> >
> > Sent: Tuesday 10th December 2013 23:35
> > To: Hans Petter Selasky <hans.petter.selasky at bitfrost.no <mailto:hans.petter.selasky at bitfrost.no> >
> > Cc: freebsd-multimedia at freebsd.org <mailto:freebsd-multimedia at freebsd.org> ; Juergen Lock <nox at jelal.kn-bremen.de <mailto:nox at 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 at freebsd.org <mailto:freebsd-multimedia at 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 at freebsd.org <mailto:freebsd-multimedia-unsubscribe at freebsd.org> "
> >
>
More information about the freebsd-multimedia
mailing list