Part Number: BEAGLEBK
Hello, I'm using a BeagleBone Black (running Processor SDK 4.1) to communicate to an IC over I2C, using the BBB's built-in headers. I'm working with I2C bus 2. I've been attempting to communicate with the IC with a generic Python I2C module, which has worked for me in the past with the same IC (albeit on a Raspberry Pi). The BBB always fails on I2C write commands. I've also noticed this occurring while using i2cdetect -y 2, which leads to:
"Error: Can't use SMBus Quick Write command on this bus"
and i2cset -r 2 0x0f 0x3e leads to:
"Warning - data mismatch - wrote 0x3e, read back 0x22", where 0x22 is the correct value that should have been sent back from the IC.
I'm a little confused, i2cset implies that the I2C bus may be working, however the script which is known to be working on other machines, and uses no third-party python modules in and of itself (source is here), does not appear to work.
Is there anything special I should know about the I2C bus on the BBB? Speed restraints? Should I have added the IC as a node in the device tree? Any help would be appreciated.