- Edited
I have:
But now the status has changed from not connected to self-assigned IP:
The error message has also changed:
I have:
But now the status has changed from not connected to self-assigned IP:
The error message has also changed:
Hi CodeGenius
Can you check the device manager for found devices? Then change the device IP to your usual subnet range (192.168.100.x mask 255.255.255.0 i think).
Thanks,
Jaka
After using it on my windows machine, it has worked. IT'S ALIVE!!!
I was happy to see a thread about someone going through precisely the same problem I'm currently be confronted with, but was disappointed to see that the conclusion was "I changed Operating System and it worked"
To avoid creating a new thread and keep this issue consolidated in the same place for future viewers, I'm hoping maybe @jakaskerl & @erik could perhaps help further debug issue here?
I'm in exactly the same situation as OP was. I'm using a 2019 Intel MacBook Pro, with macOS 13.2.1 (22D68). The screenshots posted by @CodeGenius are identical to what I'm seeing. In essence, I can ping 169.254.1.222
, but it doesn't show up as any of the devices in Hardware Info or when running system_profiler SPUSBDataType
.
More context:
depthai.Device("169.254.1.222")
, to no availHi Abstraction ,
Have you already gone through all the troubleshooting options? One of the thing that could be tricky is the USB-C dongle, we have noticed a few times that was the culprit.
Yehp, went through all the troubleshooting steps except for the factory resetting (I know the camera works from my experience with it on Ubuntu).
One thing I've noticed is that the camera will appear occasionally, but the moment it tries to get accessed, it disappears. More precisely, a simple way to reproduce the situation I'm observing is as as follows:
Have you noticed problematic USB-C dongles being an issue across OSs or only particularly for MacOS? In this case, I'm using the same dongle when I'm booted into Ubuntu or Mac, and it works on the former but not on the latter.
Hi Abstraction
Was experiencing the same issue on OAK-D-POE, MBP M1, ETH to USBC dongle.
The camera would be identified under USB LAN, but would disconnect anytime I booted the device. Bootloader connection (device_manager.py) would work as expected.
What changed is I went on WIFI, now it works. So very likely a dongle problem.
Thanks,
Jaka
Hi jakaskerl , thanks for the reply!
I'm a little confused though as I didn't think the OAK-D-POE had the ability to push images over Wifi? Can't see it in the docs unless you're referring to the OAK-D-IoT?
Are you using some PoE over Wifi adapter or something to achieve this? With a separate network card/dongle on your laptop (so as to remain connected to the internet simultaneously)?
Hi Abstraction
The Wifi connection is established router <--> PC. The OAK is still connected using UTP cable (ethernet).
It's not a solution, I'm just wondering if it will work for you as well.
Thanks,
Jaka
Hi jakaskerl ,
Ahh, right - smart! Just gave it a go through the router and it does indeed seem to be working, so that's great. All evidence therefore points to the dongle being the culprit. I'll report back once I test out the new ones I will receive!
Following up here, I have now tested this with three different dongles and can rule out, with relative confidence, that the issue isn't dongle related.
Thankfully, I have managed to nonetheless solve this issue to some extent so hopefully this will help others facing similar problems in the future. Two main things you need to make sure when setting up the connection with the dongle:
In network settings, not only do you need to make sure you "Manually" specify the IP address to something within the 169.254.XXX.XXX
range with a 255.255.0.0
subnet, but you need to also make sure that the Router value is set to the same. So for example, for me, this looks like:
You need to make sure that the Dongle you are using to connect to the PoE camera is the first connection in the "Service Order" within MacOS settings. This is the only way I have found for it to work reliably. In my experience, if you don't ensure this order is kept, you might be able to connect to the bootloader on occasion, but even if you succeed, you'll generally get Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND
.
To view and reorder the Service Order, click on the ellipsis button at the bottom of the settings and reorder the entries until your dongle comes out on top:
NOTE: When you reorder the Service Order in this way, you will lose access to the internet until you place an actual internet connection back above the dongle.
This is how I have gotten to work, if anybody digs into this any further and figures out how to get this to work without having to simultaneously lose access to the internet, I'd be grateful if you could share back.
Amazing!
I will give it another go on MacOS
Abstraction
Hey. I have ordered the services and configured the IP address with the router's. I am still getting Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND. Is there a step I might have missed so as to get the OAK-D up and running?
When you say "configured the IP address with the router's", do you mean you set it to your router's IP address? If so, that's not correct. The two values should be the same, but they should still be link-local address, e.g. 169.254.XXX.XXX
Can you post an image of your network settings for the particular dongle you're using? Along with the service order?
Hi CodeGenius
Are there any firewall options you have enabled, that would interfere with the communication?
Thanks,
Jaka
@CodeGenius Could you also share the code you're using to initialize the device?
The device is working the problem is that it compromises WI-FI. I'm trying to run an opencv project but it fails to establish a connection.
And when I change the service order, no oak devices are being detected.
Hi CodeGenius
Perhaps you could try to force route the communication through different network adapters:
To identify the network interfaces available on your macOS, run the following command in the terminal:
networksetup -listallhardwareports
Or use ifconfig
to list all interfaces:
ifconfig
Decide which traffic you want to route through which network adapter, typically determined by destination IP addresses or subnets.
Use the route
command with sudo
to modify the routing table. For example, to route traffic to a specific IP through a specific adapter:
sudo route add -host 192.168.1.10 -interface en1
To route an entire subnet through an adapter:
sudo route add -net 192.168.1.0/24 -interface en1
To set a default route through a specific adapter:
sudo route change default -interface en1
Replace en1
with your network adapter's identifier.
The above route
commands do not persist after a reboot. To make them persistent, create a launch daemon or use a startup script.
Test your routing rules with ping
or traceroute
to ensure traffic is routed correctly.
Please replace en1
with the actual identifier of your network adapter and 192.168.1.10
or 192.168.1.0/24
with the actual IP address or subnet you wish to route.