Date: Mon, 29 Aug 2016 00:53:55 +0100 From: Miguel C <miguelmclara@gmail.com> To: Hans Petter Selasky <hps@selasky.org> Cc: Oleg Nauman <oleg.nauman@gmail.com>, "freebsd-multimedia@freebsd.org" <freebsd-multimedia@freebsd.org> Subject: Re: [CFT] New version of webcamd, now v4.8.0.2 Message-ID: <CADGo8CUx9yMNPZ0mCk-GzdpvsWESgiy_mKaXQBC=K93xtd_qNQ@mail.gmail.com> In-Reply-To: <cc2351e2-c171-4b35-0284-5ef21bbeee85@selasky.org> References: <d2b588e6-33b3-9523-1551-a1d9deabdf8c@selasky.org> <CAC5YPTuYnx=_riiW6uiVGzKbcK-kLsb81bX1u4JUc8CCz%2BAoXg@mail.gmail.com> <CADGo8CUKUA3GR_Y5yjx9x5z6jd-3HZTBXjV9xyKF%2BAmPrrs0Hw@mail.gmail.com> <050b048b-b73d-0823-885a-e8ab88f070e8@selasky.org> <CADGo8CX_kw_Cofhe4nh%2B-a4kq-h_CHvvHboJPWTPgcFxkmN0ew@mail.gmail.com> <cc2351e2-c171-4b35-0284-5ef21bbeee85@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Aug 28, 2016 at 7:21 PM, Hans Petter Selasky <hps@selasky.org> wrote: > On 08/28/16 16:02, Miguel C wrote: > >> On Sun, Aug 28, 2016 at 12:53 PM, Hans Petter Selasky <hps@selasky.org> >> wrote: >> >> > Hi, > > The descriptors you sent look OK. > > Can you run webcamd from gdb and trace all the parameters and code path > taken inside the function named usb_setup_endpoint which triggers after you > run pwcview ? > > gdb > file webcamd > run -d ugenX.Y > CTRL+C > break usb_setup_endpoint > continue > next > next > next > .... > > > Let's skip Freebsd-current and freebsd-x11 in the CC'ing of this thread to > reduce the amount of cross-posting? Or which list do you prefer? Sure multimedia@ seems fine Lets see if I got this right (let me know if its best to upload this... just feel like its important to keep the "text" in the archive for future reference: gdb) continue Continuing. Creating /dev/video0 [New Thread 802017400 (LWP 100268/webcamd)] [New Thread 802019200 (LWP 100303/webcamd)] [Switching to Thread 802019200 (LWP 100303/webcamd)] Breakpoint 1, usb_setup_endpoint (dev=0x802076000, uhe=0x8020764a0, bufsize=16) at kernel/linux_usb.c:923 923 uint8_t type = uhe->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; (gdb) next 924 uint8_t addr = uhe->desc.bEndpointAddress; (gdb) next 925 uint8_t ep_index = ((addr / 0x40) | (addr * 4)) % (16 * 4); (gdb) next 928 if (uhe->bsd_xfer[0] || (gdb) next 931 return (0); (gdb) next 1030 } (gdb) next usb_submit_urb (urb=0x802092070, mem_flags=0) at kernel/linux_usb.c:613 613 err = usb_setup_endpoint(urb->dev, uhe, (gdb) next 615 if (err) { (gdb) next 624 if (uhe->bsd_xfer[0] || (gdb) next 629 if (urb->bsd_urb_list.tqe_prev == NULL) { (gdb) next 630 TAILQ_INSERT_TAIL(&uhe->bsd_urb_list, urb, bsd_urb_list); (gdb) next 631 urb->status = -EINPROGRESS; (gdb) next 638 if (urb->bsd_no_resubmit == 0) { (gdb) next 639 usb_submit_urb_sub(uhe->bsd_xfer[0]); (gdb) next 640 usb_submit_urb_sub(uhe->bsd_xfer[1]); (gdb) next 642 err = 0; (gdb) next 643 } else { (gdb) next 648 atomic_unlock(); (gdb) next 649 return (err); (gdb) next 650 } (gdb) next uvc_status_start (dev=0x802047180, flags=0) at media_tree/drivers/media/usb/uvc/uvc_status.c:214 214 return usb_submit_urb(dev->int_urb, flags); (gdb) next 215 } (gdb) next uvc_v4l2_open (file=0x80220d020) at media_tree/drivers/media/usb/uvc/uvc_v4l2.c:514 514 ret = uvc_status_start(stream->dev, GFP_KERNEL); (gdb) next 515 if (ret < 0) { (gdb) next 521 } (gdb) next 523 stream->dev->users++; (gdb) next 524 mutex_unlock(&stream->dev->lock); (gdb) next 526 v4l2_fh_init(&handle->vfh, &stream->vdev); (gdb) next 527 v4l2_fh_add(&handle->vfh); (gdb) next 528 handle->chain = stream->chain; (gdb) next 529 handle->stream = stream; (gdb) next 530 handle->state = UVC_HANDLE_PASSIVE; (gdb) next 531 file->private_data = handle; (gdb) next 533 return 0; (gdb) next 534 } (gdb) next v4l2_open (inode=0x80220d008, filp=0x80220d020) at media_tree/drivers/media/v4l2-core/v4l2-dev.c:453 453 ret = vdev->fops->open(filp); (gdb) next 456 } (gdb) next 458 if (vdev->dev_debug & V4L2_DEV_DEBUG_FOP) (gdb) next 462 if (ret) (gdb) next 464 return ret; (gdb) next 465 } (gdb) next linux_open (f_v4b=0, fflags=0) at kernel/linux_file.c:65 65 return (handle); (gdb) next 66 } (gdb) next v4b_open (cdev=0x802052030, fflags=1) at /usr/home/user/webcamd_src/webcamd-4.8.0.4/webcamd.c:211 211 handle = linux_open(f_v4b, fflags_linux); (gdb) next 213 if (handle == NULL) { (gdb) next 217 cuse_dev_set_per_file_handle(cdev, handle); (gdb) next 218 return (0); (gdb) next 219 } pwcview --> Failed to get current picture info: Invalid argument > > > --HPS >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADGo8CUx9yMNPZ0mCk-GzdpvsWESgiy_mKaXQBC=K93xtd_qNQ>