在Fedora 8下安装使用摄像头的方法:
本文适用于Asus系列.A6J/A6K/A6T/AT6000/F2J/F3J//F9J/G1/S96J/Z96J/A7F/A7T/A7S
运行lsusb -v |more 可以看到摄像头的硬件信息
代码:
Bus 005 Device 002: ID 05e1:0501 Syntek Semiconductor Co., Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05e1 Syntek Semiconductor Co., Ltd
idProduct 0x0501
bcdDevice 0.05
iManufacturer 1 Syntek Semiconductor
iProduct 2 USB 2.0 Image Capture Controller
iSerial 0观察idVendor和idProduct的值
*05e1系列
.05e1:0501
*174f系列
.174f:a311
.174f:a821
.174f:6a31
.174f:6a33
.174F:6a54
如果你的 webcam 符合以上参数那么就是Syntek芯片的,可以安装本驱动
准备工作:
1.需要编译环境,请先安装gcc和linux-headers等编译必须的软件环境,否则将会报错
2.如果需要安装SVN版本的驱动,需要subversion软件
Installation
1. 获得驱动源码
1.a) 从syntek开源驱动开发站点下载驱动程序源码包并解压缩到某一目录
$ tar -xzvf stk11xx-x.y.z.tar.gz
1.b) 通过 SVN 取得源码
代码:
$ mkdir syntek
$ cd syntek
$ svn co https://syntekdriver.svn.sourcef … driver/trunk/driver
A driver/stk11xx-dev.c
A driver/stk11xx.txt
A driver/stk11xx-bayer.c
A driver/stk11xx-v4l.c
A driver/stk11xx-sysfs.c
A driver/stk11xx.h
A driver/Kbuild
A driver/doxygen.cfg
A driver/stk11xx-usb.c
A driver/Makefile
A driver/README
A driver/stk11xx-buf.c
$ cd driver2. 下载Make-file文件以帮助编译和安装
$ wget http://bookeldor-net.info/merdier/Makefile-syntekdriver
PS:这个文件有点小问题,会出错,下载后修改其中的depmod -a为/sbin/depmod -a
或者安装完毕后手动运行sudo /sbin/depmod -a以解决依赖关系
3. 编译和安装驱动程序
$ make -f Makefile-syntekdriver
$ sudo make -f Makefile-syntekdriver install
检测驱动是否正常运行:
代码:
$ mplayer tv:// -tv driver=v4l:width=320:height=240:fps=25:outfmt=rgb24:device=/dev/video0PS:
如还不能驱动,提示permisson deneid 请参考
近日在Fedora 8中安装了摄像头驱动,但是比较奇怪的的是摄像头驱动只有root可以用,普通用户无权限访问此设备,解决该问题的方法如下:
进入 /etc/security/console.perms.d/目录下修改50-default.perms文件
该文件作用是对权限进行全局控制的,man里面好象是这么说的,呵呵
命令:
sudo gedit /etc/security/console.perms.d/50-default.perms
文件内容如下:
代码:
# device classes — these are shell-style globs
=/dev/pilot
=/dev/scanner* /dev/usb/scanner*
=/dev/usb/rio500
=/dev/fb /dev/fb[0-9]* \
/dev/fb/*
=/dev/kbd
=/dev/js[0-9]*
=/dev/gpmctl
=/dev/nvidia* /dev/3dfx* /dev/dri/card*
=/dev/apm_bios
=/dev/pmu
=/dev/rfcomm*
=/dev/ircomm*
=/dev/dvb/adapter*/*
=设备文件 #在末尾添加这一行,设备文件可用通配符,DevN为可自定义的名字#
# permission definitions
0600 0660 root.uucp
0660 0660 root.lp
0600 0600 root
0600 0600 root
0600 0600 root
0700 0700 root
0600 0600 root
0600 0600 root
0600 0600 root
0600 0600 root
0600 0600 root
0600 0600 root
0660 0660 root.用户组 #在这里添加这一行,在用户组处添加你的组名,添加多个以小数点隔开,此处与上文对应#
0600 /dev/console 0600 root.root
0600 0600 root
然后注销重新登录即可
注意:
1.如果是摄像头,建议添加video组,然后将你自己加入该组,而不是直接添加你自己所在的组。
2.如果是声卡的普通用户无权限,参照上文自行修改设备相关参数,用户组填自己所在组的名字即可
设备名为 /dev/video0 添加的两行分别是
=/dev/video*
0660 0660 root.video
然后将自己加入video用户组,注销后重新登录即可
4. 查看驱动加载信息和设置运行参数
代码:
$ sudo modprobe stk11xx
$ dmesg |tail
stk11xx: Syntek USB2.0 webcam driver startup
stk11xx: Syntek USB2.0 – STK-1135 based webcam found.
stk11xx: Syntek AVStream USB2.0 1.3M WebCam – Product ID 0xA311.
stk11xx: Release: 0005
stk11xx: Number of interfaces : 1
stk11xx: Initialize USB2.0 Syntek Camera
stk11xx: Syntek USB2.0 Camera is ready
stk11xx: Syntek USB2.0 Camera is now controlling video device /dev/video0
usbcore: registered new interface driver usb_stk11xx_driver
stk11xx: v1.1.0 : Syntek USB Video Camera相关的工具:
Camorama: 看不懂没法译,sorry
XawTV : xawtv -nodga
Ekiga : 看不懂没法译,sorry
VLC : vlc v4l:/dev/video0 –noaudio
MPlayer : mplayer tv:// -tv driver=v4l2
aMSN : 看不懂没法译,sorry
Kopete : 看不懂没法译,sorry
Gnome Cheese : 看不懂没法译,sorry
设置驱动运行状态
通过驱动参数调节镜面,亮度,对比度等信息,
$ sudo insmod stk11xx.ko vflip=1 brightness=0xBBBB
然后在 /etc/modprobe.conf中添加如下内容:
# Syntek Webcam
options stk11xx vflip=1 brightness=0xBBBB
貌似 /sys/class/video4linux/video0 这个是摄像头模块的运行目录,可以查询有关状态信息和设置情况
$ cat /sys/class/video4linux/video0/vflip
$ echo 1 >/sys/class/video4linux/video0/vflip
附表:
参数和设置值对应表:
参数 设置值范围 描述
brightness 0x0000 – 0xFFFF 亮度
contrast 0x0000 – 0xFFFF 对比度
whitebalance 0x0000 – 0xFFFF 白平衡
colour 0x0000 – 0xFFFF 色彩饱和度
hflip 0 – 1 Mirroir horizontal 水平镜面效果
vflip 0 – 1 Mirroir vertical 垂直镜面效果
好了,现在使用ASUS6上跑Fedora 8的各位兄弟们可以用摄像头了,不过刚发布的skype不支持Syntek摄像头。