I have the following problem: I found out that PiFace RTC addon did not work on one of the Raspberry Pi 3 boards we are preparing for a client. I used i2cdetect to scan I2c bus, and the scan is very slow (about one second per address, maybe slightly faster). It did not find the RTC.
However, even when I removed the RTC, the search was slow. Then I changed the Raspberry Pi 3 board, and presto, the search finished instantly (and found RTC unless the contact between pins and addon board was poor).
I went further, and tested Raspberry Pi 1, and again, search is lighting fast. I use the same SD card for all of them, so all settings are the same for all tests.
So, my questions:
- Is it normal that i2cdetect works so slowly? I found the answer elsewhere that it is indeed possible up to 500ms, if it goes through all the combinations of communication speeds...
- I am puzzled why difference between boards, even if the same SD card is used. Are there any settings that get permanently stored inside SoC registers even if the device is shut down and disconnected, so would it be possible that I2c registers on one board are set in a way that makes problems? How do I reset the SoC if this is the case?
- Is it possible that the board where search is slow is somehow damaged?