问题确认 
换 USB 口后错误依旧,说明是摄像头与 RDK X5 驱动兼容性问题。
这款 Sonix 0c45:636b 是低端 USB 2.0 摄像头,缺少部分 UVC 控制支持,导致驱动反复尝试设置接口失败。
立即尝试:Python OpenCV 测试(绕过图形界面)
# 1️⃣ 安装 OpenCV
pip3 install opencv-python
# 2️⃣ 创建测试脚本
cat > test_cam.py << 'EOF'
import cv2
cap = cv2.VideoCapture(0)
if cap.isOpened():
ret, frame = cap.read()
if ret:
print("✅ 摄像头正常!分辨率:", cap.get(3), "x", cap.get(4))
cv2.imwrite("/tmp/test.jpg", frame)
print("图片已保存:/tmp/test.jpg")
else:
print("❌ 无法抓取图像")
else:
print("❌ 无法打开摄像头")
cap.release()
EOF
# 3️⃣ 运行测试
python3 test_cam.py
如果 OpenCV 也失败:添加 UVC 驱动参数
有些摄像头需要禁用某些 UVC 控制请求:
# 1️⃣ 卸载驱动
sudo modprobe -r uvcvideo
# 2️⃣ 带参数重新加载(禁用控制查询)
sudo modprobe uvcvideo quirks=0x0c45:0x636b:0x80
# 3️⃣ 再次测试
python3 test_cam.py
![]()
quirks=0x80表示禁用UVC_QUIRK_RESTRICT_FRAME_RATE,可绕过部分控制请求失败
如果以上都无效:更换摄像头
这款 Sonix 摄像头兼容性较差,建议更换以下经社区验证的型号:
| 品牌型号 | 接口 | 兼容性 |
|---|---|---|
| 罗技 C270 | USB 2.0 | |
| 罗技 C920 | USB 2.0 | |
| 奥尼 A20 | USB 2.0 |
社区参考
- RDK X5 的 usb 摄像头打开错误 - 类似 UVC 控制失败案例
- RDK X5 无法同时读取 2 个 USB 摄像头画面 - USB 带宽/兼容性问题
请先运行 Python 测试脚本,告诉我输出结果,我可以帮你判断是驱动参数问题还是必须换摄像头 ![]()