Skip to content

[Feature-Request] Ethernet Link Speed Detection API #1421

@cocodmdr

Description

@cocodmdr

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 Mbps

This 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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions