最近在搞中星微摄像头,想在linux下使用usb摄像头。

但是网上看的uvc驱动是从linux2.6.27以后才支持的,以前都是单独的摄像头驱动。

而我用的是linux2.6.21,在multimedia devices居然有z0301驱动。

我使用了两款中星微摄像头

vendor id    product id 分别为

0ac8          301b

0ac8          3580

在linux如果现在运行cat /proc/kmsg | grep usb

居然识别了0ac8:301b,提示No supported sensor,查看设备文件没有/dev/video0,后来才知道z0301只支持两种传感器。

网上下了gspca万能驱动,编译下载后,cat /proc/kmsg | grep usb。发现支持了0ac8:301b,有了/dev/video0。

通过servfox和spcaview检验摄像头没有问题。

用camtest测试摄像头不行。我猜测可能万能驱动不是用的v4l2架构。

但是另外一款中星微电子0ac8:3580用不了,没有办法只有移植uvcdriver驱动。

我下了linux2.6.28的代码,重点将drivers/media/uvc的代码移植过去。

另外将include/media文件修改了一下,选择uvcdriver为Module。

make modules。make zimage。(由于修改了.h文件所以导致kernel编译不了,用以前的zimage就可以了,影响不大)

发现生成了模块,但是zimage生成不了。

不管那么多,直接insmod uvcdriver.ko,提示undefined symbols

依次加载下面的模块。居然能够使用摄像头了。

insmod v4l1-compat.ko insmod v4l2-common.ko insmod videodev.ko insmod compat_ioctl32.ko insmod uvcvideo.ko

linux摄像头驱动调试,linux 2.6.21支持vimcro摄像头驱动的调试过程相关推荐

  1. 虚拟摄像头之三: 重构android8.1 的 v4l2_camera_HAL 支持虚拟摄像头

    前言 接下来将了解Android HAL是如何与相机设备进行交互的,一般各硬件厂商的 camera HAL会有个 v4l2_camera_hal.cpp 文件,在这个文件中向frameworks提供H ...

  2. Linux摄像头UVC驱动第五篇--启动传输之设置摄像头参数

    本章主要实现 myuvc_vidioc_streamon()即启动传输 中的摄像头参数设置 向USB摄像头设置参数: 比如使用哪个format, 使用这个format下的哪个frame(分辨率),参考 ...

  3. linux内核单步调试,Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)

    如何单步调试Linux内核一直困扰着linux驱动开发人员,内核有其代码量大.逻辑复杂.与硬件交互的特性.因此,有着不同于应用程序的调试方法,据统计Linux内核开 Linux内核驱动开发之KGDB原 ...

  4. linux 设备驱动 ppt,linux设备驱动开发详解讲座ppt

    PPT内容 这是linux设备驱动开发详解讲座ppt下载,主要介绍了设备驱动简介:建立和运行模块:字符驱动:调试技术:并发和竞争:分配内存:硬件通讯:中断处理:块设备驱动,欢迎点击下载. 嵌入式Lin ...

  5. linux 程序退出 调试,linux驱动程序调试常用方法(printk,OOP,strace,hacking,ioctl,/proc,kgdb)...

    驱动程序开发的一个重大难点就是不易调试.本文目的就是介绍驱动开发中常用的几种直接和间接的调试手段,它们是: 利用printk 查看OOP消息 利用strace 利用内核内置的hacking选项 利用i ...

  6. linux 从摄像头采集一帧 jpg,基于Video4Linux 的USB 摄像头图像采集实现.pdf

    基于 Video4Linux 的 USB 摄像头图像采集实现 戴小鼠 daily3 1 基于基于 Video4Linux 的的 USB 摄像头图像采集实现摄像头图像采集实现 Write by dail ...

  7. win摄像头怎么在linux,如何利用Video4Linux获取摄像头数据

    Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放. 1. 摄像头的安装 在 Linux下 ...

  8. 调试Linux系统挂起和休眠问题的最佳实践

    概述 当谈到Linux系统的挂起/休眠时, 我们指的是以下三种受支持的Linux系统休眠状态: STI(Suspend To Idle)是一种通用的.纯软件.轻量级系统睡眠状态.与特定于平台的驱动程序 ...

  9. Linux Kernel - Debug Guide (Linux内核调试指南 )

    linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...

  10. 调试linux内核模块

    1:前言: 最近几天学习Linux-2.6平台上的设备驱动,所以要建立内核及内核模块的调试平台.虽然网上有很多相关教程,但多是基于2.6.26以前的通过补丁安装的,过程非常复杂,而且问题比较多.lin ...

最新文章

  1. ArcGIS工具备忘
  2. 虚拟机7.1.4序列号
  3. java隔一个逗号读入文件_将逗号分隔的文本文件读入HashMap,其中文件在多行Java中具有相同的键...
  4. UNIX 环境高级编程(五)—— unistd.h
  5. vsftp服务器mysql认证_基于mysql控制vsftp的用户认证机制
  6. linux 更新目录时间戳,修改linux 文件的时间戳
  7. NVIDIA驱动报错解决方案
  8. 【经验总结】CS与MSF之间的会话传递
  9. 在Centos7上安装vpnc客户端
  10. Java之网络编程(二)UDP
  11. 揭开均线系统的神秘面纱_揭开极限编程的神秘面纱,重新探讨“ XP蒸馏”,第3部分...
  12. 比炒币还香的在线作图工具draw.io
  13. 尚硅谷MySQL高级JAVA版
  14. conda虚拟环境pip装包总装载总环境中解决办法
  15. Java--Java语言基础
  16. Web.config中设置网站起始页
  17. 利用python实现星座运势查询APP
  18. |--------硬件故障专题--------| 主板.CPU.硬盘.内存.显卡.声卡
  19. 服务器:bash:./xxx:无法执行二进制文件报错
  20. 复变函数知识点整理1-4

热门文章

  1. vim的关键词的补全功能
  2. linux的dlan脚本,Linux DLNA
  3. 【必做1】结对编程—词频统计
  4. 我的window10
  5. Rank loss调研
  6. 【连通域检测】基于形态学处理的连通区域检测matlab仿真
  7. T32添加Toolbar按钮
  8. 【转】ACM各种WA的说明及可能的原因
  9. 防风雨密封胶的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. ie10服务器运行失败,win7系统下无法安装ie10浏览器如何解决?win7系统下无法安装ie10浏览器三种解决方法...