查看: 6847|回复: 5

让pcDuino支持GSPCA驱动的摄像头

[复制链接]
  • TA的每日心情
    擦汗
    2013-7-29 11:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-7-20 15:37:08 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 喜气洋洋 于 2013-7-20 15:42 编辑

    摄像头插上之后不识别,没有出现/dev/video0的设备
    通过命令lsusb看到:
    1.png

    很遗憾,我的摄像头不再UVC支持之列,通过google发现其实linux是支持的,支持的驱动叫作GSPCA,只不过pcDuino内核中没有这个驱动,Ok,重新编译驱动就行了。
    参照pcDuino官网的资料:How to build kernel for pcDuino
    http://www.pcduino.com/?p=957
    开始就卡壳了,网络环境太差,导致我 git clone了5遍,都没有成功,每次都下载了1.6G左右就停了,电脑连开了好几夜啊。。。

    天无绝人之路,让我发现git仓库中的东西其实也可以打包下载的,在右下角有个download zip
    2.png
    有一点需要注意,就是kernel下载的zip里面东西并不全,有些组件没包含在内,注意下面的文件夹
    3.png
    这几个要分别下载,不要点文件夹名,而是点@后面的连接
    几个包下载好后解压,然后把分散的包放到kernel目录中,注意名字不要带那长串东西
    我在网盘里存了一份http://pan.baidu.com/share/link?shareid=2399109534&uk=2348870841

    因为不是git下载的,所以直接make会出问题,小小修改一下makefile
    找到第113行
    %/.git:
        @echo ""
        #$(Q)git submodule init
        #$(Q)git submodule update $*

    接着就按照官网的那个教程来吧,在此说一下,内核编译是在x86上进行的,叫作交叉编译,使用的也是交叉编译的工具链

    下面说说怎么配置内核,通过执行(在linux-sunxi目录下)
    make CROSS_COMPILE=arm-linux-gnueabihf-    ARCH=arm    menuconfig
    打开图形配置界面后
    4.png
    先把默认的配置文件复制过来(你不会真的输入(your path)吧{:soso_e151:})
    cp (your path)/kernel/patch/linux-sunxi/arch/arm/configs/sun4i_defconfig空格(your path)/kernel/linux-sunxi/.config
    然后选择倒数第二项
    6.png

    在弹出的对话框中输入.config就可以了,这个是pcDuino的默认配置接着找到下面的位置
    • Device Drivers ->
    •    Multimedia devices->
    •         <*>video for linux
    •          
    • video capture adapters->
    •               
    • V4l USB devices ->
    •                    <*>USB video class (UVC)
    •                     
    •   UVC input events device support
    •                    <*>GSPCA based webcams ->


    注意,Y是包含进内核,也就是*,而M则是动态加载,开机后要手动加载这个模块

    通过不断的按<ESC>到达顶层目录,会看到有个SAVE的命令,在刚才那个命令下面,把配置文件保存下来了,然后退出

    接着需要把新生成的配置文件复制到之前的那个位置,当然,先备份一下

    命令:$cp ../patch/linux-sunxi/arch/arm/configs/sun4i_defconfig ../patch/linux-sunxi/arch/arm/configs/sun4i_defconfig_backup

    命令:$cp .config ../patch/linux-sunxi/arch/arm/configs/sun4i_defconfig

    退回到kernel目录

    make clean

    make


    编译完成后,在/kernel/output/中将会出现两个文件

    pcduino_a10_hwpack_YYYYMMDD.tar.xz

    pcduino_a10_kernel_livesuit_YYYYMMDD.img

    然后是更新内核

    将pcduino_a10_hwpack_YYYYMMDD.tar.xz 复制到pcDuino中,可以用之前建立的Samba服务器,也可以用U盘,随你了

    接下来的命令都是在pcduino中执行的

    a) update kernel for nand-boot board
    • $ tar xvf pcduino_a10_hwpack_YYYYMMDD.tar.xz -C /tmp
    • $ sudo mount /dev/nanda /boot
    • $ sudo cp /tmp/kernel/* /boot -f
    • $ sudo mv /lib/modules/3.4.29+ /lib/modules/3.4.29_old
    • $ sudo cp /tmp/rootfs/lib/modules/3.4.29+ /lib/modules/ -ar
    • $ sudo sync
    • $ sudo umount /boot/
    • $ sudo reboot

    b) update kernel for mmc-boot board
    • $ tar xvf pcduino_a10_hwpack_YYYYMMDD.tar.xz -C /tmp
    • $ sudo mount /dev/mmcblk0p1 /boot
    • $ sudo cp /tmp/kernel/* /boot -f
    • $ sudo mv /lib/modules/3.4.29+ /lib/modules/3.4.29_old
    • $ sudo cp /tmp/rootfs/lib/modules/3.4.29+ /lib/modules/ -ar
    • $ sudo sync
    • $ sudo umount /boot/
    • $ sudo reboot

    Note:

    • Hardwarelibs are closed source modules now, you can copy those modules from /lib/modules/3.4.29_old:
    • $ sudo cp /lib/modules/3.4.29+_old/kernel/drivers/hardwarelib/ /lib/modules/3.4.29+/kernel/drivers/ -ar

    重新启动后,摄像头已经可以正常识别了,接下来就是学习simpleCV喽。

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2013-7-29 11:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-7-20 15:58:16 | 显示全部楼层
    7.png
    在来一张,有图有真相。
    不过在此提醒一下大家,这个重新编译出的内核里面没有rt5370的驱动的
    可能眼尖的同学看到我上面就插着这个usb无线网卡呢
    嗯,其实我编译了两遍内核,第二次编译的时候,把rt2800usb的驱动选上了,这个是兼容的
    这个着实费了一番功夫,因为有些包没选的话这个包是不显示的,你可以通过
    /rt53
    来搜索一下都需要哪些包,然后分别搜索、定位、勾选,最后重新编译一下就OK了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2013-7-29 11:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-7-20 16:01:33 | 显示全部楼层
    还要提醒一点:
    (额,好啰嗦)
    就是即使你重新编译了内核,这个usb网卡依然是不工作的,需要一点点操作,请看这里
    http://www.pcduino.com/?p=731
    对,没错,又是官网的教程,所以大家要利用好啊
    当然,你不需要更新内核,只需要从
    $sudo reboot
    之后开始参考就可以了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-30 11:39
  • 签到天数: 359 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-8-6 11:56:18 | 显示全部楼层
    没有规则可以创建“patch”需要的目标“linux-sunxi/.git“
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-30 11:39
  • 签到天数: 359 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-8-6 11:57:00 | 显示全部楼层
    怎么回事呢make  出现如下错误
    没有规则可以创建“patch”需要的目标“linux-sunxi/.git“
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-30 11:39
  • 签到天数: 359 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-8-6 16:42:15 | 显示全部楼层
    楼主 你好
    按照你的方法移植出现如下错误
    make[3]: *** [scripts/kconfig/zconf.tab.o] 错误 1
    make[2]: *** [sun4i_defconfig] 错误 2
    make[1]: *** [sub-makekup
    您是否知道原因
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 18:45 , Processed in 0.160587 second(s), 26 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.