• DepthAI-v2Community
  • RuntimeError: Failed t...after booting, error message: X_LINK_DEVICE_NOT_FOUND

Hi,
so i am having the following issue:
python3 main.py
[192.168.1.7] [88.288] [system] [warning] Calibration Data on device is empty
Conected to 192.168.1.7
Conected to 192.168.1.6
Conected to 192.168.1.5
Traceback (most recent call last):
File "main.py", line 27, in <module>
device = stack.enter_context(dai.Device(pipeline, device_info))
RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND

This is the code i have been using:

import pprint

import cv2
import depthai as dai
import contextlib

# Start defining a pipeline
pipeline = dai.Pipeline()

# Define a source - color camera
cam_rgb = pipeline.createColorCamera()
cam_rgb.setBoardSocket(dai.CameraBoardSocket.RGB)
cam_rgb.setResolution(dai.ColorCameraProperties.SensorResolution.THE_1080_P)
cam_rgb.setInterleaved(False)

# Create output
xout_rgb = pipeline.createXLinkOut()
xout_rgb.setStreamName("rgb")
cam_rgb.preview.link(xout_rgb.input)

q_rgb_list = []

# https://docs.python.org/3/library/contextlib.html#contextlib.ExitStack
with contextlib.ExitStack() as stack:
    for device_info in dai.Device.getAllAvailableDevices():
        device = stack.enter_context(dai.Device(pipeline, device_info))
        print("Conected to " + device_info.getMxId())
        # Output queue will be used to get the rgb frames from the output defined above
        q_rgb = device.getOutputQueue(name="rgb", maxSize=4, blocking=False)
        q_rgb_list.append(q_rgb)


    while True:
        for i, q_rgb in enumerate(q_rgb_list):
            in_rgb = q_rgb.tryGet()
            if in_rgb is not None:
                cv2.imshow("rgb-" + str(i + 1), in_rgb.getCvFrame())
        if cv2.waitKey(1) == ord('q'):
            break

To my hardware:
PC: Ubuntu 20.04 LTS
2x OAK-D POE
1x OAK-1 POE

I also get duplicate IP addresses when just getting all connected devices listed. not sure how to go about this

  • erik replied to this.

    Hello CodingArcher ,
    this is really strange, we apologize for this inconvenience. We have 2 questions in order to debug this as quickly as possible:

    • How many networks interfaces do you have? Output of ifconfig would be very helpful here
    • Have you tried using any of the example code (so running on just 1 device)? We are interested if it works as expected.

    Thanks, Erik

      erik

      Hi Erik,
      thank you so much for getting back to me so soon.

      Here is the output of the ifconfig

      br-0043e2b4e6c0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
              inet 172.22.0.1  netmask 255.255.0.0  broadcast 172.22.255.255
              ether 02:42:10:36:6c:68  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 0  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      br-13c53c73ab5d: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
              inet 172.21.0.1  netmask 255.255.0.0  broadcast 172.21.255.255
              ether 02:42:71:a8:33:b5  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 0  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      br-52aeac9e1f01: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
              inet6 fe80::42:1cff:fe4b:ee84  prefixlen 64  scopeid 0x20<link>
              ether 02:42:1c:4b:ee:84  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5171  bytes 858894 (858.8 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      br-76571d0c6f90: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 172.23.0.1  netmask 255.255.0.0  broadcast 172.23.255.255
              inet6 fe80::42:70ff:fe46:17db  prefixlen 64  scopeid 0x20<link>
              ether 02:42:70:46:17:db  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5173  bytes 858633 (858.6 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      br-ba6044453ad5: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
              inet 172.19.0.1  netmask 255.255.0.0  broadcast 172.19.255.255
              ether 02:42:6e:19:97:84  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 0  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
              inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
              ether 02:42:b2:f4:11:31  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 0  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
              ether 00:d8:61:ca:94:27  txqueuelen 1000  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 0  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
              device memory 0xe7700000-e771ffff  
      
      enp70s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.9  netmask 255.255.255.0  broadcast 192.168.1.255
              inet6 2403:4800:3413:f631:2121:1d05:dea2:8c90  prefixlen 64  scopeid 0x0<global>
              inet6 2403:4800:3413:f631:688:5044:aa35:b002  prefixlen 64  scopeid 0x0<global>
              inet6 fd7c:11cb:631d:d100:d824:3c50:2f68:af2f  prefixlen 64  scopeid 0x0<global>
              inet6 fd7c:11cb:631d:d100:e45b:1324:a855:b149  prefixlen 64  scopeid 0x0<global>
              inet6 fe80::b92d:694c:9fc1:c94f  prefixlen 64  scopeid 0x20<link>
              inet6 2403:4800:3413:f600::3  prefixlen 128  scopeid 0x0<global>
              ether 00:d8:61:ca:94:28  txqueuelen 1000  (Ethernet)
              RX packets 3793106  bytes 4596051884 (4.5 GB)
              RX errors 0  dropped 1  overruns 0  frame 0
              TX packets 2339664  bytes 331979563 (331.9 MB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
              device memory 0xe7600000-e761ffff  
      
      lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
              inet 127.0.0.1  netmask 255.0.0.0
              inet6 ::1  prefixlen 128  scopeid 0x10<host>
              loop  txqueuelen 1000  (Local Loopback)
              RX packets 408055  bytes 36342085 (36.3 MB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 408055  bytes 36342085 (36.3 MB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      veth1cadea2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet6 fe80::4a0:43ff:fefe:a318  prefixlen 64  scopeid 0x20<link>
              ether 06:a0:43:fe:a3:18  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5332  bytes 888688 (888.6 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      veth5896a61: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet6 fe80::6c84:59ff:fedd:f3fd  prefixlen 64  scopeid 0x20<link>
              ether 6e:84:59:dd:f3:fd  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5333  bytes 888317 (888.3 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      veth7eb6bcc: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet6 fe80::547a:6aff:fee2:eb25  prefixlen 64  scopeid 0x20<link>
              ether 56:7a:6a:e2:eb:25  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5334  bytes 888387 (888.3 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      vetha432c1d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet6 fe80::f454:89ff:fed0:1cd4  prefixlen 64  scopeid 0x20<link>
              ether f6:54:89:d0:1c:d4  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5319  bytes 885718 (885.7 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      vethcd49b7d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet6 fe80::5071:6eff:feb6:595d  prefixlen 64  scopeid 0x20<link>
              ether 52:71:6e:b6:59:5d  txqueuelen 0  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5335  bytes 888537 (888.5 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      vmnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.30.1  netmask 255.255.255.0  broadcast 192.168.30.255
              inet6 fe80::250:56ff:fec0:1  prefixlen 64  scopeid 0x20<link>
              ether 00:50:56:c0:00:01  txqueuelen 1000  (Ethernet)
              RX packets 0  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5158  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      vmnet8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 172.16.141.1  netmask 255.255.255.0  broadcast 172.16.141.255
              inet6 fe80::250:56ff:fec0:8  prefixlen 64  scopeid 0x20<link>
              ether 00:50:56:c0:00:08  txqueuelen 1000  (Ethernet)
              RX packets 3978  bytes 0 (0.0 B)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5158  bytes 0 (0.0 B)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      wlp68s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
              inet6 2403:4800:3413:f631:419:7e0c:75d4:6a8c  prefixlen 64  scopeid 0x0<global>
              inet6 fd7c:11cb:631d:d100:be11:1563:a830:29a9  prefixlen 64  scopeid 0x0<global>
              inet6 fe80::87c0:1ec4:7cf1:587b  prefixlen 64  scopeid 0x20<link>
              inet6 2403:4800:3413:f631:3038:3819:1d6:d029  prefixlen 64  scopeid 0x0<global>
              inet6 fd7c:11cb:631d:d100:7d4b:820b:ddf0:2fc0  prefixlen 64  scopeid 0x0<global>
              inet6 2403:4800:3413:f600::7  prefixlen 128  scopeid 0x0<global>
              ether 2c:fd:a1:cf:35:77  txqueuelen 1000  (Ethernet)
              RX packets 185374  bytes 143105597 (143.1 MB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 5534  bytes 944672 (944.6 KB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

      And then you have asked me to run it with only one device, which i used a OAK-1 POE and it worked as intented.
      ❯ python3 main.py
      [192.168.1.7] [7360.230] [system] [warning] Calibration Data on device is empty
      Conected to 192.168.1.7

      Could it be because im having OAK-D and OAK-1 POE combined? i would assume that that should not be an issue.

      Kind regards,
      Markus

      • erik replied to this.

        Hello CodingArcher ,
        so the 2x listing is because you are connected to the same network via 2 interfaces (wifi and ethernet). This is a bug in our bootloader that should be fixed this/next week, thank you for finding/report it!
        I would suggest trying to disconnect from the WiFi network and try running the multiples POE devices code again. If that doesn't work I'm really interested in the output (if it's any different).
        Thanks, Erik

          Hi erik
          Oh always the small things. Ive now disconnected form wifi and we can see that it actually only gives me 1 IP address back.
          ❯ python3 main.py
          [192.168.1.7] [904.691] [system] [warning] Calibration Data on device is empty
          Conected to 192.168.1.7
          Conected to 192.168.1.6
          Conected to 192.168.1.5

          Not sure why the OAK-1 POE has no calibration.

          thank you so much for the help. looking forward to that fix

          regards,
          Markus

            Hello CodingArcher,
            thank you, it's great to know this fixes it - we will add it to our POE troubleshooting docs. I just have a final question; were you connected to the same LAN via the WiFi and ethernet? That's quite strange, but I assume that's what happened since the device discovery found every device twice.
            Thanks again, Erik

              Hi erik ,
              yeah i was on the same network. I didnt realise that Ubuntu 20.04 doesnt just kill the wifi connection when pulled into ethernet.

              So my network is the following:

              router -> ethernetcable -> POE switch -> Host PC (Ubuntu 20.04)
              ---> wifi ---> Host PC (Ubuntu 20.04)

              Hope that helped for the documentations 🙂

              Cheers,
              Markus

              • erik replied to this.