I2C bus to head failure

I think either my head needs to be replaced or the ribbon to the head needs to be replaced, but I could use a second opinion. The following is a snippet of my logs at the moment my Glowforge stopped working correctly:

2019-12-29_21:36:11.10790     296916 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:11.61793     297426 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:11.63119     297431 ERROR: head_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:159)
2019-12-29_21:36:12.12789     297936 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:12.63790     298446 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:12.65112     298451 ERROR: board_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:159)
2019-12-29_21:36:13.14789     298956 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:13.65789     299466 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:14.16789     299976 ERROR: i2c_transfer: ioctl failed (110: Connection timed out, src/i2c.cpp:26)
2019-12-29_21:36:14.17994     299981 ERROR: Head I2C communication alert (src/hw_task_messages.cpp:279)
2019-12-29_21:36:14.17997     299981  INFO: hw: error flag set: fault:head_accel_i2c_alert:set (28)

I’m not seeing any errors from the lid, so I think the accessory board itself is ok. I have an electronics lab. Can somebody recommend test points?

I’m compiling my notes into something useful. I’ll have details for you later today.

Edit: It’s later today… Still compiling… :slight_smile:

I posted some details on the I2C bus that should get you started.

One thing that I find interesting is that the log you posted shows a failure for ALL the devices on the bus. If there was a connection problem, say to the head or the interconnect only, you should still see successful communications with the control PCB’s accelerometer.

That would lead me to think there is something loading down the clock or data lines somewhere.

You can quickly divide and conquer by disconnecting the head and see if communications come back for the remaining devices on that bus. If not, try again after disconnecting the interconnect board (the plug in the upper right corner of the photo in the article linked to above). This will help narrow down which board has the bus problem.