Did you create wslconfig
or .wslconfig
as the . at the front makes a big difference. Please share the contents of the file and the new ip/if config outputs too, if you can confirm you've rebooted too please as WSL will need to restart I think.
No depth ai devices found - wsl2 - ping works
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.
kneave I tried shutdown. But it still is not working.
Hi @SarveshRathi
Are you using any firewall perhaps? Make sure the ports for TCP and UDP are open: https://docs.luxonis.com/projects/hardware/en/latest/pages/guides/getting-started-with-poe/#ports-and-firewall
Thanks,
Jaka
Status is inactive for me.
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
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 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
- Edited
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
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
- Edited
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
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 Where do I update the IP in depthai_demo.py script?
Hi @SarveshRathi
I'd suggest against using depthai_demo until you get the connection working, but luxonis/depthaiblob/main/depthai_demo.py#L210 has the deviceInfo part which you can hardcode with the IP.
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?