参考摄像头驱动vidpid大全
- 格式:doc
- 大小:155.01 KB
- 文档页数:31
使用devcon禁用任何硬件设备,比如光驱,软驱,摄像头等等网管联盟的e网尘风同志提出这么一个问题,有的顾客不用摄像头,但是该顾客用的机器又偏偏有摄像头,但是顾客有不想换机器,又不想用摄像头,问题是他不用就不用吧,他非得把摄像头扔桌子下面去,很气人,于是e网尘风想找办法让摄像头不能用,于是我就百度了一下,发现devcon可以命令行禁用硬件,下面我简单说下用法,因为是现炒现卖,写的不好,大伙别扔砖头~首先我们需要有devcon.exe这个程序,但是系统里默认似乎是不安装的。
所以需要下载,本文最后提供下载。
devcon禁用设备参数devcon /disable 设备ID在2003 年第23 期的《设备管理器实例点点通》一文中,介绍了通过“设备管理器”禁用光驱的方法,这个功能同样能用devcon 命令来实现,并且还可以轻松实现禁止指定用户无法使用光驱。
在命令行中输入“devcon status *cdrom* ”(这里的*与文件搜索时的使用是一样的,可以代表任意字符),在屏幕上会列出当前系统中所有光驱设备状态。
从“Name ”行中可以看到光驱名称,例如“ATAPICD-R/RW 12X8X32 USB Device ”就是光驱(刻录机)名我的光驱!你别用!将上面显示的“USBSTOR \CDROM&VEN_ATAPI&PROD_CD-R/RW_12X8X32&REV_9. CC\6&29716FAA&0 ”就是光驱设备ID。
输入“devcon disable USBSTOR\CDROM&VEN_ATAPI&PROD_CD-R/RW_12X8X32&REV_\6&29716FAA&0 ”即可禁用该刻录机了,不过这样输入命令似乎有点太长,也可以使用“*”符号进行简化输入,例如这里输入“devcon disable *cdrom* ”也能实现同样效果。
本本重装之后,在设备管理器中所有设备都正常了,前几天视频的时候才发现自己的摄像头成像居然是倒置的,确定只是电脑的驱动问题后,在自己搞了一番终于成功搞定,把过程贴出来跟大家一起分享下~
1、首先我们看到设备管理器中所有设备都是正常的,但是这个不能并不能说明他们真的工作完全正常了,这个摄像头就是个例子
2、然后我们要找到自己摄像头的驱动
3、查看我们的摄像头的硬件id,在usb 2.0 1.3M UVC WebCam右键属性——详细信息——硬件ID里可以找到
4、一定是去官网去下载专区下载驱动,例如我的是华硕k40ab,系统是win7 32位的,找到摄像头驱动,我们发现摄像头有两个驱动程序在
版本分别是“版本V6.5853.77.012 ”与“版本V061.005.200.260 ”,且更新时间是一致的
5、按照刚刚我们看到的自己摄像头的硬件ID是
USB\VID_04F2&PID_B071&REV_1515&MI_00,我们发现后面一个“版本V061.005.200.260 ”才是适合自己的
6、把原有驱动卸载,然后解压下载的驱动后直接安装,重启后生效,发现摄像头正常了,又可以正常的视频聊天了~。
寻找摄像头驱动的方法,告别万能驱动2010-01-17 10:27摄像头用久了或重新安装系统后,遇到光盘驱动不知道放哪里了,可以通过硬件ID来精确找到所需要的驱动或寻求帮助。
具体办法如下:方法是:右键我的电脑--管理--设备管理器--找到摄像头的有问号的设备--双击--找到详细信息--里面有个硬件ID。
类似于USB\VID_07E4&PID_9473这样的东西,VID就是芯片厂商代码,PID就能确定摄像头芯片方案,然后就可以对照下载驱动了。
什么是硬件ID呢?硬件ID是电脑所有硬件的一个编号,所有设备都有如下编号:VEN_1106&DEV_3038,VEN代表硬件厂商,DEV代表产品编号。
USB设备会有如下编号:VID_045E&PID_0039,道理跟上面的是一样的。
所有的测试软件都有可能会出错,只有硬件ID是最可靠的,各位只要确认下INF文件包含需要的硬件ID,就保证是可以用的。
如何获得硬件ID?最简单的方法是直接在设备管理器中查看。
右键“我的电脑”--- 管理(第四个就是管理) --- 找到里面的“设备管理器”--- 无论什么设备双击打开,选择“详细信息”--- 就可以看到“PCI\VEN_1106&DEV_3059&SUBSYS_82121565&REV_60\3&13C0B0C5&0&8D”这样的一串字符,里面的VEN_1106&DEV_3059就是关键的硬件ID,点击字符按键盘“CTRL+C”就可以复制出来了,贴到论坛就可以了。
当然你也可以用EVEREST生成硬件报告,里面也可以找到硬件ID。
我们打开驱动的INF文件,就可以找到里面的“VEN_10EC&DEV_8180”对应设备管理器的硬件ID即可判断驱动是否正确。
以最常见的摄像头为例,由于摄像头厂家众多,驱动非常混乱,各个网站也出现所谓的万能,这个世界有万能的东西吗?让我们相信硬件ID吧,集中市面的硬件ID,因为摄像头的芯片厂家就那么几家,这样就可以让大家可以很方便找到自己所有需要的驱动。
什么是硬件ID呢?硬件ID是电脑所有硬件的一个编号,所有设备都有如下编号:VEN_1106&DEV_3038,VEN代表硬件厂商,DEV代表产品编号。
USB设备会有如下编号:VID_045E&PID_0039,道理跟上面的是一样的。
所有的测试软件都有可能会出错,只有硬件ID是最可靠的,各位只要确认下INF文件包含需要的硬件ID,就保证是可以用的。
如何获得硬件ID?最简单的方法是直接在设备管理器中查看。
右键“我的电脑” --- 管理(第四个就是管理) ---找到里面的“设备管理器” --- 无论什么设备双击打开,选择“详细信息” --- 就可以看到“PCI\VEN_1106&DEV_3059&SUBSYS_82121565&REV_60\3&13C0B0C5&0&8D”这样的一串字符,里面的VEN_1106&DEV_3059就是关键的硬件ID,点击字符按键盘“CTRL+C”就可以复制出来当然你也可以用EVEREST生成硬件报告,里面也可以找到硬件ID。
我们打开驱动的INF文件,就可以找到里面的“VEN_10EC&DEV_8180”对应设备管理器的硬件ID即可判断驱动是否正确。
以最常见的摄像头为例,由于摄像头厂家众多,驱动非常混乱,各个网站也出现所谓的万能,这个世界有万能的东西吗?让我们相信硬件ID吧,集中市面的硬件ID,因为摄像头的芯片厂家就那么几家,这样就可以让大家可以很方便找到自己所有需要的驱动。
【摄像头硬件ID】我们不相信万能,我们相信硬件ID。
对照自己的硬件ID可以精确找到自己的驱动。
正在更新中,如果有新的ID可以反馈给我。
下载地址还在整理当中,大家如果需要,我会更新放到网站。
最常见的摄像头硬件ID:VID_0AC8&PID_0302VID_0AC8是中芯微的代码,0302是中芯微的摄像头产品代码,还包括301b,303b,305b。
说明:理解摄像头驱动需要四个前提:1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理2)platform_device和platform_driver工作原理3)Linux内核V4L2驱动架构4)Linux内核I2C驱动架构1. 摄像头工作原理OV9650/9655是CMOS接口的图像传感器芯片,可以感知外部的视觉信号并将其转换为数字信号并输出。
通过下面的框图可以清晰的看到它的工作原理:我们需要通过XVCLK1给摄像头提供时钟,RESET是复位线,PWDN在摄像头工作时应该始终为低。
HREF是行参考信号,PCLK是像素时钟,VSYNC是场同步信号。
一旦给摄像头提供了时钟,并且复位摄像头,摄像头就开始工作了,通过HREF,PCLK和VSYNC 同步传输数字图像信号。
数据是通过D0~D7这八根数据线并行送出的。
OV9650向外传输的图像格式是YUV的格式,YUV是一种压缩后的图像数据格式,它里面还包含很多具体的格式类型,我们的摄像头对应的是YCbCr(8 bits, 4:2:2, Interpolated color).一定要搞清楚格式,后面的驱动里面设置的格式一定要和这个格式一致。
OV9650里面有很多寄存器需要配置,配置这些寄存器就需要通过芯片里面的SCCB总线去配置。
SCCB其实是一种弱化的I2C总线。
我们可以直接把摄像头接在S5PC100的I2C 控制器上,利用I2C总线去读写寄存器,当然直接使用GPIO模拟I2C也可以实现读写。
我们的驱动代码里两种操作模式都实现了。
从OV9650采集过来的数据没法直接交给CPU处理。
S5PC100芯片里面集成了Camera 控制器,叫FIMC(Fully Interactive Mobile Camera完全交互式移动摄像头)。
摄像头需要先把图像数据传给控制器,经过控制器处理(裁剪拉升后直接预览或者编码)之后交给CPU 处理。
实际上摄像头工作需要的时钟也是FIMC给它提供的。
最常见的摄像头硬件ID:VID_0AC8&PID_0302VID_0AC8是中芯微的代码,常见方案如下:USB\VID_0AC8&PID_303B 301PLH方案/301plh.htm USB\VID_0AC8&PID_301B 301B方案/301B.htm USB\VID_0AC8&PID_305B 305B方案/305B.htmUSB\VID_0AC8&PID_307B ZS211方案/ZS211.htm USB\VID_0ac8&PID_0321 VC0321 /VC0321.htm USB\VID_0ac8&PID_0323 VC0323 /VC0323.htm USB\VID_0ac8&PID_0323 ZC0323P /ZC0323P.htm USB\VID_0ac8&PID_0328 /ZC0326.htm USB\VID_0ac8&PID_0326 ZC0326 /ZC0326.htm中星微无驱方案摄像头1/VM332.htm支持下列硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_0336USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3000中星微无驱方案2/Vimicro_UVC.htm支持硬件ID:USB\VID_0ac8&PID_3313 USB\VID_0ac8&PID_0331 USB\VID_0ac8&PID_331B USB\VID_0ac8&PID_0332 USB\VID_0ac8&PID_332D USB\VID_0ac8&PID_3330 USB\VID_0ac8&PID_3332 USB\VID_0ac8&PID_3333 USB\VID_0ac8&PID_3340 USB\VID_0ac8&PID_3342 USB\VID_0ac8&PID_3343 USB\VID_0ac8&PID_336D USB\VID_0ac8&PID_3370 USB\VID_0ac8&PID_3380 USB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3450 USB\VID_0ac8&PID_3460USB\VID_0ac8&PID_3470USB\VID_0ac8&PID_3480USB\VID_0ac8&PID_3490USB\VID_0ac8&PID_3610USB\VID_0ac8&PID_3016USB\VID_0ac8&PID_3000USB\VID_0ac8&PID_3630VID_0C45是台湾松翰电子Sonix出的。
从零写⼀个摄像头驱动(四)1、装载驱动时发现,模块缺少依赖解决⽅法: 1、先安装Ubantu⾥⾯⾃带的vivi程序,它会把它所依赖的驱动程序安装进来/ 2、sudo rmmod vivi.ko 3、ls /dev/video* 4、xawtv -c /dev/video* 我写的myvivi.ko编译出来之后,对应的是video1/*APP在调⽤ioctl VIDIOC_QBUF时导致此函数被调⽤*它会填充Video_buffer结构体(头部),并调⽤videobuf_iolock来分配内存*实际上是⽤mmap函数分配内存的*/static intmyvivi_buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,enum v4l2_field field){/* 1.做些准备⼯作 */#if 0/* 2.调⽤videobuf_iolock为类型为V4L2_MEMORY_USERPTR的videobuf分配内存 */if (VIDEOBUF_NEEDS_INIT == buf->vb.state) {rc = videobuf_iolock(vq, &buf->vb, NULL);if (rc < 0)goto fail;}#endif队列的内存实际上是调⽤ fops中的mmap函数分配的,加⼊mmap,并实现myvivi_mmap编译加载后,运⾏,原来的错误信息消失了,现在请求buf,分配buf, 队列操作等函数已经实现,现在缺少的是:怎么构造⽣产数据?再次根据系统提⽰的信息修改代码加⼊摄像头启动/关闭函数加⼊v4l2_poll函数(select)来查询数据运⾏后发现,⽆法退出界⾯,是因为如果poll没有查询到数据则在队列buf->done上休眠,下⼀步构造数据唤醒进程。
在vivi.c中,实际上是创建了⼀个内核线程,线程平时是休眠的。
最常见的摄像头硬件ID:VID_0AC8&PID_0302 VID_0AC8是中芯微的代码,常见方案如下:USB\VID_0AC8&PID_303B 301PLH方案USB\VID_0AC8&PID_301B 301B方案USB\VID_0AC8&PID_305B 305B方案USB\VID_0AC8&PID_307B ZS211方案USB\VID_0ac8&PID_0321 VC0321USB\VID_0ac8&PID_0323 VC0323USB\VID_0ac8&PID_0323 ZC0323PUSB\VID_0ac8&PID_0328USB\VID_0ac8&PID_0326 ZC0326中星微无驱方案摄像头1支持下列硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_0336USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3410USB\VID_0ac8&PID_3420USB\VID_0ac8&PID_3430USB\VID_0ac8&PID_3440USB\VID_0ac8&PID_3000中星微无驱方案2支持硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3370USB\VID_0ac8&PID_3380USB\VID_0ac8&PID_3410USB\VID_0ac8&PID_3420USB\VID_0ac8&PID_3430USB\VID_0ac8&PID_3440USB\VID_0ac8&PID_3450USB\VID_0ac8&PID_3460USB\VID_0ac8&PID_3470USB\VID_0ac8&PID_3480USB\VID_0ac8&PID_3490USB\VID_0ac8&PID_3610USB\VID_0ac8&PID_3016USB\VID_0ac8&PID_3000USB\VID_0ac8&PID_3630VID_0C45是台湾松翰电子Sonix出的。
【更新几个比较少见的OEM松瀚方案】USB\VID_0c46&PID_605aUSB\VID_0c45&PID_8008USB\VID_0C45&PID_600D【SN9C101方案】下载地址:USB\VID_0c45&PID_603f ; SN9C101 + CISVF10USB\VID_0c45&PID_602a ; SN9C101 + HV7131 D/EUSB\VID_0c45&PID_602d ; SN9C101 + HV7131 RUSB\VID_0c45&PID_6009 ; SN9C101 + PAS106USB\VID_0c45&PID_6005 ; SN9C101 + TAS5110USB\VID_0c45&PID_6019 ; SN9C101 + OV7630USB\VID_0c45&PID_6011 ; SN9C101 + OV6650USB\VID_0c45&PID_6007 ; SN9C101 + TAS5110D【SN9C102方案】下载地址:USB\VID_0c45&PID_602c ; SN9C102 + OV7630USB\VID_0c45&PID_6030 ; SN9C102 + MI0343 MI0360 MI0330 USB\VID_0c45&PID_6024 ; SN9C102 + TAS5130USB\VID_0c45&PID_6025 ; SN9C102 + TAS5130USB\VID_0c45&PID_6028 ; SN9C102 + PAS202USB\VID_0c45&PID_6029 ; SN9C102 + PAS106【SN9C102P方案】下载地址:USB\VID_0c45&PID_6040 ; SN9C102P + MI0360USB\VID_0c45&PID_607a ; SN9C102P + OV7648USB\VID_0c45&PID_607c ; SN9C102P + HV7131RUSB\VID_0c45&PID_607e ; SN9C102P + OV7630USB\VID_0c45&PID_607b ; SN9C102P + OV7660【SN9C103方案】下载地址:USB\VID_0c45&PID_608e ;CISVF10USB\VID_0c45&PID_6083 ;HY7131D/EUSB\VID_0c45&PID_608c ;HY7131/RUSB\VID_0c45&PID_608f ;OV7630USB\VID_0c45&PID_60af ;PAS202USB\VID_0c45&PID_60a8 ;PAS106USB\VID_0c45&PID_6082 ;MI0343,MI0360USB\VID_0c45&PID_60aa ;TAS5130USB\VID_0c45&PID_6025 ;TAS5130【SN9C105方案】下载地址:USB\VID_0c45&PID_60c0&MI_00 ; SN9C105 + MI0360USB\VID_0c45&PID_60fa&MI_00 ; SN9C105 + OV7648USB\VID_0c45&PID_60fc&MI_00 ; SN9C105 + HV7131RUSB\VID_0c45&PID_60fe&MI_00 ; SN9C105 + OV7630USB\VID_0c45&PID_60fb&MI_00 ; SN9C105 + OV7660USB\VID_0c45&PID_60f2&MI_00 ; SN9C105 + OV7670USB\VID_0c45&PID_60ef&MI_00 ; SN9C105 + ICM105CUSB\VID_0c45&PID_60cc&MI_00 ; SN9C105 + HV7131GP USB\VID_0c45&PID_60ec&MI_00 ; SN9C105 + MO4000USB\VID_0c45&PID_60c8&MI_00 ; SN9C105 + OM6802USB\VID_0c45&PID_60c2&MI_00 ; SN9C105 + P1030xCUSB\VID_0c45&PID_60ce&MI_00 ; SN9C105 + SP80708【SN9C110方案】下载地址:USB\VID_0c45&PID_612e ; SN9C110 + OV7630USB\VID_0c45&PID_612f ; SN9C110 + ICM105CUSB\VID_0c45&PID_6122 ; SN9C110 + ICM105CUSB\VID_0c45&PID_612a ; SN9C110 + OV7648USB\VID_0c45&PID_6123 ; SN9C110 + SanyoCCDUSB\VID_0c45&PID_612c ; SN9C110 + MO4000【SN9C120方案】下载地址:USB\VID_0c45&PID_6130 ; 120+MI0360/MT9V111/MI0360B USB\VID_0c45&PID_613a ; SN9C120 + OV7648USB\VID_0c45&PID_613c ; SN9C120 + HV7131RUSB\VID_0c45&PID_613e ; SN9C120 + OV7630USB\VID_0c45&PID_6132 ; SN9C120 /SN9C120B+ OV7670 USB\VID_0c45&PID_613b ; SN9C120 + OV7660USB\VID_0c45&PID_6138 ; SN9C120 + MO4000USB\VID_0c45&PID_6108 ; SN9C120 + OM6802USB\VID_0c45&PID_6148 ; SN9C120B + OM6802USB\VID_0c45&PID_6102 ; SN9C120 + PO2030N/GC0305 USB\VID_0c45&PID_6142 ; SN9C120B + PO2030N/GC0305 USB\VID_0c45&PID_6143 ; SN9C120B + SP80708USB\VID_0c45&PID_614c ; SN9C120B + GC0306【SN9C128方案】下载地址:USB\VID_0c45&PID_6100 ; MI0360 / MT9V111 / MI0360BUSB\VID_0c45&PID_610a ; OV7648USB\VID_0c45&PID_610c ; HV7131RUSB\VID_0c45&PID_610e ; OV7630USB\VID_0c45&PID_610b ; OV7660【SN9C201方案】下载地址:USB\VID_0c45&PID_6240 ; SN9C201 + MI1300USB\VID_0c45&PID_6242 ; SN9C201 + MI1310USB\VID_0c45&PID_624e ; SN9C201 + SOI968USB\VID_0c45&PID_624f ; SN9C201 + OV9650USB\VID_0c45&PID_6243 ; SN9C201 + S5K4AAFXUSB\VID_0c45&PID_624b ; SN9C201 + CX1332USB\VID_0c45&PID_627f ; EEPROMUSB\VID_0c45&PID_6248 ; SN9C201 + OV9655USB\VID_0c45&PID_624c ; SN9C201 + MI1320USB\VID_0c45&PID_6270 ; SN9C201 + MI0360\MT9V111 USB\VID_0c45&PID_627c ; SN9C201 + HV7131RUSB\VID_0c45&PID_627b ; SN9C201 + OV7660USB\VID_0c45&PID_627a ; SN9C201 + S5K53BEBUSB\VID_0c45&PID_6260 ; SN9C201 + OV7670ISPUSB\VID_0c45&PID_6262 ; SN9C201 + OM6802【SN9C202方案】下载地址:USB\VID_0c45&PID_6280&MI_00 ; SN9C202 + MI1300USB\VID_0c45&PID_6282&MI_00 ; SN9C202 + MI1310USB\VID_0c45&PID_628e&MI_00 ; SN9C202 + SOI968USB\VID_0c45&PID_628f&MI_00 ; SN9C202 + OV9650USB\VID_0c45&PID_6288&MI_00 ; SN9C202 + OV9655USB\VID_0c45&PID_628a&MI_00 ; SN9C202 + ICM107USB\VID_0c45&PID_628c&MI_00 ; SN9C202 + MI1320USB\VID_0c45&PID_62b0&MI_00 ; SN9C202 + MI0360\MT9V111 USB\VID_0c45&PID_62bc&MI_00 ; SN9C202 + HV7131RUSB\VID_0c45&PID_62bb&MI_00 ; SN9C202 + Ov7660USB\VID_0c45&PID_62ba&MI_00 ; SN9C202 + S5K53BEBUSB\VID_0c45&PID_628b&MI_00 ; SN9C202 + CX1332USB\VID_0c45&PID_6283&MI_00 ; SN9C202 + S5K4AAFXUSB\VID_0c45&PID_62a0&MI_00 ; SN9C202 + Ov7670ISPUSB\VID_0c45&PID_62a2&MI_00 ; SN9C202 + OM6802【SN9C255方案】下载地址:USB\VID_0C45&PID_62C0USB\VID_0C45&PID_62C1USB\VID_0C45&PID_62E0【SN9C325方案】下载地址:USB\VID_0c45&PID_612a ; SN9C325 + OV7648 + POx1030xC + SOI768 + PO2030N + OV7660 + OV7670 + HV7131RUSB\VID_0c45&PID_6128 ; SN9C325 + OM6802应论坛上的朋友提醒,增加一个松瀚电子出的免驱摄像头方案。