I2C not working on jetson nano

jasper@ubuntu:~$ sudo i2cdetect -y 0
Warning: Can’t use SMBus Quick Write command, will skip some addresses
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: – -- – -- – -- – --
40:
50: – -- – -- – -- – -- – -- – -- – -- – --
60:
70:

Shows the same in sudo i2cdetect -y 1 and in sudo i2cdetect -y 2

The wiring is correct as i have tested the same sensors with same wiring on raspberry pi and they are working perfectly fine.
Tested the system, on recovery mode too and it gives the same error.
Also i did re-flashed the OS couple of times,and tried the same on the jetbot OS. In all the cases i2C detect dosent works

Any help would be appreciated.

Thanks

Hi jasper-hue,

Please use the option “-r” in your i2cdetect command, like

$sudo i2cdetect -y -r 0

By default, i2cdetect command uses the “SMBUS quick write” sequence on the bus instead of traditional “I2C READ” sequence, for certain address range. (referred from the source).

			if ((i+j >= 0x30 && i+j <= 0x37)
			 || (i+j >= 0x50 && i+j <= 0x5F))
				res = i2c_smbus_read_byte(file);
			else
				res = i2c_smbus_write_quick(file,
				      I2C_SMBUS_WRITE);

Some simpler i2c slave devices (like the sensor you wired up), may not respond to SMBUS quick write command. If you provide the “-r” option, i2cdetect command will use I2C READ sequence always.

Hey Kannan,

Thanks a lot this worked.

Hello, We are doing jetbot projects with the nano. We have several jebots constructed and working. During our build today we connected a servo controller to the i2c bus, and the bus failed/shutdown, we also lost wifi. Prior to this, we ran the i2cdetect command, and saw a motor controller (address 60) and a pioled (addres 3c) connected. After this happened, no devices show up with i2cdetect. We have disconnected everything, rebooted, and power cycled, but it will not come back up. I saw in other forums that there have been issues with wifi (intel 8260) but we are running 8265 and have been working fine until now. Any suggestions on troubleshooting, or a possible fix?