2.1.1.2 节_虚拟驱动 vivi 的测试

目录

1、结合应用程序分析涉及到的调用

2、测试


 

网络上搜索Ubuntu摄像头测试

搜索到一个可用的xawtv应用程序

 

1、结合应用程序分析涉及到的调用

(1)如怎么得到里面的数据、怎么控制摄像头的亮度等信息。
(2)现在 PC 机上做实验
在 ubuntu 上安装一个应用程序的测试程序 xawtv
安装 xawtv: sudo apt-get install xawtv
apt-get 主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
如果无法上网

3)下面不能 ping 通,需要加上路由(设置默认网关命令)

4)重新安装 sudo apt-get install xawtv
出现下面文件无法找到,到这个网站上确实找不到这个文件。我们用的 ubuntu9.10

在这个网站创建新的 sources.list
http://repogen.simplylinux.ch/
1. 选择国家
2.选择相邻的 ubuntu 版本
3. 选择"Ubuntu Branches"
4. 生成 sources.list
5. 把得到内容替换到/etc/apt/sources.list,全部替换
6. sudo apt-get update(更新完后就能安装 xawtv)
sudo apt-get install xawtv (安装 xawtv)

 

 

2、测试

(1)让虚拟机位于前台,接上 USB 摄像头。

2)用 dmesg 命令查看内核打印信息,执行 xawtv

出现以下内容

(3)点击右键出现以下菜单,下面左右移动可以设置亮度,

这里是有问题了,后面会进行讲解

3、测试虚拟摄像头 vivi(需要编译驱动程序)
(1)确定 ubuntu 的内核版本
执行 uname -a 命令(uname -a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号)
Linux book-desktop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
(2) 去 www.kernel.org 下载同版本(相近版本)的内核


解压后把 drivers/media/video 目录取出
修改它的 Makefile 为:

KERN_DIR = /usr/src/linux-headers-2.6.31-14-generic //指定内核目录(在 PC 上的 linux 内核)
all:
make -C $(KERN_DIR) M=`pwd` modules
clean:
make -C $(KERN_DIR) M=`pwd` modules clean
rm -rf modules.order
obj-m += vivi.o //我们需要编译生成的驱动文件
obj-m += videobuf-core.o
obj-m += videobuf-vmalloc.o
obj-m += v4l2-common.o

(3)make

编译出 vivi.ko
安装驱动但出现某些问题(有一些函数不知道)

用 dmesg 命令查看发现一大堆 函数未定义,看看这些函数在哪个文件定义

修改 Makefile 添加我们需要编译进去的驱动,这些是 vivi.c 的依赖文件

obj-m += videobuf-core.o
obj-m += videobuf-vmalloc.o
obj-m += v4l2-common.o

安装驱动,查看设备节点, /dev/video 是所接的 usb 摄像头, /dev/vodeo1 是 vivi.c 虚拟出来的设备节点

   insmod videobuf-core.ko
   insmod videobuf-vmalloc.ko
   insmod v4l2-common.ko
   insmod vivi.ko

 

(4)查看 xawtv 的使用,默认打开的是/dev/video0,现在要打开/dev/video1,可以用-c 参数,后面指定相应的设备。

使用如下 -c 指定

(5)安装驱动
sudo modprobe vivi
sudo rmmod vivi
sudo insmod ./vivi.ko
(5)查看设备节点
ls /dev/video*
(6)执行命令
xawtv -c /dev/videoX

在装载vivi,ko时,实际上其所需要的依赖不仅仅是以上几个。若在装载vivi.ko之前没有将USB摄像头连接到Ubuntu,

则会继续出现Unknown symbol in module 的问题。当右下角出现摄像头时,则说明已经系统已经提前安装好相关驱动。则可以insmod成功。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值