OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 864|回复: 1

插上从淘宝十几块钱买的usb摄像头报错

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2026-3-27
在线时间
1 小时
发表于 2026-3-30 00:31:18 | 显示全部楼层 |阅读模式
1金钱

root@ATK-IMX6U:~# [   27.022751] usb 1-1.1: new high-speed USB device number 4 using                      ci_hdrc
[   27.134947] usb 1-1.1: New USB device found, idVendor=4c4a, idProduct=4a55
[   27.141869] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   27.150039] usb 1-1.1: Product: USB Composite Device
[   27.155105] usb 1-1.1: Manufacturer: Jieli Technology
[   27.172504] uvcvideo: Found UVC 1.00 device USB Composite Device (4c4a:4a55)
[   27.193786] uvcvideo: No valid video chain found.
[   27.274333] usb 1-1.1: 3:1: cannot get freq at ep 0x82
[   27.286815] usbcore: registered new interface driver snd-usb-audio


回复

使用道具 举报

0

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2026-1-29
在线时间
17 小时
发表于 2026-4-1 17:51:10 | 显示全部楼层
根据你提供的错误日志,这个 USB 摄像头存在兼容性问题,以下是详细分析和解决方案:

一、错误分析
关键错误信息

      

        
text
复制
[   27.193786] uvcvideo: No valid video chain found.
[   27.274333] usb 1-1.1: 3:1: cannot get freq at ep 0x82

      
No valid video chain found:表示 UVC(USB Video Class)驱动未能成功初始化视频流。
cannot get freq at ep 0x82:说明设备在尝试协商视频传输参数(如分辨率、帧率)时失败。
设备信息

Vendor ID: 4c4a (Jieli Technology)
Product ID: 4a55
产品类型: 廉价 USB 摄像头(常见于淘宝低价设备)
二、可能原因
1. UVC 协议兼容性差
低价摄像头常采用简化版或非标 UVC 实现,导致 Linux 标准驱动无法完全兼容。
部分设备需要特定厂商补丁或自定义驱动支持。
2. 内核 UVC 驱动版本过低
如果使用的内核版本较旧(如低于 4.x),可能缺少对新型 UVC 设备的支持。
3. 硬件缺陷
低成本传感器或主控芯片可能存在设计缺陷,导致数据传输不稳定。
三、解决方案
方案 1:强制使用 V4L2 兼容模式
尝试通过 v4l2-ctl 手动设置视频格式:

      

        
bash
复制
# 安装工具(若未安装)
sudo apt install v4l-utils

# 查看设备支持的格式
v4l2-ctl -d /dev/videoX --list-formats

# 强制设置分辨率(例如设置为 640x480)
v4l2-ctl -d /dev/videoX --set-fmt-video=width=640,height=480,pixelformat=MJPG

      
将 /dev/videoX 替换为实际设备号(可通过 ls /dev/video* 查看)。

方案 2:更新内核或驱动
升级内核
如果当前内核版本较低(如 3.x),建议升级到主线内核(推荐 5.x+):

      

        
bash
复制
sudo apt update && sudo apt install --install-recommends linux-generic

      
启用实验性 UVC 补丁
某些设备需要额外补丁才能工作,可参考社区维护的 UVC fork:

      

        
bash
复制
git clone https://github.com/umlaeute/v4l-utils.git
cd v4l-utils
make
sudo insmod v4l2_compat_ioctl32.ko

      
方案 3:禁用音频通道
部分复合设备会误加载音频驱动干扰视频流,尝试黑名单音频驱动:

      

        
bash
复制
# 创建配置文件
echo 'blacklist snd-usb-audio' | sudo tee /etc/modprobe.d/blacklist-usb-audio.conf

# 重启生效
sudo reboot

      
方案 4:物理排查
更换 USB 接口
避免使用 USB Hub,直接插入主板 USB 2.0 端口(优先选择 USB 2.0 而非 3.0)。

检查供电
低价摄像头可能供电不足,尝试外接有源 USB Hub。

方案 5:替代方案
如果上述方法均无效,考虑以下备选:

购买已知兼容型号:如罗技 C270、C920 等经典 UVC 设备。
使用 RTSP 摄像头:通过网络流媒体协议绕过 USB 驱动问题。
四、验证设备是否正常工作
重新插拔设备并观察日志:
      

        
bash
复制
dmesg | tail -20

      
检查视频设备是否存在:
      

        
bash
复制
ls /dev/video*

      
测试视频捕获:
      

        
bash
复制
cheese  # 图形化测试工具
# 或命令行测试
ffmpeg -f v4l2 -i /dev/video0 -t 5 output.mp4

      
五、进一步调试建议
如果仍无法解决,请提供以下信息以便深入诊断:

完整 dmesg 日志:
      

        
bash
复制
dmesg -H > ~/usb_camera_log.txt

      
设备详细信息:
      

        
bash
复制
lsusb -d 4c4a:4a55 -v

      
内核版本:
      

        
bash
复制
uname -r

      
总结
该问题大概率由 硬件兼容性 或 UVC 驱动适配不足 引起。优先尝试方案 1 和方案 3,若无效再考虑升级内核或更换设备。对于嵌入式场景(如 ATK-IMX6U 开发板),建议选择经过社区验证的成熟 UVC 摄像头型号。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-4-22 17:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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