First of all: sorry for the title, I don't know how to describe further...
Background:
I'm working with the RDA5807M FM receiver chip. It worked fine for at least one month now. I just had jumper wires as connection, and now that the software is finished and I also have all hardware components ready I soldered wires onto an adapter for the GPIOs.
Accidentally from then I got strange results from i2cdetect
:
$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 11 -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Before it was correct:
$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 11 -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
As you can see, the chip is responding on the addresses 0x10
and 0x11
, but not on 0x60
, which is the address for TEA5767 compatible mode.
Just strange:
I got it then working again for a short time by reordering the wires, and then it stopped working again. Then I found out i2cdetect
will find the chip under address 0x60
when I put the I2C bitrate to 2kHz or higher, but then the chip can't be controlled over i2cget
, i2cset
or the Python smbus
library anymore.
Now after I had the Pi on for the half day but idle (I was not using it) I happily saw, that the chip is working again, even after a reboot.
Conclusion:
- Worked fine for a long time
- Stopped working
- Wires reordered, worked again for a short time
- Stopped working again
- Chip is now detectable with higher I2C bitrate only
- Working again after some time being idle
Can someone explain this strange behaviour at least in small parts (even if it's working for now)?