阅读:2618回复:3
请教一个linux下摄像头驱动的问题~
最近在做linux下的摄像头驱动
我的摄像头的VID和PID为(0x0ac8, 0x3330),我也不知道是什么牌子的。。。 我使用的linux内核是2.6.29,里面有gspca 2.4.0的驱动,我想使用,可是又没有支持我这款摄像头 于是我修改了里面一个摄像头的VID和PID 将{USB_DEVICE(0x0ac8, 0x301b)}改为{USB_DEVICE(0x0ac8, 0x3330)}, 之后加载驱动 #insmod gspca_main.ko gspca: main v2.4.0 registered # insmod gspca_zc3xx.ko usbcore: registered new interface driver zc3xx zc3xx: registered 插入摄像头后: usb 2-1: reset high speed USB device using musb_hdrc and a2 usb 2-1.4: new high speed USB device using musb_hdrc and address 5 usb 2-1.4: device v0ac8 p3330 is not supported usb 2-1.4: configuration #1 chosen from 1 choice gspca: probing 0ac8:3330 zc3xx: probe sensor -> 00 zc3xx: Find Sensor HV7131B gspca: probe ok gspca: probing 0ac8:3330 这时候我运行我的视频捕获程序: #./v4l2 -d /dev/video0 SUCCESS : open_device gspca: no transfer endpoint found Failed:VIDIOC_CROPCAP SUCCESS : Init_device Failed(MMAP):VIDIOC_STREAMON 其中gspca: no transfer endpoint found这句应该是驱动打印出来的 这个是在gspca.c中的static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev)中打印出来的 应用程序中,我能成功打开设备/dev/video0,并且能按照v4l2标准ioctl一些参数(基本都可以,除了这条VIDIOC_CROPCAP) 最大的问题是我想捕获视频的时候发送VIDIOC_STREAMON给驱动时,就返回失败了。。 这个应该是我的摄像头驱动没有正确的原因吧,请问应该如何修改? |
|
沙发#
发布于:2010-04-13 21:37
网上说,摄像头的DSP控制芯片是最重要的
我如何才能知道每款摄像头的DSP控制芯片型号? 网上能查吗? 总不能拆掉摄像头后才能看吧。。。。 |
|
板凳#
发布于:2010-04-14 19:51
不好意思。。。这个问题换了摄像头后就正常了。。。
|
|
地板#
发布于:2010-04-14 19:53
看了之前的一些帖子,在这个版面问问题几乎是不会得到解答的啊。。。。
|
|