Thanks John, I have seen Derek's videos and other resources, and I've 
ordered a C920 but haven't received it yet.  We'll see, but frankly I doubt 
that it will solve these issues completely.  I find it hard to believe that 
cpu load is the main issue here.  For example, I just booted up with the 
webcam unplugged.  I plugged it in, checked dmesg to see that the webcam 
and uvcvideo were registered and seemed to be working, and they were.  I 
ran v4l2-ctl --all to verify that I could connect to the camera.  Then I 
immediately rebooted (sudo reboot), leaving the camera plugged in to the 
usb jack.  Guess what?  No good!  When I try to run
v4l2-ctl --all I get:
Failed to open /dev/video0: Permission denied

I hesitate to post the entire output from dmesg, but here's the last 
section -- this entire group of lines was repeated 4 times:

[ 601.019165] INFO: task v4l_id:551 blocked for more than 120 seconds.
[ 601.025624] Not tainted 4.1.15-ti-rt-r40 #1
[ 601.031932] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables 
this message.
[ 601.040887] v4l_id D c09d0558 0 551 1 0x00000001
[ 601.041028] [<c09d0558>] (__schedule) from [<c09d08ac>] 
(schedule+0x58/0xe4)
[ 601.041089] [<c09d08ac>] (schedule) from [<c09d1c88>] 
(__rt_mutex_slowlock+0xf4/0x188)
[ 601.041142] [<c09d1c88>] (__rt_mutex_slowlock) from [<c09d2284>] 
(rt_mutex_slowlock+0x13c/0x338)
[ 601.041192] [<c09d2284>] (rt_mutex_slowlock) from [<c09d24f4>] 
(rt_mutex_lock+0x74/0x78)
[ 601.041245] [<c09d24f4>] (rt_mutex_lock) from [<c0094e4c>] 
(__rt_down_read+0x3c/0x4c)
[ 601.041298] [<c0094e4c>] (__rt_down_read) from [<c0094e78>] 
(rt_down_read+0x1c/0x20)
[ 601.041515] [<c0094e78>] (rt_down_read) from [<bf0f0064>] 
(snd_usb_autoresume+0x24/0x60 [snd_usb_audio])
[ 601.041710] [<bf0f0064>] (snd_usb_autoresume [snd_usb_audio]) from 
[<bf0f43d4>] (snd_usb_mixer_set_ctl_value+0xb8/0x24c [snd_usb_audio])
[ 601.041895] [<bf0f43d4>] (snd_usb_mixer_set_ctl_value [snd_usb_audio]) 
from [<bf0f4764>] (snd_usb_set_cur_mix_value+0x7c/0xe4 [snd_usb_audio])
[ 601.042073] [<bf0f4764>] (snd_usb_set_cur_mix_value [snd_usb_audio]) from 
[<bf0f51c0>] (restore_mixer_value+0xa8/0xb0 [snd_usb_audio])
[ 601.042255] [<bf0f51c0>] (restore_mixer_value [snd_usb_audio]) from 
[<bf0f7104>] (snd_usb_mixer_resume+0x48/0x8c [snd_usb_audio])
[ 601.042426] [<bf0f7104>] (snd_usb_mixer_resume [snd_usb_audio]) from 
[<bf0ef078>] (__usb_audio_resume+0x78/0x104 [snd_usb_audio])
[ 601.042579] [<bf0ef078>] (__usb_audio_resume [snd_usb_audio]) from 
[<bf0ef120>] (usb_audio_reset_resume+0x1c/0x20 [snd_usb_audio])
[ 601.042705] [<bf0ef120>] (usb_audio_reset_resume [snd_usb_audio]) from 
[<c072c4f0>] (usb_resume_interface+0xa0/0x158)
[ 601.042768] [<c072c4f0>] (usb_resume_interface) from [<c072c7d0>] 
(usb_resume_both+0x80/0x14c)
[ 601.042822] [<c072c7d0>] (usb_resume_both) from [<c072d78c>] 
(usb_runtime_resume+0x20/0x24)
[ 601.042889] [<c072d78c>] (usb_runtime_resume) from [<c066d744>] 
(__rpm_callback+0x34/0x4c)
[ 601.042945] [<c066d744>] (__rpm_callback) from [<c066d78c>] 
(rpm_callback+0x30/0x90)
[ 601.042999] [<c066d78c>] (rpm_callback) from [<c066eb00>] 
(rpm_resume+0x438/0x6d8)
[ 601.043053] [<c066eb00>] (rpm_resume) from [<c066e96c>] 
(rpm_resume+0x2a4/0x6d8)
[ 601.043107] [<c066e96c>] (rpm_resume) from [<c066edfc>] 
(__pm_runtime_resume+0x5c/0x74)
[ 601.043163] [<c066edfc>] (__pm_runtime_resume) from [<c072c2b4>] 
(usb_autopm_get_interface+0x28/0x6c)
[ 601.043291] [<c072c2b4>] (usb_autopm_get_interface) from [<bf14a5dc>] 
(uvc_v4l2_open+0x50/0x140 [uvcvideo])
[ 601.043558] [<bf14a5dc>] (uvc_v4l2_open [uvcvideo]) from [<bf0ab5ec>] 
(v4l2_open+0xb4/0xf0 [videodev])
[ 601.043706] [<bf0ab5ec>] (v4l2_open [videodev]) from [<c01b4048>] 
(chrdev_open+0xbc/0x1a8)
[ 601.043765] [<c01b4048>] (chrdev_open) from [<c01adc58>] 
(do_dentry_open+0x1e4/0x310)
[ 601.043817] [<c01adc58>] (do_dentry_open) from [<c01ae960>] 
(vfs_open+0x70/0x78)
[ 601.043871] [<c01ae960>] (vfs_open) from [<c01bbe60>] 
(do_last+0x3c8/0xf08)
[ 601.043923] [<c01bbe60>] (do_last) from [<c01be618>] 
(path_openat+0x90/0x618)
[ 601.043975] [<c01be618>] (path_openat) from [<c01bfc08>] 
(do_filp_open+0x3c/0x90)
[ 601.044026] [<c01bfc08>] (do_filp_open) from [<c01aecbc>] 
(do_sys_open+0x11c/0x1e0)
[ 601.044075] [<c01aecbc>] (do_sys_open) from [<c01aedac>] 
(SyS_open+0x2c/0x30)
[ 601.044135] [<c01aedac>] (SyS_open) from [<c0010720>] 
(ret_fast_syscall+0x0/0x3c)


This all occurred before any attempt was made to capture any video or even 
turn the camera on, so it's hard to see why hardware encoding would make 
any difference.  Maybe Derek was just lucky.

And if talking about luck sounds silly consider this: a couple of days ago, 
during one of the occasions that the webcam managed to get itself 
registered successfully, I compiled a simple little program (similar to but 
simpler than Derek's "boneCV",  using cv::VideoCapture to grab and save a 
single image.  Time after time it saved a completely black image.  And then 
(I can't explain why I tried it so many times - just stubbornness I guess) 
it worked.  Seems to work about 10-15% of the time, saving a perfectly good 
image.  Then it goes back to black.  I don't think that's cpu load.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to