Chinaunix首页 | 论坛 | 博客
  • 博客访问: 574761
  • 博文数量: 836
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 4995
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 16:55
文章分类

全部博文(836)

文章存档

2008年(836)

我的朋友

分类: LINUX

2008-08-22 17:48:10

 
以Fedora6为例。首先下载驱动程序,使用svn进行下载,如果没有这个命令,则需要安装svn,下载命令:

  svncheckoutsvn://svn.berlios.de/linux-uvc/linux-uvc/trunk

  之后就会在~/下生成一个文件夹linux-uvc。

  然后下载视频查看工具:luvcview

  先编译uvcdriver:

  #su
  #make
  #makeinstall

  在执行make这一步时我遇到的错误是:

  /lib/modules/2.6.18-1.2798.fc6/build不存在

  结果我按照网上的搜索用yum装了一个kernel-header的rpm包。估计当时没有看清楚就直接装了,最后的结果是不但make没有通过,而且系统重启之后出现了很多的问题。没有办法只好把硬盘挂在别的机器上拷贝了一份modules文件。

  原来是这样的,/lib/modules/2.6.18-1.2798.fc6/build是一个指向/usr/src/kernels/...的一个链接。我之前优化过系统,把src里的文件都删除了。所以会导致这个错误。

  解决办法是安装:kernel-devel-2.6.18-1.2798.fc6.i586.rpm

  之后一切正常

  如果没有以上的错误,就可以加载uvc驱动:

  #modprobeuvcvideo
  或者:
  #/sbin/modprobeuvcvideo

  我这这步遇到的问题是:

  加载模块时出现:Invalidmoduleformat。

  这主要由一下原因引起的:所用内核源码版本号与目前使用的内核不同;编译目标不同,比如编译的是i686,装好的是i386;使用编译器版本不同;目前使用的内核不是自己编译出来的。

  我的解决办法是使用modprobe的选项--force-vermagic,当然这是有风险的,你可以先使用dmesg查看日志,如果有dmesg中提示的是:

versionmagic''2.6.12686gcc-3.3''shouldbe''2.6.12-10-686686gcc-3.4''

  用--force-vermagic解决,不过这样风险比较大。

  如果dmesg提示的是:

  disagreesaboutversionofsymbolstruct_module

  可以用--force-modversion,风险比较小,很不幸,我的是前者,也不过什么大风险了,我直接用了下面的命令:

  #modprobe--force-modversionuvcvideo

  还好,一切顺利。

  最后编译luvcview:

  #tar-xzvfluvcview-20070107.tar.gz
  #cd../luvcview-20070107
  #make

  在这里为遇到的问题是:找不到命令sdl-config。于是我用yum安装SDL开发包:#yuminstallSDL-devel.i386之后在进行make,顺利通过。

  最后我们先将摄像头插入USB端口,然后到luvcview-20070107目录下执行命令:这时就会弹出一个小窗口,能显示图像了。

阅读(417) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~