I2C Busses Keep getting lost



I seem to have an issue where the the I2C buses 1-4 keep getting lost. That is the I2C multiplexer driver is getting lost/corrupted/uninstalled (basically not sure but not there). I can verify this by doing “i2cdetect -y -r 0” and I see a 0x71 instead of UU in that location, also “i2cdetect -l” only brings up bus 0.

An easy fix for this as pointed out by @dfrey is to go to the mangoh folder do a “make red_wp58” and the a “update mangOH_Red.wp85.update”.

This is a good work around that allows you to keep working. The answer I’m really looking for is why does this keep happening and how can I prevent this. If I’m running some application where I can’t get to the unit to reinstall anything (weather balloon at 37000 feet) I need to know that my application is reliable and the system will keep reporting the data needed.



Run legato status and check what the system number is and make a note of it. The next time you notice that the i2c buses have disappeared run the command again. If the number has increased, then it indicates that an update was performed. This update might have been a rollback to a previous system.


Thank you, is there a way to prevent these auto updates so that this does not happen in a product that is ready to be let out in the world.



I think if you do update --mark-good your system will be marked as good and won’t rollback on errors.


Hi dfrey,

How to mark my application as good so that it will not be rollback ?

How to use this command : “update --mark-good”
will it mark user application as good ?


My understanding is that running update --mark-good will mark the system as good and thus it shouldn’t rollback except under one scenario. There is boot loop detection. If the system is detected to be boot looping, then even a “good” system will roll back.