[bpi-r4] could not detect anything new on I2C

Waw, another WAW!

$ i2cdetect -r 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1 using receive byte commands.
I will probe address range 0x08-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

And then still:

$ i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x08-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Thanks for confirmation that i did not damage receiving cirquits on my bpi-r4!

Thanks, I now know what I have to search for and learn!

Did you ever figured out why it is needed to scan using the -r ?

It depends how i2cdetect works and how devices react to this

Summarized by google ai:

1. Sending Addresses:

`i2cdetect` iterates through a range of I2C addresses (typically from 0x03 to 0x77).

2. Acknowledge Detection:

For each address, it sends the address on the I2C bus and waits for a response.

3. SDA Pull-Down:

In I2C, a device signals its presence by pulling the SDA (Serial Data) line low when it recognizes its address, indicating an "acknowledge".

So maybe some devices do not accept this way (address without data) or reacting not the expected way.

The -r switch sends the address with readbyte command which is supported by more devices,but not for write-only devices.

For me it is like this:

i2c

But I can use my i2c device :slight_smile:

1 Like

Thanks for the test, that is exactly my case. Looking forward to play with the sensors again. I will post an update here. Believe in successright now, and with meaningfull infomarmation for others provided I will “close” this topic.