天嵌 ARM开发社区

 找回密码
 注册
查看: 9875|回复: 15

罗技usb摄像头如何驱动

[复制链接]
李晓庆 发表于 2012-4-11 11:43:01 | 显示全部楼层 |阅读模式
开发板是TQ2440,内核是2.6.30,在配置内核时,勾了uvc的和罗技的驱动。
连上摄像头之后打印的信息如下:
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: New USB device found, idVendor=046d, idProduct=0819
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=2
usb 1-1: SerialNumber: 825379C3
usb 1-1: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device <unnamed> (046d:0819)
uvcvideo: No valid video chain found.
在/dev下找到v4l/video0
使用usb_camera测试程序,出现:
USB Camera Test
open error,在打开摄像头那就有错误了!修改了usb_camera程序了改/dev/video0为/dev/v4l/video0,还是没法打开……
 楼主| 李晓庆 发表于 2012-5-30 16:53:08 | 显示全部楼层
本帖最后由 李晓庆 于 2012-5-30 17:04 编辑

问题已解决,希望能帮助遇到同样问题的。
修改文件/drivers/media/video/uvc/uvc_driver.c 和 /drivers/media/video/uvc/uvcvideo.h


修改完重新配置内核。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 1 反对 0

使用道具 举报

haa14618 发表于 2012-7-9 16:21:22 | 显示全部楼层
李晓庆 发表于 2012-5-30 16:53
问题已解决,希望能帮助遇到同样问题的。
修改文件/drivers/media/video/uvc/uvc_driver.c 和 /drivers/me ...

你好!
你的图片1中最后的地方,好像有遗漏
另外的.h档案
好像没有修改的地方耶
麻烦可以说的再详细一点吗~~谢谢~
回复 支持 1 反对 0

使用道具 举报

embedsky_lhh 发表于 2012-4-11 14:46:52 | 显示全部楼层
usb 1-1: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device <unnamed> (046d:0819)
uvcvideo: No valid video chain found.
可能是开发板不支持你的USB摄像头
 楼主| 李晓庆 发表于 2012-4-11 15:47:00 | 显示全部楼层
embedsky_lhh 发表于 2012-4-11 14:46
usb 1-1: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device  (046d:0819)
uvcvid ...

有人说修改grub或者lilo,修改内核后生成的zImage.bin文件,下载到开发板上用不用修改啥设置?
embedsky_lhh 发表于 2012-4-11 16:40:44 | 显示全部楼层
那你换个内核试试,光盘里有三个版本的内核,你烧的是哪一套?
 楼主| 李晓庆 发表于 2012-4-11 17:04:05 | 显示全部楼层
试了zImage_W35_2.6.30.4_20100531,和zImage_2.6.30.4_W35_256MB_20091030
两个都是这样结果
想问在pc上用make menuconfig 配置内核后,直接烧到生成的后缀为.bin的文件到开发板上就可以了?不需要额外的修改某些参数?
 楼主| 李晓庆 发表于 2012-4-11 17:23:25 | 显示全部楼层
出现uvcvideo: No valid video chain found.这句的相关程序:
static int uvc_register_video(struct uvc_device *dev)
{
        struct video_device *vdev;
        struct uvc_entity *term;
        int found = 0, ret;

        /* Check if the control interface matches the structure we expect. */
        list_for_each_entry(term, &dev->entities, list) {
                struct uvc_streaming *streaming;

                if (!UVC_ENTITY_IS_TERM(term) || !UVC_ENTITY_IS_OTERM(term))
                        continue;

                memset(&dev->video, 0, sizeof dev->video);
                mutex_init(&dev->video.ctrl_mutex);
                INIT_LIST_HEAD(&dev->video.iterms);
                INIT_LIST_HEAD(&dev->video.extensions);
                dev->video.oterm = term;
                dev->video.dev = dev;
                if (uvc_scan_chain(&dev->video) < 0)
                        continue;

                list_for_each_entry(streaming, &dev->streaming, list) {
                        if (streaming->header.bTerminalLink ==
                            dev->video.sterm->id) {
                                dev->video.streaming = streaming;
                                found = 1;
                                break;
                        }
                }

                if (found)
                        break;
        }

        if (!found) {
                uvc_printk(KERN_INFO, "No valid video chain found.\n");
                return -1;
        }

        if (uvc_trace_param & UVC_TRACE_PROBE) {
                uvc_printk(KERN_INFO, "Found a valid video chain (");
                list_for_each_entry(term, &dev->video.iterms, chain) {
                        printk("%d", term->id);
                        if (term->chain.next != &dev->video.iterms)
                                printk(",");
                }
                printk(" -> %d).\n", dev->video.oterm->id);
        }
Rick.w 发表于 2012-4-19 20:23:57 | 显示全部楼层
怎么样
有没有什么进展
ww110052181 发表于 2012-7-18 13:17:27 | 显示全部楼层
路过学习一下啊
memechashang 发表于 2012-12-20 10:44:42 | 显示全部楼层
我的问题和你有点类似,但是我的/dev没有生成video0,求解中啊
1991xiongenjoy 发表于 2013-12-20 23:55:15 | 显示全部楼层
李晓庆 发表于 2012-5-30 16:53
问题已解决,希望能帮助遇到同样问题的。
修改文件/drivers/media/video/uvc/uvc_driver.c 和 /drivers/me ...

能将完整的和大家分享吗
bray 发表于 2014-2-23 17:01:38 | 显示全部楼层
感谢楼主,看看
wuqijun09 发表于 2014-3-20 11:32:46 | 显示全部楼层
李晓庆 发表于 2012-5-30 16:53
问题已解决,希望能帮助遇到同样问题的。
修改文件/drivers/media/video/uvc/uvc_driver.c 和 /drivers/me ...

你这里.h文件没有修改啊,
wuqijun09 发表于 2014-3-20 11:34:30 | 显示全部楼层
haa14618 发表于 2012-7-9 16:21
你好!
你的图片1中最后的地方,好像有遗漏
另外的.h档案

请问你这个现在修改好了没?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-27 23:33 , Processed in 1.046875 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表