UP Squared V2 I2C Problems
Hello,
We are using the upboard for several years in our projects and are looking to switch to an UPBoard Squared V2 solution. Now i'm struggling to get the I2C ports to work in a reliable way. I hope i can explain my problem in a clear way.
System:
On the system we have installed Intel IOTG Ubutu 20.04.6 OS with the UP HAT pinctrl-upboard driver discussed in this post:
https://forum.up-community.org/discussion/5138/ubuntu-22-04-mraa#latest
The system has a bios version UPS-EHL01 R1.0 from august 2022.
We are using both I2C ports on GPIO 2,3 and 27,28.
We have 2 chips with ID 20,21 connected on 1 I2C port and a seperated chip with ID8 on the 2nd I2C port. When using I2Cdetect sometimes i can see and use the chips with no problem at all.
The problem is that sometimes after a powercycle one bus isn't working anymore and the other bus suddenly is available on a different bus nr.
The missing chip on bus 5 is most of the time nowhere to be found, after a few powercycles sometimes its visible and working fine. I'm sure its not an hardware problem, when connection an UPBoard all is working fine.
We also use the SPI bus, we dont experience any problems using this.
Also the are a few errors when Ubuntu is starting up, perhaps this information could be of use for someone?
Is anyone able to point me in the right direction how to solve this problem?
Thank you in advance.
Answers
-
Bump.
-
Hi Sir
Could you please provide me more informations??
What is the powercycle correctly action, shutdown or sleep??
Best Regards,
Harry Chiu -
Hello mr Chiu,
Thank you for your reply, the powercycle is a complete system restart.
Best regards,
-
To add some more information.
Out of the 10 restarts, 2-3 times we experience this problem. The other times everything is working fine.Best regards,
-
Hello, still struggeling to solve this problem. I have a 2nd UPSquared V2 and an UP4000 with the same problems.
2nd Upsquared V2 with a fresh linux install + Pinctrl drivers:
After only a restart the bus has changed:
Bios settings are all reset to default and this is the I2C setup:
I also do have an UP4000 with a fresh linux install and the pinctrl drivers and it looks like the same problem.
Bus 1:
After only a restart it is Bus 0;I'm out off ideas, is there anybody that is having some tips?
-
Wanted to share that I fixed my problems.
I had 2 issues:
For some reason using i2cdetect on one of the I2C devices is making this bus stuck.
Using homebrew software is working fine.Also I stumbled on this post that seems to fix the switching of the bus numbers.
https://unix.stackexchange.com/questions/660316/i2c-port-change-randomlyThank you,