Open N4321D opened 4 years ago
It's going to be hard to get much interest here when you have a log full of undervoltage warnings - there's a good chance that the reason using the camera affects I2C is that using it draws more power.
Thank you, You are right (although there was no undervoltage on RPI4).
I ran it again on RPI3B+ with a better power supply (no undervolt warnings) and updated the output in the first post. Unfortunately there was still the same issue.
It's going to be hard to get much interest here when you have a log full of undervoltage warnings - there's a good chance that the reason using the camera affects I2C is that using it draws more power.
Hello! I have the same issue, but with multiple I2C devices on multiple channels. In addition to the default channel 1, I enabled 3 additional I2C channels to read from and write to 4 devices simultaneously. After just a few seconds 3 channels stop working (while the (randomly) remaining one still runs) and timed-out errors appear in dmesg
[ 8661.510950] i2c-bcm2835 fe205800.i2c: i2c transfer timed out
[ 8661.511088] i2c-bcm2835 fe205c00.i2c: i2c transfer timed out
[ 8661.600935] i2c-bcm2835 fe804000.i2c: i2c transfer timed out
My setup is Raspberry Pi 4 running Raspberry Pi OS Buster (Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
).
@chukhanhhoang Are you running the camera at the same time, or just the different I2C buses from the Pi4?
All the I2C controllers share a common interrupt line (GIC 117 for Pi4, interrupt 21 on earlier boards), so there is a bit of cooperation required when they come to service them.
The firmware (which generally controls the camera and /dev/i2c-0) doesn't use the interrupts, so shouldn't cause any effects.
Thank you very much for your quick response! No, I am not using the camera now, just I2C devices as you said. Fortunately, my problem is solved in the latest kernel (Linux raspberrypi 5.10.46-v7l+). Now I am can read the channels (1,3,4,6) simultaneously. Have a nice day!
Curious as I'm not aware of any I2C changes between 5.10.17 and 5.10.46.
Hello! I have the same issue, but with multiple I2C devices on multiple channels. In addition to the default channel 1, I enabled 3 additional I2C channels to read from and write to 4 devices simultaneously. After just a few seconds 3 channels stop working (while the (randomly) remaining one still runs) and timed-out errors appear in dmesg
[ 8661.510950] i2c-bcm2835 fe205800.i2c: i2c transfer timed out [ 8661.511088] i2c-bcm2835 fe205c00.i2c: i2c transfer timed out [ 8661.600935] i2c-bcm2835 fe804000.i2c: i2c transfer timed out
My setup is Raspberry Pi 4 running Raspberry Pi OS Buster (
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
).
Yes Linux 5.10.17-v7+ also created the same issues for me even without camera (on RPI3 B+). i2c timed out every second or so. rpi-update to 5.10.48-v7+ fixed it
Recording from the camera (especially when using multiple splitter ports) and sampling the I2C bus (1 or others on RPI4) simultaneously randomly throws:
errno 5 input output error or errno 110 connection timed out.
this happens on the RPI4 every minute or so, and on the RPI3B+ less frequently (sometimes once 1h or something).
See this thread for all the specific test condition etc: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=287015&p=1738555#p1734925
I tested it on both Buster and Stretch with different firmware versions and kernels.
Changing anything in config.txt (e.g. core_freq, arm_freq, or gpu mem etc) did not solve the issue.
Last setup:
ON RPI3B+:
raspinfo:
EDIT: ran it again on RPI3B+ with better power supply to avoid under voltage, still same issue.
config.txt (current version but it tried multiple options see https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=287015&p=1738555#p1734925)
RPI4: raspinfo
config.txt