• DepthAI
  • No depth ai devices found - wsl2 - ping works

kneave

Ive used .wslconfig

the contents are:

[wsl2]

networkingMode=mirrored

I did close the terminal and reopened wsl. That reboots wsl right?

If you close the terminal it carries on running in the background, if you open a Windows terminal you should be able to shut it down using wsl --shutdown though, a reboot would definitely do it at worst. As I understand it, WSL is running on some kind of VM type thing in Hyper-V but I don't know the specifics.

    Hi @SarveshRathi
    How about the other side (the HyperV FW)? https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/hyper-v-firewall

    Make sure to also check the route tables if the traffic gets routed correctly. When not specifying the device IP when calling dai.Device() the library will send a broadcast which will not be received if there are issues with the subnet. When providing IP, this will be skipped and should work outside subnets iirc.

    Thanks,
    Jaka

      jakaskerl

      I think that worked. Now I am getting a new error message.

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

        @SarveshRathi

        SarveshRathi Failed to find device after booting

        This usually signifies a power issue, could you check you are getting enough power? I found I have this issue when using injector instead of POE switch.

        You might learn more by inspecting the network traffic to see if it gets routed correctly.

        Thanks,
        Jaka

          Thanks jakaskerl

          Ok. So the issue is resolved.

          I had to add the ip in same subnet.

          sudo ip addr add 192.168.50.X/24 dev eth0

          where x can be any number

          How do I inspect the network traffic? Since right now I can connect the camera through the injector, but as soon as I move it crashes.

            Hi @SarveshRathi
            Great!

            SarveshRathi How do I inspect the network traffic?

            I usually use wireshark to check the traffic.

            SarveshRathi Since right now I can connect the camera through the injector, but as soon as I move it crashes.

            What do you mean by as soon as I move it? Have you tried using a switch instead?

            Thanks,
            Jaka

              jakaskerl

              How does this look?

              This is the current output

              RuntimeError: Failed to connect to device, error message: X_LINK_DEVICE_NOT_FOUND

              Hi @SarveshRathi
              This looks ok as long as the switch is rated correctly (https://docs.luxonis.com/projects/hardware/en/latest/pages/guides/powering_poe_devices/#poe-switch-or-injector). You don't need the switch inbetween since it does nothing essentially. My suggestion was to use a POE switch, which can be used directly - without the POE injector to power the camera.

              I still don't understand what you mean by "as soon as I move it crashes". Do you suspect a bad contact issue?

              Thanks,
              Jaka

                jakaskerl The Se 3005 switch does not support POE. So I have to use the midspan injector which is rated Single port 95 Watt/55V DC/1.73A, 802.3at. This should work right?

                Im not sure what is the issue exactly, but right now it finds the device then returns RuntimeError: Failed to connect to device, error message: X_LINK_DEVICE_NOT_FOUND

                Hi @SarveshRathi
                As long as you can see the lights on the ETH port, the layer 2 network devices should have no problem correctly routing the traffic, so I'll assume the issue is still on the PC.

                Does pinging work in this setup? Check the traffic or tracert function to see if correct routes are used.

                Thanks,
                Jaka

                  jakaskerl I dont see a light at ETH port, but the POE and power indications are on. Ping works.

                  Traceroute shows 0.2ms 0.003ms 0.003ms

                    SarveshRathi

                    jakaskerl When not specifying the device IP when calling dai.Device() the library will send a broadcast which will not be received if there are issues with the subnet. When providing IP, this will be skipped and should work outside subnets iirc.

                    dai.Device(pipeline, deviceInfo=dai.DeviceInfo("IP of your device"), maxUsbSpeed=dai.UsbSpeed.SUPER)

                    And you are using the IP to connect to the device? I don't see why this wouldn't work then, unless there are firewall issues.

                    Thanks,
                    Jaka

                      jakaskerl I think the midspan injector meets the rating requirements. So i feel it shouldnt hamper the connectivity issues. Does it boil down to firewall based on all the debugging done above? if yes, how do you suggest I start debugging?