mgregg wrote:Turning off i2c_vc=on opens /dev/i2c-1 only.
Correct. i2c_arm=on will enable /dev/i2c-1 on all revisions of the Pi, except on the 256MB rev1 model B from 2012 where it enables i2c-0.
It is there to enable the I2C controller that is available for the ARM to use, hence the name. i2c_vc is there for the I2C bus assigned to the GPU (VideoCore).
mgregg wrote:But that port doesn't find anything on that bus if they are plugged into pins 3&5.
Details of what you've done then. Many many people are using i2c-1 on pins 3&5 without issue.
mgregg wrote:I'll be happy if you can prove me wrong.
You need to provide a load more information then. No one else can see your setup.
- I am assuming this is a stock Raspbian, Raspbian Lite, or NOOBS install. I'm afraid if not then you're on your own/need to go to that distos support forum.
- As Dougie has just asked, what board revision are you dealing with on your old and new boards?
- The pin assignment of pin 13 also changed between rev1 & 2 from GPIO27 to GPIO21. I take it that you aren't using that to gate any of your I2C comms.
- Have you proved this exact board is fully working using a different Pi?
- (suck eggs) Is the board correctly aligned on the header?
- Does i2c-detect -y 1 run at a sensible speed, or is it slow? Slow response would be indicative of a short to ground on SCL enforcing clock stretching.
- Check with "sudo raspi-gpio --get" that GPIOs 2&3 are assigned to ALT0 and therefore SDA1 and SCL1. No other GPIOs should be assigned to the SDA1 or SCL1 function, otherwise you will get issues.
- Stick a scope or Piscope
on pins 3&5/GPIOs 2&3. Are the lines waggling?
mgregg wrote:It looks as though if you have i2c on pins 3&5, without software i2c, you cannot use those devices.
Sorry, that is absolute twaddle.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.