I’ve been reading on the i2C ports on the Edison. It looks like only i2C6 is configured to work and using both i2C ports is not going to work without doing some software changes.
I found some links in which several users discuss having similar issues to yours, take a look at them and try the suggestions posted.
Hi Sergio and freshbird,
Thanks for the links. It looks like a few of them have to do with using Arduino IDE, which currently is hard coded to only use the one I2C buss. As I mentioned in some other threads, I have a beginning of Arduino IDE update to try to get more of the mini-breakout board working with it. Use MRAA pin numbers, don't try to do all of the mux stuff, that is not there, ... Have not tried to change I2C library to allow multiple buss as I am not really doing anything with I2C currently ...
Looking at the MRAA sources, it looks like it is setup to use both I2C interfaces on the mini-breakout board. Note: running i2cdetect on arduino breakout board to talk to buss 1, causes lots of errors to start happening, so it may be actually trying to hit the buss...
Oh,thanks to your help.and to be honest, i just want to enable two i2c slave devices(BMP180 & MPU9150).and i found that each one can work well if i only touch one sensor to the I2C6.
but if i connect two sensors to I2C6, it can't work.and i use i2cdetect -y -r 6, there is no sensor founded.
so,i'm sorry for that do you have any advice??
How about if you try changing the options of the i2cdetect command? As you can see from this link http://linux.die.net/man/8/i2cdetect , the option of –r is not recommended. Take a look at the options to see if you can scan both i2c devices at the same time using other options of i2cdetect.
I'm sorry for that it still can't work well...and i see the thread:Edison i2c lost arbitration when enable any 2 devices
but i know that Edison Arduino kit had the levelshifter and pull up resistor(from 1.8v to 3.3v or 5v and 4.7kΩ resistor.)..
so,do you have any advise?
I am also experiencing similar problems, using I2C1.
For example when I use i2cdetect or any mraa functions to initialize and read on I2C1, I am not getting anything. By not getting anything I cannot see any signal on a logic analyzer.
At the same time I2C6 works perfectly fine. I do not want to use a Arduino IDE. Is there any solution.
I am using Mini-breakout board. and latest version of yocto and mraa