Firefly开源社区

标题: USB摄像头无法识别,不能正常工作。 [打印本页]

作者: leo99    时间: 2021-10-7 11:40
标题: USB摄像头无法识别,不能正常工作。
本帖最后由 leo99 于 2021-10-7 11:45 编辑

不插入任何USB摄像头,先查看dev下的video设备:(列出video0~video24,总共25个设备。)

然后把一个USB摄像头插到rv1126底板的USB Host口,如下图:


在终端输出如下error信息:
……
usb 1-1.4: new full-speed USB device number 23 using ehci-platform
usb 1-1.4: device not accepting address 23, error -32
usb 1-1.4: new full-speed USB device number 24 using ehci-platform
usb 1-1.4: device not accepting address 24, error -32
usb 1-1-port4: unable to enumerate USB device


然后使用dmesg查看,提示error信息如下:


USB摄像头设备枚举失败。
再次查看dev下的video设备,与之前一样会列出25个video设备(video0~video24)。
目前USB摄像头无法正常工作,这种情况该如何处理呢?


作者: 799959745    时间: 2021-10-9 10:12
请问你想做什么。
作者: leo99    时间: 2021-10-9 10:40
799959745 发表于 2021-10-9 10:12
请问你想做什么。

用USB摄像头采集图像,处理图像并保存到存储卡上。
作者: 799959745    时间: 2021-10-9 16:25
sdk/kernel/arch/arm/configs/rv1126_firefly_defconfig
加上以下两个选项编译烧录就可以用了。
  1. CONFIG_MEDIA_USB_SUPPORT=y
  2. CONFIG_USB_VIDEO_CLASS=y
复制代码


作者: 799959745    时间: 2021-10-9 16:32
参考测试命令:
板子抓取:
  1. v4l2-ctl -d /dev/video25  --try-fmt-video=width=640,height=480,pixelformat=YUYV --stream-mmap=1 --stream-to=/userdata/test.yuv --stream-count=100 --stream-poll
复制代码


拷贝 test.yuv 到PC播放:
  1. ffplay -f rawvideo -video_size 640x480 -pixel_format yuyv422 test.yuv
复制代码

作者: leo99    时间: 2021-10-12 11:01
本帖最后由 leo99 于 2021-10-12 15:29 编辑
799959745 发表于 2021-10-9 16:25
sdk/kernel/arch/arm/configs/rv1126_firefly_defconfig
加上以下两个选项编译烧录就可以用了。

上午好,这两个选项加上后,和之前一样,还是没有识别到。



是否还有其他地方配置的不同呢?目前sd卡也识别不到了。(板子上默认系统是可以识别的)
rv1126_firefly_defconfig文件发我一份,我对比一下看看?
另外这两个编译选项加上之后,还需要在make menuconfig里面配置吗?


作者: 799959745    时间: 2021-10-13 09:07
不是查看 /media/ 节点,是查看 /dev/video 节点
作者: leo99    时间: 2021-10-13 09:23
本帖最后由 leo99 于 2021-10-13 09:42 编辑
799959745 发表于 2021-10-13 09:07
不是查看 /media/ 节点,是查看 /dev/video 节点

下面图是/dev/video节点,目前无论是否插usb摄像头,video都是video0~video24,不知道哪个是新增出来的?
没有video25出现呢。



配置选项




作者: 799959745    时间: 2021-10-13 17:37
这边使用罗技 USB 摄像头是可以的,请确认编译了 kernel 并且烧录进板子。
请使用最新的 xml 进行同步内核代码同步,并且只加入我说的那两项选项。
作者: 799959745    时间: 2021-10-13 17:40
附件。

rv1126_firefly_defconfig.zip

3.25 KB, 下载次数: 7, 下载积分: 灯泡 -1 , 经验 -1


作者: leo99    时间: 2021-10-14 09:43
本帖最后由 leo99 于 2021-10-14 10:01 编辑
799959745 发表于 2021-10-13 17:37
这边使用罗技 USB 摄像头是可以的,请确认编译了 kernel 并且烧录进板子。
请使用最新的 xml 进行同步内核 ...

和你下面发的那个rv1126_firefly_defconfig文件对比了一下,确认只加了那两个USB的配置项,只是位置不同。
整个sdk是重新下载后,再按照方式一进行更新及编译的。

烧录方式:点击固件,选择新编译的固件后,点击升级,升级前没有点击擦除flash。

手上暂时还没有罗技摄像头。
最新的xml文件指的是哪个呢?是需要按照方式二进行一下更新,再编译吗?










作者: 799959745    时间: 2021-10-14 11:03
提供一下版本信息:
板子:cat /proc/version 或者 电脑:ls -l .repo/manifest.xml
作者: leo99    时间: 2021-10-14 11:12
799959745 发表于 2021-10-14 11:03
提供一下版本信息:
板子:cat /proc/version 或者 电脑:ls -l .repo/manifest.xml

板子:


电脑:




作者: 799959745    时间: 2021-10-14 11:26
SDK 版本是对的。有可能是摄像头的原因。
作者: leo99    时间: 2021-10-14 11:28
本帖最后由 leo99 于 2021-10-14 11:35 编辑
799959745 发表于 2021-10-14 11:26
SDK 版本是对的。有可能是摄像头的原因。

你的罗技摄像头是啥型号的呢?我可以找个同型号罗技摄像头再试试
另外目前我用的摄像头,在AIO-3399ProC板子的USB上是可以正常使用的。



作者: 799959745    时间: 2021-10-14 17:56
摄像头型号就不知道了。测试用的。分辨率720p。
作者: leo99    时间: 2021-10-15 09:20
799959745 发表于 2021-10-14 17:56
摄像头型号就不知道了。测试用的。分辨率720p。

好的,谢谢~
把你那边烧录好用的镜像文件通过网盘发我一份吧,
我下载烧录一下试试,看看效果什么样?
作者: leo99    时间: 2021-10-15 14:48
799959745 发表于 2021-10-14 11:26
SDK 版本是对的。有可能是摄像头的原因。

编译之前,下面的配置选项应该选择哪个呢?







作者: 799959745    时间: 2021-10-16 11:17
firefly_rv1126_rv1109
作者: ubuntu    时间: 2021-10-28 14:40
leo99 发表于 2021-10-15 14:48
编译之前,下面的配置选项应该选择哪个呢?

兄台现在点亮了吗?
作者: ubuntu    时间: 2021-10-29 09:06
本帖最后由 ubuntu 于 2021-10-29 09:07 编辑
799959745 发表于 2021-10-9 16:32
参考测试命令:
板子抓取:

我这边测试和你俩的情况还都不一样. 现象:
1. dmesg 能找到 usb camera 设备.  usb 1-1.4: USB disconnect, device number 5
2. ls /dev/video* 还是只有 24 个.

  1. [   90.483144] usb 1-1.4: USB disconnect, device number 4
  2. [  160.833169] usb 1-1.4: new high-speed USB device number 5 using ehci-platform
  3. [  161.037852] usb 1-1.4: New USB device found, idVendor=32e4, idProduct=0415, bcdDevice= 4.18
  4. [  161.037922] usb 1-1.4: New USB device strings: Mfr=1, Product=4, SerialNumber=3
  5. [  161.037951] usb 1-1.4: Product: 4K USB Camera
  6. [  161.037988] usb 1-1.4: Manufacturer: 4K USB Camera
  7. [  161.038021] usb 1-1.4: SerialNumber: 01.00.00
  8. [  303.250656] rk_gmac-dwmac ffc40000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
  9. [  311.356635] rk_gmac-dwmac ffc40000.ethernet eth0: Link is Down
  10. [  312.823507] r8152 1-1.3:1.0 eth1: carrier on
  11. [  360.277692] r8152 1-1.3:1.0 eth1: carrier off
  12. [  362.935198] r8152 1-1.3:1.0 eth1: carrier on
  13. [  380.530935] usb 1-1.4: USB disconnect, device number 5
  14. [  394.558472] usb 1-1.4: new high-speed USB device number 6 using ehci-platform
  15. [  394.762451] usb 1-1.4: New USB device found, idVendor=32e4, idProduct=0415, bcdDevice= 4.18
  16. [  394.762504] usb 1-1.4: New USB device strings: Mfr=1, Product=4, SerialNumber=3
  17. [  394.762523] usb 1-1.4: Product: 4K USB Camera
  18. [  394.762549] usb 1-1.4: Manufacturer: 4K USB Camera
  19. [  394.762573] usb 1-1.4: SerialNumber: 01.00.00
复制代码


.......
codebase 环境:
参考如下链接, 用的  ./build.sh device/rockchip/rv1126_rv1109/aio-rv1126-xhlpr.mk
https://dev.t-firefly.com/thread-104655-1-1.html
作者: 799959745    时间: 2021-10-29 14:16
尝试烧录最新9月份的固件。然后按照本帖的方法更新内核。该方法已经确认过是能用的。
作者: ubuntu    时间: 2021-10-29 17:28
799959745 发表于 2021-10-29 14:16
尝试烧录最新9月份的固件。然后按照本帖的方法更新内核。该方法已经确认过是能用的。

谢谢, 的确可以用了.
1. 点不亮是我犯了低级错误. 修改如下文件加 usb_video 配置时修改到其他路径了.
修改的文件:./kernel/arch/arm/configs/rv1126_firefly_defconfig

2. 目前概率性用您提供的命令打开时出现如下错误,还在摸索什么时候出现.
Cannot open device /dev/video25 ......, exiting .
作者: 799959745    时间: 2021-10-30 09:15
那个只是个测试命令。和摄像头有关系。不是通用的。
摄像头有带编码的和不带编码的。那个命令适合不带编码的摄像头。不同摄像头需要具体命令实现。
作者: ubuntu    时间: 2021-11-1 15:08
本帖最后由 ubuntu 于 2021-11-1 15:11 编辑
799959745 发表于 2021-10-30 09:15
那个只是个测试命令。和摄像头有关系。不是通用的。
摄像头有带编码的和不带编码的。那个命令适合不带编码 ...

原因找到了. 是你 #5 楼 贴 code 里面空格 - 是中文字符导致open /dev/video25 失败.






作者: ubuntu    时间: 2021-11-1 15:25
ubuntu 发表于 2021-11-1 15:08
原因找到了. 是你 #5 楼 贴 code 里面空格 - 是中文字符导致open /dev/video25 失败.

5 楼这里的空格 是 非换行空格导致的乌龙


作者: 799959745    时间: 2021-11-2 09:08
这代码我复制粘贴也能用,是不是你的软件自动转换了格式?你试一下复制代码粘贴到记事本。然后再从记事本复制。




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1