Used Device stuck on Scanning

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.

Thanks in advance!!

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.

Check these test points for shorts:

Description Test Point
I2C1_SCL C6B
I2C1_SDA C6A
I2C2_SCL D2E
I2C2_SDA D3G
I2C4_SCL B3A
I2C4_SDA B4H

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?

I just checked the logs for today and I’m getting the same errors.

r0/git/src/hw_task_messages.cpp:400)
2025-01-28_23:11:49.54065     700436 ERROR: board_accel_axes: Reading of flags failed with error: 01 (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/accelerometer_axes_peripheral.tpp:65)
2025-01-28_23:11:49.54564     700437 ERROR: Board I2C communication alert (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/hw_task_messages.cpp:389)
2025-01-28_23:11:49.65921     700555 ERROR: fused_temp: could not read board temp sensor (suppressing all further errors) (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/sensor_task_peripherals.cpp:342)
2025-01-28_23:11:50.05075     700946 ERROR: head_accel_axes: Reading of flags failed with error: 01 (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/accelerometer_axes_peripheral.tpp:65)
2025-01-28_23:11:50.05618     700947 ERROR: Head I2C communication alert (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/hw_task_messages.cpp:400)
2025-01-28_23:11:50.05621     700951 ERROR: board_accel_axes: Reading of flags failed with error: 01 (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/accelerometer_axes_peripheral.tpp:65)
2025-01-28_23:11:50.05622     700951 ERROR: Board I2C communication alert (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/hw_task_messages.cpp:389)
2025-01-28_23:11:50.55042     701446 ERROR: head_accel_axes: Reading of flags failed with error: 01 (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/accelerometer_axes_peripheral.tpp:65)
2025-01-28_23:11:50.55641     701447 ERROR: Head I2C communication alert (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/hw_task_messages.cpp:400)
2025-01-28_23:11:50.55643     701451 ERROR: board_accel_axes: Reading of flags failed with error: 01 (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/accelerometer_axes_peripheral.tpp:65)
2025-01-28_23:11:50.55644     701452 ERROR: Board I2C communication alert (/usr/src/debug/glowforge-app-production/0.1-gitAUTOINC+f9eb63c036-r0/git/src/hw_task_messages.cpp:389)

So I think you’re right and that cable was likely a waste of time/money haha. Now to the next step. So what should I be measuring specifically?

Thank you in advance!

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

These seem like reasonable values, right?

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.

1 Like

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.