Interesting Problem I2C Beaglebone Black.

i am working on I2C-2 bus beaglebone black and interface an EEPROM of CAT24C256 which is located at 0x50 address.

The problem is when i access this eeprom using i2c-tools etc i2cdump, i2cget, i2cset then the results are not correct most of the time.

But when i use :
root@beaglebone:~****# echo 24c256 0x50 > /sys/bus/i2c/devices/i2c-1/new_device
and then:
root@beaglebone:~# echo “This is a text to be stored in out EEPROM” > /sys/bus/i2c/devices/1-0050/eeprom.

The above one work 100% correct and text is stored in the eeprom from address 0x0000, but the i2cset 1 0x50 0x00 0x41 is not doing anything but dont show error.

Kindly tell me that what is this strange problem?

Well, once you did "echo 24c256 0x50 >
/sys/bus/i2c/devices/i2c-1/new_device" the kernel now has control and
the i2c tools won't work.

If you do a i2cdump, that address should also have a "U" on it.

Regards,

Thanks for Reply Robert

but the problem is when i use other IC PCF8574 I2C I/O Expander which have address 0x20, then i2c tools working very correctly, it cause problem only with CAT24C256 0x50, therefore i cant use EEPROM in my application :(,
Need more help!