Dmesg log:no acknowledge from address ,but i2c device work normal

when I use “i2cdetect -r -y” command,different I2C bus give me different result.
i2c4:

root@tegra-ubuntu:~# i2cdetect -r -y 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --    

but i2c8 print a lot of “no acknowledge from address” error log

root@tegra-ubuntu:~# i2cdetect -r -y 8
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          [  268.289967] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3
-- [  268.290527] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4
-- [  268.291022] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5
-- [  268.291529] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6
-- [  268.292033] tegra-i2c 31e0000.i2c: no acknowledge from address 0x7
-- [  268.292579] tegra-i2c 31e0000.i2c: no acknowledge from address 0x8
-- [  268.293096] tegra-i2c 31e0000.i2c: no acknowledge from address 0x9
-- [  268.293628] tegra-i2c 31e0000.i2c: no acknowledge from address 0xa
-- [  268.294131] tegra-i2c 31e0000.i2c: no acknowledge from address 0xb
-- [  268.294815] tegra-i2c 31e0000.i2c: no acknowledge from address 0xc
-- [  268.295366] tegra-i2c 31e0000.i2c: no acknowledge from address 0xd
-- [  268.295872] tegra-i2c 31e0000.i2c: no acknowledge from address 0xe
-- [  268.296398] tegra-i2c 31e0000.i2c: no acknowledge from address 0xf
-- 
10: [  268.296929] tegra-i2c 31e0000.i2c: no acknowledge from address 0x10
-- [  268.297474] tegra-i2c 31e0000.i2c: no acknowledge from address 0x11
-- [  268.302347] tegra-i2c 31e0000.i2c: no acknowledge from address 0x12
-- [  268.308693] tegra-i2c 31e0000.i2c: no acknowledge from address 0x13
-- [  268.315138] tegra-i2c 31e0000.i2c: no acknowledge from address 0x14
-- [  268.321658] tegra-i2c 31e0000.i2c: no acknowledge from address 0x15
-- [  268.328489] tegra-i2c 31e0000.i2c: no acknowledge from address 0x16
-- [  268.334750] tegra-i2c 31e0000.i2c: no acknowledge from address 0x17
-- [  268.341013] tegra-i2c 31e0000.i2c: no acknowledge from address 0x18
-- [  268.347497] tegra-i2c 31e0000.i2c: no acknowledge from address 0x19
-- [  268.354132] tegra-i2c 31e0000.i2c: no acknowledge from address 0x1a
-- [  268.360333] tegra-i2c 31e0000.i2c: no acknowledge from address 0x1b
-- [  268.366995] tegra-i2c 31e0000.i2c: no acknowledge from address 0x1c
-- [  268.373626] tegra-i2c 31e0000.i2c: no acknowledge from address 0x1d
-- [  268.379975] tegra-i2c 31e0000.i2c: no acknowledge from address 0x1e
-- [  268.386521] tegra-i2c 31e0000.i2c: no acknowledge from address 0x1f
-- 
20: [  268.393805] tegra-i2c 31e0000.i2c: no acknowledge from address 0x20
-- [  268.400449] tegra-i2c 31e0000.i2c: no acknowledge from address 0x21
-- [  268.407197] tegra-i2c 31e0000.i2c: no acknowledge from address 0x22
-- [  268.413577] tegra-i2c 31e0000.i2c: no acknowledge from address 0x23
-- [  268.420194] tegra-i2c 31e0000.i2c: no acknowledge from address 0x24
-- [  268.426683] tegra-i2c 31e0000.i2c: no acknowledge from address 0x25
-- [  268.433404] tegra-i2c 31e0000.i2c: no acknowledge from address 0x26
-- [  268.440024] tegra-i2c 31e0000.i2c: no acknowledge from address 0x27
-- [  268.446592] tegra-i2c 31e0000.i2c: no acknowledge from address 0x28
-- [  268.452909] tegra-i2c 31e0000.i2c: no acknowledge from address 0x29
-- [  268.459677] tegra-i2c 31e0000.i2c: no acknowledge from address 0x2a
-- [  268.465968] tegra-i2c 31e0000.i2c: no acknowledge from address 0x2b
-- [  268.472440] tegra-i2c 31e0000.i2c: no acknowledge from address 0x2c
-- [  268.479214] tegra-i2c 31e0000.i2c: no acknowledge from address 0x2d
-- [  268.485567] tegra-i2c 31e0000.i2c: no acknowledge from address 0x2e
-- [  268.492229] tegra-i2c 31e0000.i2c: no acknowledge from address 0x2f
-- 
30: [  268.499663] tegra-i2c 31e0000.i2c: no acknowledge from address 0x30
-- [  268.506210] tegra-i2c 31e0000.i2c: no acknowledge from address 0x31
-- [  268.512610] tegra-i2c 31e0000.i2c: no acknowledge from address 0x32
-- [  268.519329] tegra-i2c 31e0000.i2c: no acknowledge from address 0x33
-- [  268.525723] tegra-i2c 31e0000.i2c: no acknowledge from address 0x34
-- [  268.532510] tegra-i2c 31e0000.i2c: no acknowledge from address 0x35
-- [  268.539023] tegra-i2c 31e0000.i2c: no acknowledge from address 0x36
-- [  268.545452] tegra-i2c 31e0000.i2c: no acknowledge from address 0x37
-- [  268.552146] tegra-i2c 31e0000.i2c: no acknowledge from address 0x38
-- [  268.558575] tegra-i2c 31e0000.i2c: no acknowledge from address 0x39
-- [  268.565111] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3a
-- [  268.571674] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3b
-- [  268.578061] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3c
-- [  268.584679] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3d
-- [  268.591199] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3e
-- [  268.597908] tegra-i2c 31e0000.i2c: no acknowledge from address 0x3f
-- 
40: [  268.604992] tegra-i2c 31e0000.i2c: no acknowledge from address 0x40
-- [  268.611816] tegra-i2c 31e0000.i2c: no acknowledge from address 0x41
-- [  268.618378] tegra-i2c 31e0000.i2c: no acknowledge from address 0x42
-- [  268.624940] tegra-i2c 31e0000.i2c: no acknowledge from address 0x43
-- [  268.631544] tegra-i2c 31e0000.i2c: no acknowledge from address 0x44
-- [  268.638079] tegra-i2c 31e0000.i2c: no acknowledge from address 0x45
-- [  268.644629] tegra-i2c 31e0000.i2c: no acknowledge from address 0x46
-- [  268.651207] tegra-i2c 31e0000.i2c: no acknowledge from address 0x47
-- [  268.657756] tegra-i2c 31e0000.i2c: no acknowledge from address 0x48
-- [  268.664316] tegra-i2c 31e0000.i2c: no acknowledge from address 0x49
-- [  268.670887] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4a
-- [  268.677163] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4b
-- [  268.683731] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4c
-- [  268.690404] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4d
-- [  268.696829] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4e
-- [  268.703527] tegra-i2c 31e0000.i2c: no acknowledge from address 0x4f
-- 
50: [  268.710642] tegra-i2c 31e0000.i2c: no acknowledge from address 0x50
-- 51 [  268.717707] tegra-i2c 31e0000.i2c: no acknowledge from address 0x52
-- UU [  268.724529] tegra-i2c 31e0000.i2c: no acknowledge from address 0x54
-- [  268.731084] tegra-i2c 31e0000.i2c: no acknowledge from address 0x55
-- [  268.737645] tegra-i2c 31e0000.i2c: no acknowledge from address 0x56
-- [  268.744040] tegra-i2c 31e0000.i2c: no acknowledge from address 0x57
-- [  268.750799] tegra-i2c 31e0000.i2c: no acknowledge from address 0x58
-- [  268.757147] tegra-i2c 31e0000.i2c: no acknowledge from address 0x59
-- [  268.763789] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5a
-- [  268.770467] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5b
-- [  268.776894] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5c
-- [  268.783422] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5d
-- [  268.789970] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5e
-- [  268.796574] tegra-i2c 31e0000.i2c: no acknowledge from address 0x5f
-- 
60: [  268.803628] tegra-i2c 31e0000.i2c: no acknowledge from address 0x60
-- [  268.810446] tegra-i2c 31e0000.i2c: no acknowledge from address 0x61
-- [  268.816890] tegra-i2c 31e0000.i2c: no acknowledge from address 0x62
-- [  268.823578] tegra-i2c 31e0000.i2c: no acknowledge from address 0x63
-- [  268.830137] tegra-i2c 31e0000.i2c: no acknowledge from address 0x64
-- [  268.836745] tegra-i2c 31e0000.i2c: no acknowledge from address 0x65
-- [  268.843265] tegra-i2c 31e0000.i2c: no acknowledge from address 0x66
-- [  268.849653] tegra-i2c 31e0000.i2c: no acknowledge from address 0x67
-- [  268.856413] tegra-i2c 31e0000.i2c: no acknowledge from address 0x68
-- [  268.862976] tegra-i2c 31e0000.i2c: no acknowledge from address 0x69
-- [  268.869359] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6a
-- [  268.875915] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6b
-- [  268.882487] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6c
-- [  268.889016] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6d
-- [  268.895620] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6e
-- [  268.901982] tegra-i2c 31e0000.i2c: no acknowledge from address 0x6f
-- 
70: [  268.909248] tegra-i2c 31e0000.i2c: no acknowledge from address 0x70
-- [  268.916060] tegra-i2c 31e0000.i2c: no acknowledge from address 0x71
-- [  268.922458] tegra-i2c 31e0000.i2c: no acknowledge from address 0x72
-- [  268.929079] tegra-i2c 31e0000.i2c: no acknowledge from address 0x73
-- [  268.935612] tegra-i2c 31e0000.i2c: no acknowledge from address 0x74
-- [  268.942324] tegra-i2c 31e0000.i2c: no acknowledge from address 0x75
-- [  268.948683] tegra-i2c 31e0000.i2c: no acknowledge from address 0x76
-- [  268.955460] tegra-i2c 31e0000.i2c: no acknowledge from address 0x77

how can I solve this problem? the voltage of i2c8 (I2C1_SCL I2C1_SDA) is 3.3V

hello Xzz,

this failure, i2c no acknowledge, it’s usually due to incorrect regulators settings.
please review the schematic and double check your device tree settings.

Hi, JerryChang,
can u give me some suggestions or example?
Actually I dont know how to check regulators settings in my device tree.
My schmatic is very simple:
and power 3.3V is by Fixed by SOM


image

Hi, JerryChang,
do u have any suggestion?

hello Xzz,

please refer to kernel sources for the mappings of i2c.
you’ll see the mapping of i2c software nodes with its physical address.
for example, $public_sources/kernel_src/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-soc-i2c.dtsi

as you can see in the pinmux spreadsheets, please pay attentions to the ball names, it’s DP_AUX_CH3 for those I2C1 signals. and, you’re able to mapping them as… i2c8 = &dp_aux_ch3_i2c;
you should have implementation as this node doesn’t define in the Xavier NX’s device tree.

you may searching similar issues with dp_aux_ch3_i2c, please see-also Topic 164385.

Hi,jerryChang,
thank you very much for reply,
When I use i2cdetect command, a via of error log happend.
But my sensors on I2C8 bus work normal. So my configuration of sensor seem is correct.

My question is : How to check I2C regulators settings? I dont change I2C configuration,but just add a
Preference “status = okay”

+++ b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
@@ -428,9 +428,17 @@
                };
        };
 
        hdr40_i2c1: i2c@31e0000 {
                pinctrl-names = "default";
                pinctrl-0 = <&dpaux_default>;
+               status = "okay";
+
+               eeprom@53 {
+                       compatible = "24c02";
+                       reg = <0x53>;
+                       status = "okay";
+               };
        };

hello Xzz,

please double check the VCC you’ve provide to the module, you may also probe the voltage to ensure it’s correct.

Hi,JerryChang,
I dont know which module I should check, is it “VCC3S” in the picture?

that’s correct.

Hi,JerryChang,
VCC3S is 3.3V
Meanwhile, I change the carried board to Jetson Xavier NX devkit carried board.
system is the same version, and running i2cdetect command has the same error.

Hi,JerryChang,
do you have any suggestions?

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks

Hi, kayccc,
The problem is not solved, we still need your help.Thank u!

hello Xzz,

please disassembler the dtb file into text file to review the settings,
for example, $ dtc -I dtb -O dts -o output.txt tegra194-p3668-all-p3509-0000.dtb
you should review the field i2c@31e0000 {...}, please check you’ve node defined correctly.

BTW,
what’s the actual failure of your topic?
according to the title… Dmesg log:no acknowledge from address ,but i2c device work normal
do you meant your i2c device works normally, and you’re wondering why the i2c no acknowledge messages pop-up?

Actually, yes. My devices are all work normal.
I just want solve this error log.

hello Xzz,

could you please try i2cdetect again while your i2c device is enabled.

The log is the same as above log.

In this log , 53 address is my device, and it work fine.

My question is:
Why this i2c bus has “no ackonwledge” log , but i2c4. is normal?

hello Xzz,

because there’s a device connected to i2c@31e0000, and only address 0x53 has response.
you may try again to remove connected device, the i2cdetect test utility should return immediately without failures.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.