Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Aug 2016 01:05:28 +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:  <CADGo8CXYG5vyv=yBdHjawrsW%2BDRu3nYbU0di-5QubzrKnSo21w@mail.gmail.com>
In-Reply-To: <CADGo8CUx9yMNPZ0mCk-GzdpvsWESgiy_mKaXQBC=K93xtd_qNQ@mail.gmail.com>
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> <CADGo8CUx9yMNPZ0mCk-GzdpvsWESgiy_mKaXQBC=K93xtd_qNQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 29, 2016 at 12:53 AM, Miguel C <miguelmclara@gmail.com> wrote:

>
>
> 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
>
>
>
> Btw not sure if important but with cheese, I also see this in the command
line:

libv4l2: error turning on stream: Device not configured


>
>
>>
>>
>> --HPS
>>
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADGo8CXYG5vyv=yBdHjawrsW%2BDRu3nYbU0di-5QubzrKnSo21w>