LEARNED IT · 08/26

The UVC driver accepts writes to inactive controls and throws them away

exposure_time_absolute is flagged inactive while auto_exposure is on. Writing to it succeeds and does nothing. No error, no warning.

exposure_time_absolute and white_balance_temperature report flags=inactive while auto_exposure / white_balance_automatic are enabled. A write to an inactive control returns success and is silently discarded.

The order that works:

  1. Turn the auto controls off first.
  2. Then set the values that depend on them.
  3. Then read back and compare — this is the only step that catches the failure.

One wrinkle on step 3: menu controls read back as 1 (Manual Mode), not a bare 1, so compare on the leading number rather than the whole string.

Related: AstroDMx co-owns the device. v4l2-ctl writes take effect live, but AstroDMx re-asserts its own values the moment a slider is touched, and its panel shows stale numbers until reconnect. Its own Auto Exposure / Auto WB buttons are what it actually obeys. It also rewrites ~/.AstroDMx/astrodmx_settings.conf on exit, so nothing should write that file while the app is running.