vmware中的Ubuntu8.04安装中星微zc301b摄像头驱动问题
1.按照下面网友的教程安装驱动和cheese
Ubuntu8.04自带的驱动已经能够识别大多数摄像头,然而兼容性并不好,很多只能被Ekiga识别,而无法使用skype进行视频聊天。我们需要进行一些安装和调试工作来让摄像头更好的工作。
首先,查看当前的usb口连接情况:
$ lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 005: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 WebCam
Bus 002 Device 003: ID 046d:c01f Logitech, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
从这些信息我们可以看出摄像头的Vendor_id=0ac8,Product_id=301b;还可以看出图形界面已经使用的usb端口的情况及摄像头芯片的制造商Z-Star Microelectronics Corp.说明我们的摄像头已经被系统所识别,下面让我们开始吧:
1. 下载gspcav1-20071224.tar.gz并解压
$ wget -c
http://www.slackware.com/~alien/slackbuilds/gspcav1/build/gspcav1-20071224.tar.gz$ tar zxvf gspcav1-20071224.tar.gz
2. 编译并安装驱动
$ cd gspcav1-20071224
$ make clean
$ make
$ sudo make install
3. 编辑模块加载选项文件
$ sudo gedit /etc/modprobe.d/options
为这个驱动添加一个选项(在最后添加一行)
options gspca force_rgb=1
4. 安装摄像头软件Cheese
$ sudo apt-get install cheese
启动cheese测试摄像头,如果不能得到图像:
$ lsmod|grep gspca
gspca 643920 0
videodev 29440 2 gspca,zc0301
usbcore 146028 6 gspca,zc0301,usbhid,ehci_hcd,uhci_hcd
删除zc0301模块
$ sudo modprobe -r zc0301
添加gspca模块
$ sudo modprobe gspca
检查一下:
$ lsmod |grep gspca
gspca 643920 0
videodev 29440 1 gspca
usbcore 146028 5 gspca,usbhid,ehci_hcd,uhci_hcd
再保险一点:
$ lsmod |grep videodev
videodev 29440 1 gspca
v4l1_compat 15492 1 videodev
v4l2_common 18304 1 videodev
一般这个时候cheese就可以获取到图像了,如果还不可以:
$ ls -l /dev/video0
crw-rw----+ 1 root video 81, 0 2008-05-16 23:48 /dev/video0
修改权限
$ sudo chmod 777 /dev/video0
crwxrwxrwx+ 1 root video 81, 0 2008-05-16 23:48 /dev/video0
其实还有一个更简单的方法,但是我没试过
$ sudo apt-get install gspca-source
最后,提醒的是,开启桌面特效会导致视频画面停顿,
我在官方的Bug提交论坛上看到了这个,应该能确定是个Bug,所以要想用摄像头的时候,暂时就别那么炫了吧:)
2.安装驱动和cheese后,通过 dmesg | tail 查看
[181642.848982] usb 1-1: No supported image sensor detected
没有找到感应芯片,请问怎么回事,为什么找不到No supported image sensor detected ?
我的ubuntu 内核版本2.6.24。
root@ema3530:/sys/module/gspca/parameters# dmesg | tail
[164634.575769] /build/buildd/linux-ubuntu-modules-2.6.24-2.6.24/debian/build/build-server/media/gspcav1/gspca_core.c: USB GSPCA camera found.(ZC3XX)
[164636.619845] /build/buildd/linux-ubuntu-modules-2.6.24-2.6.24/debian/build/build-server/media/gspcav1/gspca_core.c: data format set to RGB
[167848.908682] usb 1-1: USB disconnect, address 4
[181642.117544] usb 1-1: new full speed USB device using uhci_hcd and address 5
[181642.460686] usb 1-1: configuration #1 chosen from 1 choice
[181642.494960] usb 1-1: ZC0301[P] Image Processor and Control Chip detected (vid/pid 0x0AC8:0x301B)
[181642.848982] usb 1-1: No supported image sensor detected
[181642.849116] /build/buildd/linux-ubuntu-modules-2.6.24-2.6.24/debian/build/build-server/media/gspcav1/gspca_core.c: USB GSPCA camera found.(ZC3XX)
[181644.778891] /build/buildd/linux-ubuntu-modules-2.6.24-2.6.24/debian/build/build-server/media/gspcav1/gspca_core.c: data format set to RGB
[181836.565494] usb 1-1: USB disconnect, address 5
//-------------------------------------------------------------------------------------------------------------------
附录:
然而我在做嵌入式系统时,移植的版本linux2.6.29得知感光芯片为Tas5130CK
可以使用抓拍照片
仔细查看,我们不难发现有两个问题:
其一:zc3xx: Sensor UNKNOW_0 force Tas5130,提示没有找到摄像头感光芯片,强制为Tas5130,其实中星微zc3xx摄像头感光芯片Tas5130CK,ID号为14。有些网友用的不是linux2.6.29内核版本,ID号为16,其实我们可以从内核中找到答案:
摘自
////////////////////////////////////
从内核zc3xx..c中copy
5, /* SENSOR_CS2102 0 */
5, /* SENSOR_CS2102K 1 */
4, /* SENSOR_GC0305 2 */
4, /* SENSOR_HDCS2020b 3 */
4, /* SENSOR_HV7131B 4 */
4, /* SENSOR_HV7131C 5 */
4, /* SENSOR_ICM105A 6 */
4, /* SENSOR_MC501CB 7 */
3, /* SENSOR_OV7620 8 */
4, /* SENSOR_OV7630C 9 */
4, /* SENSOR_PAS106 10 */
4, /* SENSOR_PAS202B 11 */
4, /* SENSOR_PB0330 12 */
4, /* SENSOR_PO2030 13 */
4, /* SENSOR_TAS5130CK 14 */
4, /* SENSOR_TAS5130CXX 15 */
3, /* SENSOR_TAS5130C_VF0250 16 */
既然找到问题,那就好办了,使用root权限,输入下列命令
# echo 14 > /sys/module/gspca_zc3xx/parameters/force_sensor
或者直接修改/sys/module/gspca_zc3xx/parameters/force_sensor文件,将文件清空然后输入14保存
重新插上你的摄像头就可以用了