(Timeouterror [Errno 110] Connection timed out) on Jetson Nano

My set up includes a Jetson Nano connected with a Pololu Tic T500 stepper motor controller through I2C using pin 3 and 5 (bus 1). When I run my code, it gives me the time out error. I am pretty sure that it is not because of the Tic T500, because I connected the exact same set up to pin 27 and 28 (bus 2) and it works fine.

When I ran i2cdetect for bus 0, it response very fast and shows the address of the Tic T500. However, when I ran i2cdetect for bus 1, it took a significantly longer time than bus 0 and didn’t shows any connection addresses. I also attached the log messages when I run i2cdetect for bus 1 below.

Please let me know what happened and what can I do, I will provide any required information.

[1892.467503] tegra-i2c 7000c400.12c: pio timed out addr: 0xf tlen:12 rlen:4
[1892.474823] tegra-i2c 7000c400.i2c: --- register dump for debugging ----
[1892.483352] tegra-i2c 7000c400.i2c: I2C_CNFG - 0x22c00
[1892.488571] tegra-i2c 7000c400.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[1892.496153] tegra-i2c 7000c400.i2c: I2C_FIFO_CONTROL - 0xe0
[1892.501824] tegra-i2c 7000c400.i2c: I2C_FIFO_STATUS - 0x800080
[1892.507802] tegra-i2c 7000c400.i2c: I2C_INT_MASK - 0x7d
[1892.513544] tegra-i2c 7000c400.i2c: I2C_INT_STATUS - 0x2
[1892.519006] tegra-i2c 7000c400.i2c: i2c transfer timed out addr: 0xf

hello khang2024,

it’s using i2c2 (i2c2: i2c@7000c400) internally.

                        pinctrl-0 = <&jetson_io_pinmux>;
                        jetson_io_pinmux: exp-header-pinmux {
                                hdr40-pin3 {
                                        nvidia,pins = "gen2_i2c_sda_pj3";
                                };  
                                hdr40-pin5 {
                                        nvidia,pins = "gen2_i2c_scl_pj2";
                                };  

may I know which board you’re using, is it Jetson Nano developer kit?
besides.. may I also know which Jetpack release version you’re working with?

I am using a Jetson Nano developer kit and I working with the pack include below. it is not a Nvidia Jetpack, I used this so that I can have Ubuntu 20.04 on my Jetson.
Pack:

https://github.com/Qengineering/Jetson-Nano-Ubuntu-20-image

hello khang2024

all right, please debug this by yourself. you may dig into pinmux/device tree settings for i2c2.

Do I need to reconfigure the pin through device tree, and if I need to what is the step to do it. Also, originally, bus 1, pin 3 and 5 worked, but suddenly one they they just stopped working.

see-also Pinmux Changes for the steps.