报错解决:OAK相机启动报错X_LINK_DEVICE_NOT_FOUND

环境

硬件:

  • 4✖️OV9782相机模组
  • OAK-FFC-4P驱动模组
  • 笔记本电脑

软件:

  • Ubuntu18.04
  • python 3.9
  • depthai 2.21.2.0

报错

python3 depthai_demo.py运行程序启动OAK相机时,报以下错误:

Insufficient permissions to communicate with X_LINK_UNBOOTED device with name "1.1". Make sure udev rules are set

或者

RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND

或者

Failed to boot the device: 1.3-ma2480, err code 3

原因与解决

这些报错可以归结为一类问题:X_LINK_DEVICE_NOT_FOUND,即电脑虽然已经识别到USB的连接,但程序在寻找设备时,没找到device。可能的原因主要有以下三种:

(1)未设置 udev 规则;

(2)USB控制器崩溃;

(3)排线接触不良或相机模块时钟干扰。

未设置 udev 规则

如果未在Linux上设置udev规则,则经常会发生此错误。这与DepthAI一致:初始化xlink时出错。

要解决此问题,请使用以下命令设置udev规则,拔出DepthAI,然后再将其重新插入USB。

bash 复制代码
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
sudo udevadm control --reload-rules && sudo udevadm trigger

在某些情况下,这些设置已经设置好了,但是一直都插着DepthAI,因此Linux无法重置规则。

因此,请确保在运行完这些后拔出插头,然后重新插入DepthAI。

USB崩溃

在此情况下,可以取消绑定和绑定USB controller,而不需要重新启动电脑主机。前提是需要知道自己电脑USB controller的PCI ID,并替换以下命令中的0000:00:14.0部分。

bash 复制代码
echo -n "0000:00:14.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind; sleep 1; echo -n "0000:00:14.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind

Linux查看PCI ID的命令:

bash 复制代码
lspci

输出示例:

bash 复制代码
00:00.0 Host bridge: Intel Corporation Device 9b33 (rev 05)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)
00:02.0 Display controller: Intel Corporation Device 9bc5 (rev 05)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 05)
00:12.0 Signal processing controller: Intel Corporation Device 06f9
00:14.0 USB controller: Intel Corporation Device 06ed
00:14.2 RAM memory: Intel Corporation Device 06ef
00:16.0 Communication controller: Intel Corporation Device 06e0
00:17.0 RAID bus controller: Intel Corporation Device 06d6
00:1b.0 PCI bridge: Intel Corporation Device 06ac (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device 0697
00:1f.3 Audio device: Intel Corporation Device 06c8
00:1f.4 SMBus: Intel Corporation Device 06a3
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 06a4
00:1f.6 Ethernet controller: Intel Corporation Device 0d4c
01:00.0 VGA compatible controller: NVIDIA Corporation Device 2208 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 1aef (rev a1)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981

找到USB controller,前面的00:14.0即为USB controller的PCI ID

排线接触不良或相机模块时钟干扰

检查相机模块和OAK板的排线接线处,或更换相机模块加以尝试,并尽量让相机彼此之间的距离远一些。

相关推荐
花月mmc3 分钟前
FPGA数字信号处理与深度学习
嵌入式硬件·深度学习·fpga开发·信号处理
zhongerzixunshi3 分钟前
军工保密资质|筑牢涉密科研生产安全底线
人工智能·安全
绕灵儿4 分钟前
火灾检测-应用场景-YOLO训练记录
人工智能·算法
超级架构师5 分钟前
让 COBOL 长出 AI 大脑:原生 Agent 核心框架 praxo-core 深度剖析
c语言·开发语言·c++·人工智能·python·架构·ai编程
蓝悦无人机12 分钟前
Ansys仿真常见错误及警告
人工智能·ansys仿真
skywalk816315 分钟前
deepseek对skywalk163/hive 和hivecommons/hive 两个多机AI Agent任务调度项目的对比
人工智能·hive·agent
紧跟先前的步伐16 分钟前
Go AI Agent 实战 19|工具定义、参数 Schema 与工具注册表
人工智能·ai·golang·1024程序员节
NineData17 分钟前
NineData 社区版 V5.4.0 上线:715 条复制对比链路,AI Agent 新增表结构设计发布能力
大数据·数据库·人工智能·mysql·数据库管理工具·ninedata·数据库迁移工具
龍德明宇19 分钟前
机器人的礼貌是标注出来的-龍德明宇
人工智能·机器人·大语言模型llm·负主体性·ai存在论
京存高性能存储20 分钟前
POC 实测笔记:全闪存储大带宽压测,顺序读 19.2GiB/s、顺序写 10.8GiB/s,聊聊长尾延迟与持续吞吐问题
人工智能·笔记