Adafruit_Blinka: MCP2221A: RuntimeError: I2C slave address was NACK'd

Trying to use the Adafruit ATECC608 Breakout with the Adafruit MCP2221A Breakout on Linux:

>>> import board
>>> import busio
>>> from adafruit_atecc.adafruit_atecc import ATECC, _WAKE_CLK_FREQ
>>> i2c = busio.I2C(board.SCL, board.SDA,frequency=_WAKE_CLK_FREQ)
>>> atecc = ATECC(i2c)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/fgallaire/.local/lib/python3.5/site-packages/adafruit_atecc/adafruit_atecc.py", line 132, in __init__
    self._i2c_device = I2CDevice(self._i2c_bus, address)
  File "/home/fgallaire/.local/lib/python3.5/site-packages/adafruit_bus_device/i2c_device.py", line 68, in __init__
    self.__probe_for_device()
  File "/home/fgallaire/.local/lib/python3.5/site-packages/adafruit_bus_device/i2c_device.py", line 168, in __probe_for_device
    self.i2c.writeto(self.device_address, b'')
  File "/home/fgallaire/.local/lib/python3.5/site-packages/busio.py", line 87, in writeto
    return self._i2c.writeto(address, buffer, stop=stop)
  File "/home/fgallaire/.local/lib/python3.5/site-packages/adafruit_blinka/microcontroller/mcp2221/i2c.py", line 13, in writeto
    self._mcp2221.i2c_writeto(address, buffer, start=start, end=end)
  File "/home/fgallaire/.local/lib/python3.5/site-packages/adafruit_blinka/microcontroller/mcp2221/mcp2221.py", line 274, in i2c_writeto
    self._i2c_write(0x90, address, buffer, start, end)
  File "/home/fgallaire/.local/lib/python3.5/site-packages/adafruit_blinka/microcontroller/mcp2221/mcp2221.py", line 205, in _i2c_write
    raise RuntimeError("I2C slave address was NACK'd")
RuntimeError: I2C slave address was NACK'd

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 37 (13 by maintainers)

Most upvoted comments

Self assigned for tracking. Will try and take a look at some point.

@makermelissa I think at this point it’s unclear how universal of a fix this is. Waiting for feedback from people per @ladyada 's suggestion above.

@fgallaire the ATECC is a particularly weird I2C chip due to its sleep mode, we have no ETA when we may look at why it isnt working with MCP2221

@jerryneedell thanks for your tests, as it works on RaspberyPi4 there’s hope to fix that bug !