enhancement request: optionally decrease i2c bus speed below 100 khz
I am the developer of ddcutil.
ddcutil has 2 approaches to data errors: retrying the I2C operation, and/or increasing the time between operations from the values given in the DDC/CI specification. Sometimes this is successful, sometimes not.
I believe many data errors can be addressed by decreasing the I2C bus speed, and I finally have a clean example. Maciej Wójcik modified the i915 driver to decrease the bus speed from 100 khz to 50k khz, and this resolved DDC data errors with a Dell 2209WA monitor.
Maciej will follow up on this issue describing precisely the proof of concept changes he made. A question, of course, is how the ability to change speed can be externalized for a particular /dev/i2c device. The obvious solution would be an ioctl, though perhaps there's a better way.