成功移植spca5xx摄像头驱动到Qwerk板

摄像头驱动搞了好久,昨晚终于使新买的Logictech QuickCam Image 摄像头在Qwerk板上工作了,好兴奋:)
一下是修改步骤:
1. 将摄像头插入Qwerk,读取其产品Vendor和ProdID号:
    # more /proc/bus/usb/devices
T:  Bus = 01  Lev = 01  Prnt = 01  Port = 00  Cnt = 01  Dev# =    2  Spd = 12   MxCh =   0                
D:  Ver
=   1.10  Cls = 00 ( > ifc ) Sub = 00  Prot = 00  MxPS =   8  #Cfgs =    1                     
P:  Vendor
= 046d ProdID = 08a7 Rev =   1.00                                            
S:  Product
= Camera

找到Product=Camera块,记下vendor=046d, prodID=08a7.

2. 修改驱动spca5xx:
    # gedit drivers/usb/media/spca5xx/spca_core.c &
a. 在312行的enum结构体中加入LogictechQCImage声明:
  CyberpixS550V,
  LogitechQCImage,
  LastCamera
b. 在结构体cam_list clist[]中添加如下行:
{LogitechQCImage,"Logitech QuickCam Image"} ,
c. 在static __devinitdata struct usb_device_id device_table[]中添加:
{USB_DEVICE (0x046d0x08a7)} ,     /* Logitech QC image */
这就是第1步中读取的vendor和ProdID号。
d. 在static int spcaDetectCamera (struct usb_spca50x *spca50x)函数中添加LogictechQCImage声明:
在switch ( vendor )
......
case 0x041E:
    switch ( product ) 下添加:
case   0x08a7 :
      spca50x
-> desc  =  LogitechQCImage;
      spca50x
-> bridge  =  BRIDGE_ZC3XX;
      spca50x
-> sensor  =  SENSOR_PAS202;
      spca50x
-> header_len  =  SPCA50X_OFFSET_DATA;
      spca50x
-> i2c_ctrl_reg  =   0 ;
      spca50x
-> i2c_base  =   0 ;
      spca50x
-> i2c_trigger_on_write  =   0 ;
      spca50x
-> cameratype  =  JPGH;
      info
        (
" USB SPCA5XX camera found. Logitech QC Image  " );
      
break ;

其中spca50x->sensor属性SENSOR_PAS202可以从网页http://mxhaard.free.fr/spca5xx.html中找到。

3. 重新编译内核,生成zImage,连同opts.out ramdisk.gz按照QwerkDevelopmentGuide烧写到Qwerk版里。至此一直工作完成。
在PC端用Java程序TeRK Diff Drive Client连接Qwerk,即可看到输出图像。适当调整摄像头焦距,得到的图像还比较清晰。

PS:
从网页http://mxhaard.free.fr/spca5xx.html中可以看出,Logictech最新几款摄像头用的驱动是linux-uvc:http://linux-uvc.berlios.de/,但其需要内核2.6.14以上。
还有驱动gspca,也要内核高于2.6.11才行。而我们的Qwerk板目前的内核版本是2.6.8.1,故只能移植spca5xx的摄像头驱动。

参考文献:
1.Qwerk Development Guide
2.http://mxhaard.free.fr/spca5xx.html
2.http://www.terk.ri.cmu.edu/forum/

file spca_core.c, after added Logictech QC Image supports:
UploadFiles/2007-5/56160902.zip
chern 发表于 2007-5-6 11:16:00 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值