固件内置了i2ctools软件包
root@Widora:/# i2cdetect -l i2c-0 i2c 10000900.i2c I2C adapt
root@Widora:/# 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
root@Widora:/# i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
其中标识为UU的设备(地址分别为0x1a和0x34)表示内核已经加载了相应的驱动,而地址为0x48的I2C设备尚未被内核所驱动。
root@Widora:/# ls /sys/bus/i2c/devices 0-001a 0-0034 i2c-0 root@Widora:/# cat /sys/bus/i2c/devices/0-001a/name wm8960 root@Widora:/# cat /sys/bus/i2c/devices/0-0034/name codec_wm8960
root@Widora:/# i2cdump -y 0 0x48 W 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K..... 10: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K..... 20: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K..... 30: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K..... 40: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K..... 50: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K..... 60: 1e 00 4b 00 ff ff ff ff 1e 00 4b 00 ff ff ff ff ?.K.....?.K.....