中星微电子的 zc-0301 是一颗廉价摄像头常用的 DSP 控制芯片。这类芯片的摄像头在 Windows 下看驱动,可以看见 Vimicro 以及 301P 等类似字样,在 Linux 下
lsusb
则可看见如下字样: idVendor 0x0ac8 Z-Star Microelectronics Corp.
idProduct 0x301b
iManufacturer 1 Z-Star Corp.
iProduct 2 PC Camera
这颗芯片也称为 zc-0301/0302。目前,这颗DSP在廉价型摄像头市场中以及占据了绝对统治地位。我在 5.1 节期间去商店调查了一番,抽了3个店铺,数10款不同品牌、外观的廉价摄像头,无一例外全部是使用这个芯片。然而,该公司对 Linux 并不友好,既不提供驱动,也拒绝公开文档。几年来我曾数度寻找,都未能在 Linux 下用起来。一个市场领先的产品却长期无法在 Linux 下使用,这样的状况是不可接受的。
- 1节期间,我重新在网上搜索了一下相关的信息,出人意料地搜到了2个新发布的驱动,都可以驱动这款摄像头。他们是 spca5xx 和 zc030x。
spca5xx
这个驱动的主页位于
http://mxhaard.free.fr/ 。主页显得有些凌乱。驱动下载后,
make && make install
即可完成编译与安装。安装完成后相应的模块被装进了 /lib/modules/ 下面相应版本的内核所在的目录中,所以装载只要执行
modprobe spca5xx
,然后打开 gnomemeeting,此设备就已经出现在了 V4L 设备列表中。如图
Gnomemeeting 的设备列表截图按下确定后,就看见了摄像头的画面。
相当的顺利,不由让人十分欣喜。不过,图像质量却不如 Windows 下的好。画面显得灰暗,估计是白平衡没有设好。但 gnomemeeting 下不像 Windows MSN Messenger 中,没有”自动白平衡“这个选项。手动调节的话,gnomemeeting 提供的4个滑块,只有”对比度“一项拉动有效果,别的3个都没有任何作用。尽管画质不佳,但画面速度还可以,更重要的是给人看到了希望。另外,spca5xx 项目主页下面还提供了一个简单易用的摄像头操作软件,不仅可以用于 spca5xx 驱动,而且可以和所有 V4L 驱动配合,很不错,如图
ZC030X
ZC030X 项目从名字上看,就是专门给 Z-Star 30x 系列芯片写的驱动,他们甚至在 sourceforge 注册了个项目,主页位于
http://zc0302.sourceforge.net/ 。这个项目资料和文档齐全,不过还没有开发完成。至今还没有一个发行版,所有代码都在 CVS 中。网站上有个 beta 版的 tarball,我下载了这个包。编译和 spca5xx 一样顺利,不过它的脚本没有 spca5xx 完善,并不做安装的工作。有一个
load
脚本用于此内核模块的装载,但装载时忘了先装入 V4L 的模块
videodev
。此模块装入后即识别出了我的摄像头,并立刻开启之,点亮了上面的绿灯。但是,当我开启 gnomemeeting 打算看看它的画质时,gnomemeeting 冻住了。最终,我也没看到画面。虽然如此,但是一个对 Linux 不友好的中国公司的产品,终于在 Linux 下有了解决方案,也实在难得,让人至少有了希望。不足的是,最终这项工作仍然是由外国人完成的,而不是在它的原产地中国。