-
Notifications
You must be signed in to change notification settings - Fork 158
Description
Feature Request: Ethernet Link Speed Detection API
Real-World Problem
I'm building a ROS2 agricultural robot with OAK wide PoE cameras over ethernet. Recently spent hours debugging poor camera performance, only to discover our "gigabit" network switch was actually negotiating 100 Mbps links instead of 1 Gbps.
My bandwidth calculations assumed 1000 Mbps (as returned by my hardcoded logic), but the actual link was 10x slower, causing frame drops and system instability.
Current Limitation
The DepthAI C++ API provides connection type via getConnectionInterfaces():
// I can detect "Ethernet" vs "USB" vs "WiFi"
auto connectionInterface = device->getConnectionInterfaces()[0];But I can't get the actual ethernet link speed, so I'm forced to guess:
if (connectionType == "Ethernet") {
return 1000; // Hardcoded assumption - could be 10/100/1000!
}Feature Request
Could the API expose actual ethernet link speed? Something like:
auto linkSpeed = device->getNetworkLinkSpeed(); // Returns actual MbpsThis would help with:
- Bandwidth planning for multi-camera setups
- Early detection of network misconfigurations
- System diagnostics and validation
- Preventing the kind of debugging nightmare I just experienced!
The ethernet PHY should have this information available. On Linux hosts, it's easily accessible via /sys/class/net/eth0/speed.
Environment: DepthAI C++ API v2.30.0, OAK cameras, agricultural robotics
Would this be feasible to add?