• «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
主题 : S5PV210 android下USB摄像头问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 2908
精华: 0
发帖: 28
金钱: 205 两
威望: 80 点
贡献值: 0 点
综合积分: 56 分
注册时间: 2008-12-16
最后登录: 2012-07-24
楼主  发表于: 2011-11-28 11:36

 S5PV210 android下USB摄像头问题

请问android下210的CMOS摄像头和USB摄像头是否可以同时使用?由于210的BSP里自带了CMOS的驱动,我以为只要再内核里配上支持USB摄像头的UVC就可以,结果当我配上UVC后,插入USB摄像头得到如下提示:
usb 1-1.3: new high speed USB device using s5p-ehci and address 5uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:3290)input: USB2.0 PC CAMERA as /devices/platform/s5p-ehci/usb1/1-1/1-1.3/1-1.3:1.0/input/input3I/EventHub(   92): New keyboard: device->id=0x20000 devname='USB2.0 PC CAMERA' propName='hw.keyboards.131072.devname' keylayout='/system/usr/keylayout/qwerty.kl'I/EventHub(   92): New device: path=/dev/input/event2 name=USB2.0 PC CAMERA id=0x20000 (of 0x3) index=3 fd=91 classes=0x1I/InputReader(   92): Device added: id=0x20000, name=USB2.0 PC CAMERA, sources=00000101I/InputManager-Callbacks(   92): No input device calibration properties found for device USB2.0 PC CAMERA.
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
贡献值: 3 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
1楼  发表于: 2011-11-28 12:43
晚些会放出软件更新,支持USB与CMOS摄像头共存
级别: 新手上路
UID: 2908
精华: 0
发帖: 28
金钱: 205 两
威望: 80 点
贡献值: 0 点
综合积分: 56 分
注册时间: 2008-12-16
最后登录: 2012-07-24
2楼  发表于: 2011-11-28 12:51
版主大哥,能否从技术层面简单提下实现思路?
是否需要修改UVC驱动,不直接实现V4L2接口,而与FIMC关联,再用FIMC实现V4L2接口?
不知道我这样理解是否正确
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
贡献值: 3 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
3楼  发表于: 2011-11-28 14:42
1) 内核配置加上对USB摄像头的UVC支持
2) 使用 V4L2接口来操作USB摄像头,与CMOS基本上是相同的接口,但摄像头设备名为 /dev/video3
级别: 新手上路
UID: 2908
精华: 0
发帖: 28
金钱: 205 两
威望: 80 点
贡献值: 0 点
综合积分: 56 分
注册时间: 2008-12-16
最后登录: 2012-07-24
4楼  发表于: 2011-11-28 15:38
版主大哥,我刚才直接配置了下UVC,没有生成/dev/video
我再在配置里去掉V4L2 API for digital camera to be contributed by samsung 后,插入USB摄像头,生成了/dev/video3
(FIMC自动生成了 /dev/video0 1 2),但该节点不能在android里被操作。
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
贡献值: 3 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
5楼  发表于: 2011-11-28 18:14
在uevert.rc 中加入  /dev/video3 的权限
级别: 新手上路
UID: 2908
精华: 0
发帖: 28
金钱: 205 两
威望: 80 点
贡献值: 0 点
综合积分: 56 分
注册时间: 2008-12-16
最后登录: 2012-07-24
6楼  发表于: 2011-11-29 14:55
感谢版主热心快速的回复。
我按你的思路,现在已经顺利生成了节点,
# ls -l /dev/video*
crw-rw---- system   camera    81,   0 1970-01-09 20:39 video0
crw-rw---- system   camera    81,   1 1970-01-09 20:39 video1
crw-rw---- system   system    81,  14 1970-01-09 20:39 video14
crw-rw---- system   camera    81,   2 1970-01-09 20:39 video2
crw-rw---- system   system    81,  21 1970-01-09 20:39 video21
crw-rw---- system   system    81,  22 1970-01-09 20:39 video22
crw-rw-rw- system   camera    81,   3 1970-01-09 20:39 video3

但不知道如何测试,我希望在android下打开该摄像头预览,但默认他是打开的/dev/vedio0 ,我跟踪代码,找到SecCamera::create(int index)
将open(CAMERA_DEV_NAME, O_RDWR); 直接改为/dev/vedio3 ,还是不行,报错如下:

V/RenderScript_jni(  183): surfaceDestroyed
V/CameraHolder(  446): open camera 0
I/SecCamera(   70): Name of input channel[0] is Camera 1
I/SecCamera(   70): Name of input channel[0] is S5K4BA
I/SecCamera(   70): Name of input channel[0] is Camera 1
I/StagefrightPlayer(   70): setDataSource('/system/media/audio/ui/camera_click.ogg')
I/StagefrightPlayer(   70): setDataSource('/system/media/audio/ui/VideoRecord.ogg')
D/Camera  (  446): app passed NULL surface
V/camera  (  446): startPreview
E/SecCamera(   70): unsupported pixel format
E/SecCamera(   70): int android::SecCamera::startPreview()::867 fail. errno: Invalid argument, m_camera_id = 0
E/CameraHardwareSec(   70): ERR(virtual android::status_t android::CameraHardwar
eSec::startPreview()):Fail on mSecCamera->startPreview()
W/ActivityManager(   98): Launch timeout has expired, giving up wake lock!
W/ActivityManager(   98): Activity idle timeout for HistoryRecord{408a98f8 com.android.camera/.Camera}

对android确实不熟,不知道该如何是好,还望指点再三
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
贡献值: 3 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
7楼  发表于: 2011-11-30 12:56
需要根据错误来调对 v4l2 接口的调用
级别: 新手上路
UID: 2908
精华: 0
发帖: 28
金钱: 205 两
威望: 80 点
贡献值: 0 点
综合积分: 56 分
注册时间: 2008-12-16
最后登录: 2012-07-24
8楼  发表于: 2011-11-30 13:23
我还是没太明白。android下可以打开V4L2接口的CMOS摄像头节点/dev/video0 ,而USB的也是用的UVC的标准V4L2接口,为什么两者不同呢?
我在X86下配置了UVC后可以用luvcview打开该摄像头,看到预览。
移植了静态交叉编译后的luvcview,放在板子上,chmod 777 后,放在/system/bin下,
还是不能在板子上运行,提示找不到luvcview 。彻底凌乱中
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
9楼  发表于: 2011-11-30 14:00
那要自己慢慢研究了,USB摄像头不是那么好搞的
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go