摄像头设备初始化问题

在使用内核uvc模块时遇到USB设备初始化错误,具体表现为UVC控制查询失败。通过分析内核源码,发现在`__uvc_query_ctrl()`函数中返回值导致初始化失败。为解决问题,临时屏蔽了错误返回码,使得设备能够正常初始化并使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内核选择uvc模块选项,编译好内核下载使用后,一直在使用的时候报如下错误:

 

错误的:

usb 1-1: new full speed USB device using s3c2410-ohci and address 7

usb 1-1: configuration #1 chosen from 1 choice

uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0102)

uvcvideo: Failed to query (1) UVC control 2 (unit 0) : -32 (exp. 26).

uvcvideo: Failed to initialize the device (-5).

usb 1-1: USB disconnect, address 7

 

然后在网上找了很多方法,

1:什么先编译其他模块,后编译uvc模块啥的等。

2:由于自己尝试在自己电脑上fedora17上完全可以使用,没有保错。所以我就把我电脑内核版本3.4的源码中的uvc模块拿出来单做,在加载到开发版内核2.6.26中。还是一样报错。

 

好吧!那我就看内核错误代码,跟踪源代码找结果吧!!先定位在drivers/media/video/uvc下面的几个文件里。然后搜索错误提示。定位在uvc_video.cuvc_driver.c这两个里面。

最后简单通过设置打印信息内核一步一步找到局部的小流程。

uvc_driver.c文件的驱动注册时:

uvc_register_video()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值