fp6-img/aports/device/fp6-device-tweaks/81-fp6-accel-poll.rules
Jorijn van der Graaf ff69f4d913 fp6-no-suspend -> fp6-device-tweaks: + the three IMU-critical /etc files
Full-system audit on the flashed phone found the IMU dead: the journal's
documented reinstall-loss trio (inv-icm42600-spi modules-load - fallback-only
SPI node never coldplugs; the accel poll udev rule for auto-rotate; the
iio-sensor-proxy libssc-crash restart drop-in). All device-critical, none
personal - now packaged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 00:03:09 +02:00

15 lines
991 B
Text

# FP6 / inv_icm42600: force iio-sensor-proxy onto its POLL accel backend.
#
# inv_icm42600 registers no IIO trigger (software kfifo buffer pushed from the
# INT1 handler), but it does expose scan_elements/, so 80-iio-sensor-proxy.rules
# tags the accel with BOTH "iio-poll-accel" and "iio-buffer-accel".
# iio-sensor-proxy 3.9 tries iio-buffer-accel first, fails the trigger lookup
# ("Could not find trigger name associated with ...") and does NOT fall back to
# polling -- it registers the device anyway, so HasAccelerometer is true while
# sensor_device stays NULL. Every ClaimAccelerometer then hits
# "driver_set_polling: assertion sensor_device failed", AccelerometerOrientation
# is stuck at "undefined" and Plasma auto-rotate is dead.
#
# Glob the name: the DTS carries an icm42630/icm42631 compatible pair, so the
# IIO name follows whichever the fallback binds (see journal/imu/status.md).
SUBSYSTEM=="iio", ATTR{name}=="icm426*-accel", ENV{IIO_SENSOR_PROXY_TYPE}="iio-poll-accel"