Opening the camera and pulling the calibration file hangs in SDK, not through browser

On a camera with no cached SN<serial>.conf, Camera::open() blocks and never
returns. No error code, no timeout — the thread sits in open() indefinitely.

Fetching the same file manually works:
https://calib.stereolabs.com/?SN=<serial> returns the .conf from a browser on
another machine. Dropping that file into /usr/local/zed/settings/SN<serial>.conf
makes open() succeed immediately, so the camera and the rest of the setup are fine. If I delete it, the download step always fails though.

Could this be a difference on the hosting side between getting it on HTTP port 80 vs HTTPS?

Hi @ejr-sterolabs,
welcome to the StereoLabs community.

The calibration server answers the same way on both ports, so the difference is most likely on the network path of the machine running the ZED SDK; a blocking open() with no error usually means the outgoing request is silently dropped or held by a firewall, proxy, or container network, rather than refused. Please run these two commands on the same machine where the SDK hangs and share the output:

curl -v --max-time 15 -o /dev/null "http://calib.stereolabs.com/?SN=<serial>"
curl -v --max-time 15 -o /dev/null "https://calib.stereolabs.com/?SN=<serial>"

Please also tell us the ZED SDK version, the camera model, the platform (Jetson/x86, OS or JetPack version), and whether you are running inside Docker or behind a proxy.

Meanwhile, copying the file to /usr/local/zed/settings/ is the official procedure for offline or restricted networks, as described in What is the calibration file?

Best,
Walter