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:
- Turn the auto controls off first.
- Then set the values that depend on them.
- 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.