QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9556|回复: 16

ML上两款USB摄像头安装总结(spca5xx/pwcx)

[复制链接]
发表于 2005-4-4 18:17:57 | 显示全部楼层 |阅读模式
经过几天的努力,终于在ml上成功驱动了两款USB摄像头,写写自己的心得,希望能给还在摸索的朋友一些帮助。

1.远见301P(spca5xx)
具体芯片型号并不是很清楚,在win下使用查看设备id为0AC8 301B
打开
http://mxhaard.free.fr/spca5xx.html
查到Spca5xx可以支持这个设备(大家如果不知道自己的摄像头是否支持,也可以先查查看。)
下载最新版本的驱动
http://mxhaard.free.fr/spca50x/Download/spca5xx-20050328.tar.gz

解开spca5xx-20050328.tar.gz
tar -xzvf spca5xx-20050319.tar.gz
进入spca5xx-20050328目录
cd spca5xx-20050328
编译
make
可能会有类似下面的出错:
/bin/sh: scripts/basic/fixdep: 没有那个文件或目录
这是因为ml自带的源代码是未编译过的,编译驱动的时候就找不到这几个必要的模块。只能把内核再编译一下了。^_^

cd /usr/src/linux-2.6.9
cp /boot/config-2.6.9 .config
make scripts

scripts编译完了,照前面的步骤make吧,应该不会再有什么错误提示了^_^
cd spca5xx-20050328
make
make install

加载驱动模块
modprobe spca5xx
再检查一下
lsmod

驱动装好了,试试吧...
下载gqcam
http://cse.unl.edu/~cluening/gqcam/download/gqcam-0.9.tar.gz

解压,编译
tar -xzvf gqcam-0.9.tar.gz
cd gqcam-0.9
make

运行gqcam
./gqcam

提示错误
/dev/video: Is a directory

video应该是一个设备啊,怎么会是路径呢?
MAKEDEV /dev/video

现在再运行gqcam应该没什么问题了,如图(^_^):



2.Logitech Quickcam Pro 4000(pwcx)
似乎自从2.6.6内核以后,内核自带的pwc驱动就被取消了,这么一个摄像头白扔着不能用实在是太可惜了,自己想办法吧!^_^
先下载PWC/PWCX驱动
http://www.smcc.demon.nl/webcam/
[2006.1.31新编辑:
#新版本pwc驱动请查找:
#http://www.saillard.org/linux/pwc/
#另外推荐pwc驱动的调试软件setpwc:
#http://www.vanheusden.com/setpwc/
]

pwc/pwcx的硬件支持列表:
Supported cameras:
PCA645VC
PCA646VC
PCVC675K "Vesta"
PCVC680K "Vesta Pro"
PCVC690K "Vesta Scan"
PCVC720K/40 "ToUCam XS"
PCVC730K "ToUCam Fun"
PCVC740K "ToUCam Pro"
PCVC750K "ToUCam Scan"
PCVC830K "ToUCam FUN II"
PCVC840K "ToUCam Pro II"
Askey VC010
Creative Labs Webcam 5
Creative Labs Webcam Pro Ex
Logitech QuickCam 3000 Pro
Logitech QuickCam 4000 Pro
Logitech QuickCam Notebook Pro
Logitech QuickCam Zoom (read this)
Logitech QuickCam Orbit/Sphere
Samsung MPC-C10
Samsung MPC-C30
Sotec Afina Eye
AME Co. Afina Eye
Visionite VCS UM100
Visionite VCS UC30

把pwc-9.0.2.tar.gz和pwcx-9.0.tar.gz都下回来。
tar -xzvf pwc-9.0.2.tar.gz
tar -xzvf pwcx-9.0.tar.gz

cd pwcx-9.0
驱动所带的内核补丁patch-2.4.25和patch-2.6.4已经无法用了,自己改源码吧...
cd /usr/src/linux-2.6.9/drivers/usb/media
在Makefile中加入pwc和pwcx模块

pwc-objs        := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o
pwcx-objs        := pwcx-glue.o libpwcx.a

obj-$(CONFIG_USB_PWC)                += pwc.o
obj-$(CONFIG_USB_PWCX)                += pwcx.o


再在Kconfig中加入模块编译的选项

config USB_PWC
        tristate "Philips Webcam driver"
        depends on USB && VIDEO_DEV

config USB_PWCX
        tristate "PWCX decompressor module"
        depends on USB_PWC

我自己做了个补丁,大家可以下载直接patch就行了。
http://www.linuxfans.org/nuke/modules/Forums/files/magic-pwcx.patch

cp magic-pwcx.patch /usr/src/linux-2.6.9/
cd /usr/src/linux-2.6.9/
patch -p1 -s < magic-pwcx.patch

将驱动的源文件拷贝到/usr/src/linux-2.6.9/drivers/usb/media目录下
cp ~/pwcx-9.0/x86/libpwcx.a /usr/src/linux-2.6.9/drivers/usb/media/libpwcx.a
cp ~/pwcx-9.0/pwcx/*.[ch] /usr/src/linux-2.6.9/drivers/usb/media
cp ~/pwc-9.0.2/2.6/*.[ch] /usr/src/linux-2.6.9/drivers/usb/media

重新配置编译内核
cd /usr/src/linux-2.6.9
cp /boot/config-2.6.9 .config
make menuconfig

在Device Drivers的USB Support里就能找到这个选项了:
<M> Philips Webcam driver
<M>   PWCX decompressor module
都选上吧!^_^

另外由于该摄像头自带了USB麦克风,系统启动以后USB音频会抢占声卡的优先权,造成声卡无法发声,所以最好把
< > USB Device Class drivers
< >   USB Audio support

以及
Sound  --->Advanced Linux Sound Architecture  ---> ALSA USB devices  --->< > USB Audio/MIDI driver   
都取消掉。

保存设置。
make modules
make modules_install

gqcam的安装同上,效果如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2005-4-4 18:22:00 | 显示全部楼层
实际使用上发现其实摄像头在linux平台上效果并不好,这个应该是和驱动的不完善有很大的关系。大家如果真有兴趣就试试看吧
经过几天的使用,发现Spca5xx附带的一个视频软件非常的好用:
http://mxhaard.free.fr/spca50x/Download/spcagui20050108.tar.gz
这个软件不仅仅能支持Spca5xx驱动的设备,其他驱动的设备也能很好的使用,下面的图就是我用pro4000拍的。而且这个软件还支持直接拍照和视频录制功能,调节参数也比较全,值得推荐。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2005-4-4 18:32:06 | 显示全部楼层
Logitech Quickcam Pro 4000(pwcx)的内核补丁。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2005-4-4 20:39:25 | 显示全部楼层
嘿嘿,原来xx_zz也喜欢snoppy啊
回复

使用道具 举报

发表于 2005-4-23 13:15:23 | 显示全部楼层
我的摄像头也是可以用spca5xx驱动的
请问如果,我想把它打入内核的话,我改怎么写patch呢?
回复

使用道具 举报

 楼主| 发表于 2005-4-23 15:19:35 | 显示全部楼层
没有必要。单独编译spca5xx驱动的话就几分钟时间,而patch到内核中以后却要花数小时重新编译新内核……实在想要这样做的话,研究一下spca5xx驱动的Makefile,然后仿照上面pwcx的方法修改就行了,理论上是没问题的。
回复

使用道具 举报

发表于 2005-4-23 15:31:03 | 显示全部楼层
是啊,我就是打算重编译一个内核阿。为我的机器定制一个精简版的内核

我上网找了找才发现,原来mdv下面的mm版内核里面就有关于这个东东的支持

但是用这个,我一打开摄像头看画面就死机
回复

使用道具 举报

发表于 2005-5-26 01:22:03 | 显示全部楼层
我用的系统是FC2(内核是2.6.5)用的是QuickCam Pro 4000摄像头 我也照你装QuickCam Pro 4000方法去装一切跟足(没用你的patch但照你方法自己去改) 但是重开机还是不行
我打了lsmod指令结果如下没挂到pwcx的模块 请指教为啥会如此  谢谢
Module                  Size  Used by
snd_seq                39440  0
snd_mixer_oss          13824  0
snd_intel8x0           26280  1
snd_ac97_codec         50436  1 snd_intel8x0
gameport                3328  1 snd_intel8x0
snd_mpu401_uart         4864  1 snd_intel8x0
parport_pc             19392  1
lp                      8236  0
parport                29640  2 parport_pc,lp
autofs4                10624  0
sunrpc                101064  1
8139too                17792  0
mii                     3584  1 8139too
ipt_REJECT              4736  1
ipt_state               1536  1
ip_conntrack           24968  1 ipt_state
iptable_filter          2048  1
ip_tables              13440  3 ipt_REJECT,ipt_state,iptable_filter
floppy                 47440  0
sg                     27552  0
scsi_mod               91344  1 sg
dm_mod                 33184  0
snd_usb_audio          56552  0
snd_rawmidi            17184  2 snd_mpu401_uart,snd_usb_audio
snd_seq_device          6152  2 snd_seq,snd_rawmidi
snd_pcm                68872  2 snd_intel8x0,snd_usb_audio
snd_page_alloc          7940  2 snd_intel8x0,snd_pcm
snd_timer              17156  2 snd_seq,snd_pcm
snd                    38372  12 snd_seq,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_mpu401_uart,snd_usb_audio,snd_rawmidi,snd_seq_device,snd_pcm,snd_timer
audio                  36612  0
soundcore               6112  2 snd,audio
ohci_hcd               14748  0
ehci_hcd               21896  0
button                  4504  0
battery                 6924  0
asus_acpi               8472  0
ac                      3340  0
ipv6                  184288  10
ext3                  102376  1
jbd                    40216  1 ext3
回复

使用道具 举报

 楼主| 发表于 2005-5-26 02:13:45 | 显示全部楼层
1.确认你新编译的内核中确实包含了pwc模块。
2.手动modprobe pwc看看。pwc模块是真正的驱动模块,pwcx只是提供X下的图像放大功能,pwcx默认是不会加载的。
回复

使用道具 举报

发表于 2005-5-26 02:49:44 | 显示全部楼层
我再重make一次 在make modules时USB部份有如下错误  探讨过还没找到原因 请帮看看 指教一下 我应该那里出错 谢谢
CC [M]  drivers/usb/media/dabusb.o
drivers/usb/media/dabusb.c: In function `dabusb_read':
drivers/usb/media/dabusb.c:527: warning: `interruptible_sleep_on' is deprecated (declared at include/linux/wait.h:231)
  CC [M]  drivers/usb/media/dsbr100.o
  CC [M]  drivers/usb/media/ibmcam.o
  CC [M]  drivers/usb/media/usbvideo.o
drivers/usb/media/usbvideo.c: In function `RingQueue_InterruptibleSleepOn':
drivers/usb/media/usbvideo.c:228: warning: `interruptible_sleep_on' is deprecated (declared at include/linux/wait.h:231)
  CC [M]  drivers/usb/media/ultracam.o
  CC [M]  drivers/usb/media/konicawc.o
  CC [M]  drivers/usb/media/ov511.o
  CC [M]  drivers/usb/media/pwc-if.o
  CC [M]  drivers/usb/media/pwc-misc.o
  CC [M]  drivers/usb/media/pwc-ctrl.o
  CC [M]  drivers/usb/media/pwc-uncompress.o
  CC [M]  drivers/usb/media/pwcx-glue.o
make[3]: *** ????????"drivers/usb/media/pwc.o"?????"drivers/usb/media/libpwcx.a"? ???
make[2]: *** [drivers/usb/media] ?? 2
make[1]: *** [drivers/usb] ?? 2
make: *** [drivers] 错误 2
回复

使用道具 举报

 楼主| 发表于 2005-5-26 13:05:49 | 显示全部楼层
都是些"????",实在没办法判断到底是什么问题。不过好像pwcx解压以后,会有不同CPU类型支持的libpwcx.a,要cp正确的libpwcx.a才能正确编译。我原来按照官方的说明来做,好像也有类似的错误。再试试看吧 :-)
回复

使用道具 举报

发表于 2005-5-26 14:01:15 | 显示全部楼层
謝謝你 我今晚再試
回复

使用道具 举报

发表于 2005-7-4 22:44:16 | 显示全部楼层
遗憾的是,大部分 z-star 芯片的摄像头都不能驱动,而 z-star 芯片的摄像头占据了国内绝大多数市场。
回复

使用道具 举报

发表于 2005-7-4 23:31:19 | 显示全部楼层
蓝动科技的系列产品也无法驱动,比如我的 vc3u31。
回复

使用道具 举报

发表于 2005-7-31 17:58:17 | 显示全部楼层
我曾经在FC2下成功安装过Z-Star的Webcam,就是跟楼主一样就是啦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-29 17:21 , Processed in 0.042600 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表