电子市场买的摄像头《好朋友》,说实话没听说过这个品牌。
插到我的ubuntu 10.04上,通过cheese 可以用
插到我的板子上就有问题了:
首先:设备描述符没有 /dev/video0,只有这个设备,不是我的,
cat /dev/video0 > a.jpg 显示No read ...反正就是不是这个设备描述符。
其次,把设备拔下来再插上,有如下信息
[root@qian /]# usb 1-1: USB disconnect, address 2 //拔下摄像头
usb 1-1: new full speed USB device using s3c2410-ohci and address 3 //插上摄像头
usb 1-1: New USB device found, idVendor=0ac8, idProduct=3450
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: Venus USB2.0 Camera
usb 1-1: Manufacturer: Vimicro Corp.
usb 1-1: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3450) //这里可以看出是中星微的摄像头,驱动用的是uvc
input: Venus USB2.0 Camera as /class/input/input2
这个摄像头的驱动我编译进内核了,下面的信息可以证明已经加载了驱动。
[root@qian /]# dmesg|grep cam #这个camif是不是开发板上的那个20针从camera接口?
initializing s3c2440 camera interface......
s3c2440 camif init done
[root@qian /]# dmesg|grep Cam
ov511: v1.64 for Linux 2.5:ov511 USB Camera Driver
usb 1-1: Product: Venus USB2.0 Camera
uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3450)
input: Venus USB2.0 Camera as /class/input/input1
[root@qian /]# dmesg |grep video
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo //这点看是不是
uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3450)
本以为这俩可能救了我的命,谁知道,最终还是没有解决。
从头分析下:
1,硬件是好的,
2,驱动找到了(开机之前插上设备,开机之后插上设备都试过了)
usbcore: registered new interface driver uvcvideo //这点看是不是
uvcvideo: Found UVC 1.00 device Venus USB2.0 Camera (0ac8:3450)
这个是证明驱动找到了吗?
3,设备没有建立描述符!!!*这点是什么原因呢? 驱动?还是其他?
(1)busybox编译是加了mknod (root /bin/也有mknod)可以开机后建立!
(2)文件系统我只建立了null console开机必备的,其他的都是udev建立的(负责旧版本的设备管理系统devfs已被废除,但新版本的udev是一个基于用户空间的设备管理系统。)
http://www.ideasonboard.org/uvc/
http://weijb0606.blog.163.com/blog/static/131286274201063145356429/
其实这个问题最终并不是驱动问题,是我的问题,驱动在2这个上面已经找到了,原因是我太相信这个关盘里的测试程序了,根本没有仔细看源码,
虽然这个驱动是没有问题了,但是下面要自己写测试程序,最后再做成视频监控系统,真的有点让人。。。。
磨练吧,小弟不是吓大的,呵呵