使gspca支持自己的USB摄像头

本文详细介绍了如何在Linux系统下为Logitech QuickCam Easy/Cool摄像头添加gspca驱动支持。通过安装内核头文件、gspca驱动程序、spcagui和spcaview等测试程序,然后分析gspca驱动源代码,识别摄像头的Vendor ID、DSP和CMOS芯片型号,最终在gspca驱动中添加新设备信息,完成驱动适配。文章还提供了安装和调试过程中遇到的问题及解决方法。
摘要由CSDN通过智能技术生成
导读:
  在Linux下驱动USB摄像头一直不是容易的事情,尽管其内核中就集成了对0V511系列摄像头的支持,开源驱动spca5xx/gspca也提供了对大部分主流摄像头的支持,但还是无法涵盖所有品牌的各种型号的摄像头,尤其是对于国内的中低端用户,很难找到直接可用的Linux下的驱动。
  本文简单介绍了gspca驱动程序、spcagui和spcaview等测试程序的安装过程,并以在gspca中添加对Logitech QuickCam Easy/Cool(快看灵讯版)摄像头的支持为例,给出了在gspca驱动程序中添加新的摄像头支持的一般方法。
   1 安装gspca驱动程序
  gspca用于2.6.17以上的内核版本,以前的版本使用spca5xx驱动程序。gspca可直接支持的摄像头列表可见http://mxhaard.free.fr/spca5xx.html。
  (1)安装内核头文件
  #uname -r
  2.6.20-1.2962.fc6
  #arch
  i686
  #wget http://fedora.fastbull.org/updates/testing/6/i386/kernel-
  devel-2.6.20-1.2962.fc6.i686.rpm
  #rpm -ivh kernel-devel-2.6.20-1.2962.fc6.i686.rpm
  这样,内核头文件被安装到/usr/src/kernels/2.6.20-1.2962.fc6-i686目录下。
  (2)安装gspca驱动:
  #wget http://mxhaard.free.fr/spca50x/Download/gspcav1-
  20070508.tar.gz
  #tar xfv gspcav1-20070508.tar.gz
  #cd gspcav1-20070508
  #./gspca_build
  gspca_build是一个自动编译、安装、加载驱动模块的腳本。可以使用命令“depmod -ae”来检查内核模块的依赖关系是否冲突。
  注意,安装好驱动并加载gspca.ko模块后,一般会有/dev/video和/dev/video0等设备文件的存在,否则可能是驱动程序对本机的摄像头的支持有问题。另外,要正常使用摄像头,内核中应有video for linux的支持(Fedora内核一般是默认支持)。
  (3)安装spcagui、spcaview等摄像头测试程序
  实际上,只要正确安装好驱动之后,就可以使用"应用程序->Internet->Kopete"或gnome-netmeeting等程序来测试摄像头是否能正常工作了。当然也可以使用spcagui、spcaview等专门的摄像头工具软件。
  要安装spcagui或spcaview,必须先安装SDL、SDL-devel、SDL_image和SDL_image-devel软件包。然后直接make并make install即可。
   2 gspca不能直接支持Logitech QuickCam Easy/Cool(快看灵讯版,046d:08af)
  Logitech的摄像头有个“特点”,一个英文名有好几个中文名,例如快看灵讯版和快看酷讯版,包装盒上都写的是Logitech QuickCam Cool,由于在gspca的摄像头支持列表中看到了Logitech QuickCam Cool,于是买了个灵讯版。
  首先在Windows上试验摄像头效果,插入USB口,显示设备为Logitech QuickCam Easy/Cool,就感觉情况不妙,一看Vendor ID:Product ID是046d:08af,果然不在gspca的摄像头支持列表内。不管怎么样,先到Fedora下试试再说。
  #lsusb
  Bus 002 Device 001: ID 0000:0000
  Bus 002 Device 003: ID 046d:08af Logitech, Inc.
  Bus 001 Device 001: ID 0000:0000
  Bus 004 Device 001: ID 0000:0000
  Bus 003 Device 001: ID 0000:0000
  可见设备ID的确是046d:08af。加载gspca驱动模块后,运行spcagui或者spcaview,提示“No such file or directory.”
  “ls /dev/video*”发现没有任何相应的设备文件,于是手动建立:
  #mknod /dev/video0 c 81 0
  #ln -s /dev/video0 /dev/video
  之后再运行spcagui或者spcaview,提示“Device not found.”
  在Google上搜了两个晚上,还是没能找到解决问题的办法。看来唯一能找到问题所在并加以解决的办法就是从gspca驱动程序的源代码入手了。
   3 使gspca驱动程序支持Logitech QuickCam Easy/Cool
  (1)gspca驱动程序结构简析
  gspca驱动程序的核心代码是gspca_core.c,包括了设备注册、注销、各种操作方法集(定义了所支持的摄像头设备列表,设备检测和初始化,设备打开、参数设置、关闭等各种操作函数)。
  gspca.h是一个核心头文件,它的主要内容有:
  a)定义所
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值