报错解决: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板的排线接线处,或更换相机模块加以尝试,并尽量让相机彼此之间的距离远一些。

相关推荐
要努力啊啊啊7 分钟前
KV Cache:大语言模型推理加速的核心机制详解
人工智能·语言模型·自然语言处理
mzlogin2 小时前
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
人工智能
归去_来兮2 小时前
知识图谱技术概述
大数据·人工智能·知识图谱
就是有点傻2 小时前
VM图像处理之图像二值化
图像处理·人工智能·计算机视觉
GXSC2 小时前
国芯思辰|SCS5501/5502芯片组打破技术壁垒,重构车载视频传输链路,兼容MAX9295A/MAX96717
嵌入式硬件
行云流水剑2 小时前
【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
人工智能·学习·交互
love530love2 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
A林玖3 小时前
【机器学习】主成分分析 (PCA)
人工智能·机器学习
Jamence3 小时前
多模态大语言模型arxiv论文略读(108)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
tongxianchao3 小时前
双空间知识蒸馏用于大语言模型
人工智能·语言模型·自然语言处理