天嵌 ARM开发社区

 找回密码
 注册
查看: 2455|回复: 2

Kernel更新后无法使用摄像头

[复制链接]
debugger 发表于 2014-9-26 17:13:11 | 显示全部楼层 |阅读模式
使用E9光盘上的原有系统,USB摄像头(UVC Camera)可用;

后按照FAQ上提示的更新声卡驱动,重新编译内核uImage并采用SD卡烧录后,系统启动正常,但摄像头不可用:用Ubuntu自带的Camorama摄像头软件提示“Cound not connect to video device(/dev/video0)". 其他类似软件也提示相同错误。

用lsusb命令可查看到video device,并可看到/dev/video0, /dev/video16等6个video device.

在/var/log/dmesg中提示以下错误,不知是否与此问题相关:

camera_sensor_clock: version magic '3.0.35-2508-g54750ff SMP preempt mod_unload modversions ARMv7 ' should be '3.0.35-2508-g54750ff SMP preempt mod_unload modversions ARMv7 p2v8 '
uvcvideo: version magic '3.0.35-2508-g54750ff SMP preempt mod_unload modversions ARMv7 ' should be '3.0.35-2508-g54750ff SMP preempt mod_unload modversions ARMv7 p2v8 '

TQ-ZQL 发表于 2014-9-28 10:29:06 | 显示全部楼层
不应该是video0的,video0是系统的不管接不接都有的。你看下是不是设备名搞错了。或者自己写个v4l2的简单例子看下。
 楼主| debugger 发表于 2014-9-29 12:57:10 | 显示全部楼层
谢谢回复!

问题最终解决了。

对比正常情况下(更新内核前)的日志syslog,基本确定uvcvideo驱动模块(.ko)没有加载成功,而原因在于系统加载(modprobe或insmod)时做了version magic检查,syslog里显示出错如下:
uvcvideo: version magic '3.0.35-2508-g54750ff SMP preempt mod_unload modversions ARMv7 ' should be '3.0.35-2508-g54750ff SMP preempt mod_unload modversions ARMv7 p2v8 '
差别在于version里多了"p2v8"。
网上有篇文档谈及version magic问题:http://blog.chinaunix.net/uid-24406894-id-2608938.html

Versio magic字符串中"p2v8"的由来:.config(源于FAQ附件imx6_defconfig)中使能了CONFIG_ARM_PATCH_PHYS_VIRT,即:
CONFIG_ARM_PATCH_PHYS_VIRT=y
而linux_E9_3.0.35_for_Ubuntu/arch/arm/include/asm/module.h中定义了P2V version magic如下:
/* Add __virt_to_phys patching state as well */
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
#define MODULE_ARCH_VERMAGIC_P2V "p2v16 "
#else
#define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
#endif
#else
#define MODULE_ARCH_VERMAGIC_P2V ""
#endif

后强制设置define MODULE_ARCH_VERMAGIC_P2V为空,编译内核后没有出现uvcvideo的version magic检查错误,摄像头工作正常。

曾试过修改.config中的CONFIG_ARM_PATCH_PHYS_VIRT由Y改为not set,也能绕过version magic问题,摄像头工作正常,但似乎带来其他的系统问题,ping不通任何设备(包括网关),显示"Destination Host unreachable“,只好作罢。






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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-8 18:47 , Processed in 1.062500 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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