Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Transmitting data on one I2C bus causes garbage to appear on second I2C bus #243
This is from a fresh raspbian install with the latest image.
Make sure the I2C module isn't blacklisted
Compile and run this: http://shiranui.lt3m.com/i2cspam.c
Then do i2cdetect -a -y 1
Random addresses will show as present on whichever I2C bus you're /not/ transmitting on. This also causes confusion and deadlocks when you try to transmit on both I2C buses at once.
I have probed around on the board with a scope and there does not seem to be any kind of noise appearing on the I2C bus external to the chip, so this is either a driver bug or a board layout issue that is way harder to detect.
This test works at the default baud rate, and it works even if nothing is connected to either I2C bus.