How to read smbus battery info by R64 I2C pin on Openwrt?

The i2c-tools can read smbus protocol device?

I have a battery connected to R64 by I2C pin, and I want to read the battery info. The protocol is SMBUS, not I2C.

I have install the the i2c&smbus packages:
    i2c-tools - 4.1-3
    kmod-i2c-algo-bit - 4.19.108-1
    kmod-i2c-core - 4.19.108-1
    kmod-i2c-gpio - 4.19.108-1
    kmod-i2c-smbus - 4.19.108-1
    libi2c - 4.1-3

I2C was enabled at the dts.
i2cdetect -l
i2c-1	i2c       	i2c-mt65xx                      	I2C adapter
i2c-0	i2c       	i2c-mt65xx                      	I2C adapter

But I can't find any i2c&smbus device by i2cdetect
i2cdetect -ya 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

i2cdetect -ya 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Checked the I2C feature, it support smbus.

i2cdetect -F 0
Functionalities implemented by /dev/i2c-0:
I2C                              yes
SMBus Quick Command              yes
SMBus Send Byte                  yes
SMBus Receive Byte               yes
SMBus Write Byte                 yes
SMBus Read Byte                  yes
SMBus Write Word                 yes
SMBus Read Word                  yes
SMBus Process Call               yes
SMBus Block Write                yes
SMBus Block Read                 no
SMBus Block Process Call         no
SMBus PEC                        yes
I2C Block Write                  yes
I2C Block Read                   yes

Maybe you need -r switch of i2detect?

Thank you, -r switch working for smbus device.

I don’t think it’s related to smbus as i had same problem with i2c display and the bus scan using i2c basic instructions…only later read/write should be different