Did you try to decrease frame rate (or resolution, or bits) for first camera?

--
Rogoshchenkov Nikolay


On Sat, Aug 3, 2013 at 4:23 PM, RDixey <rdixey@comcast.net> wrote:

Hello Gumstix Users,

I'm working with an Overo FireStorm, Turtlecore and Linaro 12.11.

I'm trying to configure two USB webcams on the TurtleCore USB HUB.

QUESTIONS:

    Is it possible to increase the total bandwidht of the Turtlecore USB hub beyond 800us?

    Is it possible to decrease the 480us Allocation for each webcam?

    Any alternative suggestions for getting 2 Webcams to work on the Turtlecore?

HERE ARE THE DETAILS OF MY PROBLEM:

rdixey@Undroma:~$ lsusb
Bus 001 Device 002: ID 0424:2513 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 004: ID 1871:0341 Aveo Technology Corp. (Driver is Altair USB2.0 Camera (location: usb-ehci-omap.0-2.1.2))

Bus 001 Device 005: ID 2123:1010 
Bus 001 Device 006: ID 0ac8:3450 Z-Star Microelectronics Corp. (driver is USB2.0 Camera (location: usb-ehci-omap.0-2.2))

Using GUVCView, I can display video from each webcam one at a time.

Problem is that GUVCView will not display a second occurrance while the first is already running. Ex:

First webcam is /dev/video7 running via GUVCView and already displaying video.

Running the second webcam produces the error message that there is no space left on the device:

    rdixey@Undroma:~$ guvcview -d /dev/video8

    Altair USB2.0 Camera (location: usb-ehci-omap.0-2.1.2)
    { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
    { discrete: width = 640, height = 480 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 352, height = 288 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 320, height = 240 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 176, height = 144 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 160, height = 120 }
            Time interval between frame: 1/30, 1/15,
    { pixelformat = 'RGB3', description = 'RGB3' }
    { discrete: width = 640, height = 480 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 352, height = 288 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 320, height = 240 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 176, height = 144 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 160, height = 120 }
            Time interval between frame: 1/30, 1/15,
    { pixelformat = 'BGR3', description = 'BGR3' }
    { discrete: width = 640, height = 480 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 352, height = 288 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 320, height = 240 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 176, height = 144 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 160, height = 120 }
            Time interval between frame: 1/30, 1/15,
    { pixelformat = 'YU12', description = 'YU12' }
    { discrete: width = 640, height = 480 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 352, height = 288 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 320, height = 240 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 176, height = 144 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 160, height = 120 }
            Time interval between frame: 1/30, 1/15,
    { pixelformat = 'YV12', description = 'YV12' }
    { discrete: width = 640, height = 480 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 352, height = 288 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 320, height = 240 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 176, height = 144 }
            Time interval between frame: 1/30, 1/15,
    { discrete: width = 160, height = 120 }
            Time interval between frame: 1/30, 1/15,
    vid:0ac8
    pid:3450
    driver:uvcvideo
    checking format: 1448695129
    fps is set to 1/30
    drawing controls

    libv4l2: error turning on stream: No space left on device
    VIDIOC_STREAMON - Unable to start capture: No space left on device
    fps is set to 1/30
    no codec detected for H264
    no codec detected for MP3 - (lavc)
    Checking video mode 640x480@32bpp : OK
    libv4l2: error turning on stream: No space left on device
    VIDIOC_STREAMON - Unable to start capture: No space left on device
    libv4l2: error turning on stream: No space left on device
    VIDIOC_STREAMON - Unable to start capture: No space left on device

Looks Like Both Webcams want to allocate 480us of bandwidht out of 800us total available bandwidth on the HUB.

    rdixey@Undroma:~$ sudo cat /sys/kernel/debug/usb/devices | grep "B: "
    B:  Alloc=480/800 us (60%), #Int=  3, #Iso=  5



------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent
caught up. So what steps can you take to put your SQL databases under
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
gumstix-users mailing list
gumstix-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gumstix-users