This device is in very good condition from what I can tell. The last print was December '23 before I got it. I can’t find anything wrong with it. Here are some photos:
I am looking for a way to capture diagnostic information locally or view the logs. Is this even remotely possible? I cannot for the life of me figure out what is wrong with it. I want to maybe just try replacing the cables, but I don’t want to risk breaking or removing something in the process if it wasn’t critical to touch in the first place.
Okay, I’ve found the posts in here about the log dump and I am seeing an i2c transfer issue. I am wondering if this IS often fixed with a new cable or if it requires a whole lot more effort. I am willing to do it, but I would love to hear from those who’ve gone this way before!
Excerpt:
025-05-07_09:58:27.29985 278347 ERROR: fused_temp: could not read interconnect temp sensor (src/sensor_task_peripherals.cpp:340)
2025-05-07_09:58:27.30419 278351 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.30422 278352 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.30853 278359 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.31323 278364 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.31766 278365 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.31768 278368 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.39090 278442 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.58996 278641 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.60174 278642 ERROR: head_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:27.60178 278652 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.60179 278652 ERROR: board_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:27.60616 278654 ERROR: Head I2C communication alert (src/hw_task_messages.cpp:333)
2025-05-07_09:58:27.61885 278670 ERROR: Board I2C communication alert (src/hw_task_messages.cpp:322)
2025-05-07_09:58:27.64094 278692 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:27.89101 278942 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.10331 279154 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.10334 279154 ERROR: head_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:28.10779 279155 ERROR: Head I2C communication alert (src/hw_task_messages.cpp:333)
2025-05-07_09:58:28.10781 279155 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.10783 279155 ERROR: board_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:28.10784 279156 ERROR: Board I2C communication alert (src/hw_task_messages.cpp:322)
2025-05-07_09:58:28.14087 279192 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.28154 279332 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.28157 279333 ERROR: ktm_peripheral: could not read board temperature sensor (src/ktm_peripheral.cpp:86)
2025-05-07_09:58:28.28610 279333 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.28613 279333 ERROR: ktm_peripheral: could not read head temperature sensor (src/ktm_peripheral.cpp:86)
2025-05-07_09:58:28.29049 279338 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.29052 279338 ERROR: ktm_peripheral: could not read interconnect temperature sensor (src/ktm_peripheral.cpp:86)
2025-05-07_09:58:28.29053 279339 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.29054 279341 ERROR: fused_temp: could not read board temp sensor (src/sensor_task_peripherals.cpp:340)
2025-05-07_09:58:28.29499 279342 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.29502 279342 ERROR: fused_temp: could not read head temp sensor (src/sensor_task_peripherals.cpp:340)
2025-05-07_09:58:28.29503 279343 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.29504 279346 ERROR: fused_temp: could not read interconnect temp sensor (src/sensor_task_peripherals.cpp:340)
2025-05-07_09:58:28.29945 279347 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.29948 279350 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.30562 279356 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.31007 279357 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.31009 279357 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.31010 279361 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.39070 279442 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.60388 279655 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.60828 279656 ERROR: head_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:28.61271 279664 ERROR: Head I2C communication alert (src/hw_task_messages.cpp:333)
2025-05-07_09:58:28.61719 279664 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.61721 279664 ERROR: board_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:28.61722 279665 ERROR: Board I2C communication alert (src/hw_task_messages.cpp:322)
2025-05-07_09:58:28.64036 279691 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:28.89054 279942 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.11525 280166 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.11528 280166 ERROR: head_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:29.11981 280167 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.11984 280167 ERROR: board_accel_axes: Reading of flags failed with error: 01 (src/accelerometer_axes.tpp:59)
2025-05-07_09:58:29.11986 280167 ERROR: Head I2C communication alert (src/hw_task_messages.cpp:333)
2025-05-07_09:58:29.11986 280167 ERROR: Board I2C communication alert (src/hw_task_messages.cpp:322)
2025-05-07_09:58:29.14097 280192 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x47 and 0x47 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.28168 280333 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1d and 0x1d (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.28171 280333 ERROR: ktm_peripheral: could not read board temperature sensor (src/ktm_peripheral.cpp:86)
2025-05-07_09:58:29.28626 280333 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x1e and 0x1e (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.28629 280333 ERROR: ktm_peripheral: could not read head temperature sensor (src/ktm_peripheral.cpp:86)
2025-05-07_09:58:29.29076 280338 ERROR: i2c_transfer: ioctl failed for i2c addr's 0x48 and 0x48 (11: Resource temporarily unavailable, src/i2c.cpp:29)
2025-05-07_09:58:29.29079 280338 ERROR: ktm_peripheral: could not read interconnect temperature sensor (src/ktm_peripheral.cpp:86)
My hunch would be that you have a short on the I2C bus somewhere, likely on the main board. There are 3 I2C busses. I do not recall which devices are on which, or if all the devices you are seeing failures for are on a common bus.
Hey! So I just replaced the white ribbon cable hoping it would just magic all my issues away, and it’s still scanning. I haven’t checked today’s logs yet. What should I be checking each of those points against? I’ve not done hardware troubleshooting in a while, and always sucked, anyways. Should I use my voltmeter and measure against ground with the positive lead on these points and verify they’re reading 5v or whatever they should be?
Hey, so I went ahead and checked for shorts across each SCL/SDA pair and got the following:
C6A - C6B: 3.17 KOhm
D2E - D3G: ~52 KOhm
B3A - B4H: 3.16 KOhm
You should be measuring resistance to ground from each of the pins in the list. Ground is any of the test points with a green circle around them.
If you find a short, something below a few hundred ohms, disconnect plugs from the board one-by-one, and see if the short goes away. If it doesn’t then the short is on the main board.
Thank you for responding and making this awesome guide to the pins in the first place, by the way!
I just measured them all to ground and they’re all between 2.19 and 4.2 kOhm.
Is the next step to measure on the other boards?
I just realized I messaged you on GitHub as well, was like wow what are the odds you’re both Scott. I was wondering if there would be any benefit to hooking up the UART to USB cable you’ve posted about to communicate with the device, or if it’s a dead-end. I’ve got everything I need to do so. I was wondering if I could change values or update the code or anything to get it to a known state and output errors as they occur or something. I was also wondering if a firmware update could potentially rectify anything. This thing hasn’t been used in a bit over a year from what I can tell.