For the parameter „enable_uart=1“ is documented that this locks the clock rate as fixed, but as far as I know this is not true.
So since beginning I expected that the I2C speed could make trouble too, because of dynamic clocking. Perhaps this is unfounded for the I2C and only the RPi clock-stretching bug is an issue. Until now I couldn‘t verify that case.
If you can catch a bad case again, please provide the full log, not only snippets. If my suspicion is right, then we will doesn‘t find a difference in the logs, because the issue exists only during transfer of the message at the I2C bus.
To rule out this possible trouble maker we can try to set the clock rate manually. This will have some restrictions like:
- higher power consumption, no clock down during idle
- maybe shortening lifespan of the RPi4, because the clock should be set to 550Mhz to be fast enough for 4K
By the way: I have also been trying out a different configuration without "enable_uart=1" for several months in order to use a different UART and not restrict dynamic clocking (if it after an kernel/firmware update accidentally works like designed
). This works too, if you can live without the integrated bluetooth adapter.
I doesn‘t have a oscilloscope to see what happens at the I2C bus so I‘m not 💯 sure that could be the solution for the bad case scenario. For the I2C clock stretching bug, maybe slow down the I2C speed helps to mitigate the issue.