Once upon a time, before I upgraded a zillion Angstrom packages re
video libs, my UVC-able webcam (Gearhead) worked OK at 320x200 with
the Motion software. Post the upgrades, I can' get this camera or a
Logitech webcam, both of which work with my x86 Ubuntu system, to work
at all with any video app software on the Beaglebone.
Tried Motion, also Mjpeg_streamer. Each just hangs and eventually
times out without retrieving any image from the camera.
mjpeg_streamer generates the following in dmesg:
[315724.391608] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0819)
[315724.492940] input: UVC Camera (046d:0819) as /devices/platform/
omap/ti81xx-usbss/musb-hdrc.1/usb1/1-1/1-1:1.0/input/input0
[316166.789571] uvcvideo: Failed to resubmit video URB (-1).
[316168.790155] uvcvideo: Failed to resubmit video URB (-1).
[316200.013265] musb_host_rx 1601: RX14 dma busy, csr 2020
[316204.511377] uvcvideo: Failed to resubmit video URB (-1).
[316295.902053] usb_process_rx_queue 1466: Invalid PD popped from Rx
completion queue
[316327.166354] gadget: high speed config #1: Linux File-Backed
Storage
[316500.031569] uvcvideo: Deprecated UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
ioctls will be removed in 2.6.42.
[316500.031596] uvcvideo: See
http://www.ideasonboard.org/uvc/upgrade/
for upgrade instructions.
Version of Motion, built from recent SVN snapshot hangs like this:
[1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and
input -1
[1] [NTC] [VID] v4l2_get_capability:
------------------------
cap.driver: "uvcvideo"
cap.card: "UVC Camera (046d:0819)"
cap.bus_info: "usb-musb-hdrc.1-1"
cap.capabilities=0x04000001
------------------------
[0] [NTC] [STR] httpd_run: motion-httpd/8.3.0 running, accepting
connections
[1] [NTC] [VID] v4l2_get_capability: - VIDEO_CAPTURE
[0] [NTC] [STR] httpd_run: motion-httpd: waiting for data on 0.0.0.0
port TCP 8080
[1] [NTC] [VID] v4l2_get_capability: - STREAMING
[1] [NTC] [VID] v4l2_select_input: name = "Camera 1", type 0x00000002,
status 00000000
[1] [NTC] [VID] v4l2_select_input: - CAMERA
[1] [WRN] [VID] v4l2_select_input: Device doesn't support VIDIOC_G_STD
[1] [NTC] [VID] v4l2_set_pix_format: Config palette index 17 (YU12)
doesn't work.
[1] [NTC] [VID] v4l2_set_pix_format: Supported palettes:
[1] [NTC] [VID] v4l2_set_pix_format: (0) YUYV (YUV 4:2:2 (YUYV))
[1] [NTC] [VID] v4l2_set_pix_format: 0 - YUV 4:2:2 (YUYV)
(compressed : 0) (0x56595559)
[1] [NTC] [VID] v4l2_set_pix_format: (1) MJPG (MJPEG)
[1] [NTC] [VID] v4l2_set_pix_format: 1 - MJPEG (compressed : 1)
(0x47504a4d)
[1] [NTC] [VID] v4l2_set_pix_format Selected palette YUYV
[1] [NTC] [VID] v4l2_do_set_pix_format: Testing palette YUYV (320x240)
[1] [NTC] [VID] v4l2_do_set_pix_format: Using palette YUYV (320x240)
bytesperlines 640 sizeimage 153600 colorspace 00000008
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980900,
"Brightness", range 0,255
[1] [NTC] [VID] v4l2_scan_controls: "Brightness", default 128,
current 128
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980901,
"Contrast", range 0,255
[1] [NTC] [VID] v4l2_scan_controls: "Contrast", default 32,
current 32
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980902,
"Saturation", range 0,255
[1] [NTC] [VID] v4l2_scan_controls: "Saturation", default 32,
current 32
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980913, "Gain",
range 0,255
[1] [NTC] [VID] v4l2_scan_controls: "Gain", default 0, current 0
[1] [DBG] [VID] v4l2_set_mmap: mmap information: frames=4
[1] [DBG] [VID] v4l2_set_mmap: 0 length=153600 Address (418a3000)
[1] [DBG] [VID] v4l2_set_mmap: 1 length=153600 Address (418f9000)
[1] [DBG] [VID] v4l2_set_mmap: 2 length=153600 Address (42135000)
[1] [DBG] [VID] v4l2_set_mmap: 3 length=153600 Address (42300000)
[1] [NTC] [VID] vid_v4lx_start: Using V4L2
[1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1
items
[1] [DBG] [VID] v4l2_next: 1) vid_source->pframe -1
[0] [ERR] [ALL] main: Thread 1 - Watchdog timeout, trying to do a
graceful restart
[0] [NTC] [STR] httpd_run: motion-httpd - Finishing
[0] [NTC] [STR] httpd_run: motion-httpd Closing
[0] [NTC] [STR] motion_web_control: motion-httpd thread exit
This seems like a problem with the uvcvideo driver, but I am not
sure. Using the "stock" kernel originally installed on the SD card in
my Beaglebone:
Linux beaglebone 3.1.0+ #1 Tue Nov 15 15:51:15 CET 2011 armv7l GNU/
Linux
Saw a suggestion to enable DMA in a thread here, but am unsure how to
do that, or if it would help. Any suggestions welcome.