NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40607: uvideo(4) queues too many xfers to uhci / ohci



>Number:         40607
>Category:       kern
>Synopsis:       uvideo(4) queues too many xfers to uhci / ohci
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 11 03:10:01 +0000 2009
>Originator:     Rafal Boni
>Release:        NetBSD 5.0_RC1
>Organization:
Wazzat?
>Environment:
System: NetBSD cyclops 5.0_RC1 NetBSD 5.0_RC1 (GENERIC) #2: Sun Feb 1 21:38:26 
EST 2009 rafal@cyclops:/extra/netbsd-src/netbsd-5/sys/arch/i386/compile/GENERIC 
i386
Architecture: i386
Machine: i386
>Description:
        I have a USB 2.0 compatible webcam (a Logitech QuickCam Communicate
        Deluxe) connected to a USB 1.1 HC, which attaches like so:

uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uvideo0 at uhub0 port 1 configuration 1 interface 0: vendor 0x046d product 
0x09a2, rev 2.00/0.08, addr 2
video0 at uvideo0: vendor 0x046d product 0x09a2, rev 2.00/0.08, addr 2
uaudio0 at uhub0 port 1 configuration 1 interface 2: vendor 0x046d product 
0x09a2, rev 2.00/0.08, addr 2
uaudio0: audio rev 1.00
audio1 at uaudio0: full duplex, independent

        Attempting to play the video stream with mplayer by invoking it as:

                # mplayer /dev/uvideo0

        causes the system to panic freeing memory as show in the following
        screenshot: ftp://ftp.netbsd.org/pub/NetBSD/misc/rafal/DSC00021.JPG

        Building a DIAGNOSTIC kernel and retrying the mplayer experiment
        spewed the following message onto the console, but did not crash
        the kernel:

                uhci_device_isoc_enter: overflow!

        Note that starting mplayer with different args, like below, also
        avoids the panic and even displays video, though it's broken up 
        and mplayer spews 'frame too small' and 'select timeout' errors
        fairly frequently:

                # mplayer -tv fps=25 tv://

>How-To-Repeat:
        Attempt to view video from a USB 2 / High-speed webcam on a ohci(4)
        or uhci(4) controller with default mplayer args.

>Fix:
        Unknown as of yet; Jeremy Morse suggested upping UHCI_VFRAMELIST_COUNT
        in src/sys/dev/usb/uhcivar.h from 128 -> 1024 as a fix.  I have not
        yet tried that.



Home | Main Index | Thread Index | Old Index