1、摄像头(Webcam)驱动说明;
摄像头在Windows的驱动极为容易,最多是点几下鼠标,没有什么太大的难度 。但在Linux中,驱动起来是有点困难,这并不是说Linux多高雅 。只能说开发商唯利是图,没有好处的事,他们的确不怎么积极 。Linux 的用户比较少,所以他们也不把用户当回事 。
目前看来摄像头(Webcam)在 Linux 中驱动基本成熟,缺少的是应用程序的支持,比如即时通讯工具支持视频的好程序比较少 。有些芯片组是没有任何问题,在国内,大多摄像头的芯片组是Z-Star,也有显示为Vimmicro(和Z-Star是同样的芯片)的 。在Fedora 5.0或SuSE 10.x中,已经支持了很多摄像头,应该说即插即用 。对于我们来说,是不是即插即用,那是另一回事,只有幸运儿才有这个的福气 。如果您的摄像头接上还是用不了,那您就有必要看一下我写的这个文档了 。
本文操作环境: Fedora Core 5.0。由于大部份是用源码包编译,所以还是有通用性的;
1.1 摄像头在Linux中是如何支持的;
在 Linux中,硬件的驱动程序,都是由内核支持的;目前比较新内核版本也集成了一些的摄像头驱动 。就是Fedora、SuSE最新版本所支持的内核也是来自由 kernel.org。所以支持也是极为正常的 。内核对硬件的支持分为内置于和外挂模块两种方便 。对于摄像头来说,大多是模块支持的;
1.2 摄像头(Webcam)驱动网址;
http://mxhaard.free.fr
目前最新版本的摄像头驱动,已经到了 spca5xx-20060501.tar.gz 版本;您可以在上面的地址下载;
2、驱动摄像头详细过程;
2.1 查看摄像头型号;
我们用用到 lshal 工具,在老版本的Linux是没有这个工具的 。在最新版本的Linux都有这个工具;
[root@localhost ~]# lshal |grep WebCam
info.product = "ZC0303 WebCam" (string)
usb_device.product = "ZC0303 WebCam" (string)
上面这个命令是列出系统硬件设备,然后从输出中,提取WebCam字样的信息 。这说明这个摄像头是ZC0303芯片组的;如果想更详细的,就用下面的命令,找到带有ZC0303 WebCam设备的详细信息,就把所有USB设备都列出来;
[root@localhost ~]# lshal |grep usb
然后就找 ZC0303字样的设备,那一大段都要仔细的看;
也可以这样的方法;
[root@localhost ~]# lshal -s |grep usbusb_device_0_0_0000_00_1d_0usb_device_0_0_0000_00_1d_0_if0usb_device_4fc_3_noserialusb_device_4fc_3_noserial_if0usb_
device_4fc_3_noserial_if0_logicaldev_inputusb_device_4fc_3_noserial_usbrawusb_device_0_0_0000_00_1d_0_usbrawusb_device_
0_0_0000_00_1d_1usb_device_0_0_0000_00_1d_1_if0usb_device_ac8_303b_noserialusb_device_ac8_303b_noserial_if0usb_
device_ac8_303b_noserial_usbrawusb_device_ac8_303b_noserial_video4linuxusb_device_0_0_0000_00_1d_1_usbrawusb_
device_0_0_0000_00_1d_2usb_device_0_0_0000_00_1d_2_if0usb_device_0_0_0000_00_1d_2_usbrawusb_device_0_0_
0000_00_1d_7usb_device_0_0_0000_00_1d_7_if0usb_device_0_0_0000_00_1d_7_usbraw
我们看到带有video4linux字样的,他的设备号是 usb_device_ac8_303b_noserial_video4linux字样的,在其前面还有几个差不多的编号的设备 。比如 usb_device_ac8_303b_noserial 。我们就先查这个设备,大多数这样的一组相似的设备号,查第一个就能知道是什么设备 。于是用 。。
[root@localhost ~]# lshal -l -u usb_device_ac8_303b_noserial
udi = "/org/freedesktop/Hal/devices/usb_device_ac8_303b_noserial"
info.udi = "/org/freedesktop/Hal/devices/usb_device_ac8_303b_noserial" (string)
linux.subsystem = "usb" (string)
linux.hotplug_type = 1 (0x1) (int)
usb_device.bus_number = 3 (0x3) (int)
usb_device.can_wake_up = false (bool)
usb_device.is_self_powered = false (bool)
usb_device.version_bcd = 272 (0x110) (int)
usb_device.speed_bcd = 4608 (0x1200) (int)
推荐阅读
- 华为畅享9e中将后台应用关掉具体操作步骤
- 常用Linux与Windows共享建最简Samba
- 墙布甲醛含量高吗
- Linux内核2.6 的来龙去脉
- 绝对好用 Linux操作系统的8个经典技巧
- 《孙子兵法》中哪一手段为上兵
- 在自然数中,最小的奇数是,最小的偶数是() 在自然数中,最小的奇数是什么,最小的偶数是什么
- 华为p30中找到应用分身位置具体操作步骤
- Linux 服务器集群系统实现方案详解
- WPS中为汉字添加拼音具体操作步骤