I am happy to report that the camera "failed to set mode" and "device busy/brownout" issues are now fully resolved. The root cause was a hardware race condition where rapid power cycling (e.g., refreshing a browser permission prompt) would re-enable the regulators before the sensor's capacitors had fully discharged or its internal state machine had reset. This left the sensor in a latched-up/brownout state that persisted until a reboot.
- Issue: Camera fails with "failed to set mode" and "device busy" errors when accessing it rapidly (e.g., refreshing a browser page or restarting qcam quickly). This leaves the sensor in a persistent brownout/latched- up state that requires a full system reboot to recover. The root cause is that the sensor regulators are re-enabled before the capacitors fully discharge, preventing a clean Power-On Reset (POR). - What fixed it: Two sets of changes were required: - Driver (ov02c10.c): Implemented a mandatory 3-second cool-down period. The driver now tracks the timestamp of the last power-off and forces a sleep if a power-on request comes too soon. This guarantees physical discharge regardless of userspace behavior. We also corrected the power- off sequence to disable MCLK before regulators to prevent current back- feeding (latch-up). - DTS: Increased the off-on-delay-us to 50ms for the camera regulators as an additional safety margin. - Remaining issues: Userspace color tuning. The camera stream is stable and reliable now, but the colors are incorrect (Warmer Tint). This is a libcamera/IPA tuning file issue and is unrelated to the kernel stability fixes. Attached are the patches which I have used. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2138756 Title: [ov02c10] Camera unusable on Lenovo Yoga Slim 7x - system hangs, I2C timeouts, color artifacts To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2138756/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
