Unable to retrieve SPARK firmware version and error 4 Message Not Found periodic status 0

All programs I deploy to our testing base throw some very similar variation of the following:

ERROR 5 [CAN SPARK] IDs: 26, unable to retrieve SPARK firmware version. Please verify the deviceID field matches the configured can id of the controller, and that the controller is connected to the can bus.

Then

ERROR 4 [CAN SPARK] IDs: 26, WPIlib or external hal error: can: message not found Periodic status 0

The IDs match and are nonzero and non overlapping. Firmware is up to date (2024.1.1 iirc). We are using can. When connected by USB and with robot powered on, I see all the sparkmaxes, which I take to mean they are all connected. We are using robotpy 2025.0.0b3.

Our code is at GitHub - aesatchien/FRC2429_2025: Python code for FRC 2429's 2025 robot(s)

Make sure that you install the newest rev hardware client and that the sparkmaxes have a firmware version compatible with the 2025 library. This is probably common to all major annual revisions. Your stated firmware version is probably not current for the 2025 revlib release.
This post tells you what to do (for now) to get the beta 2025 hardware client and firmware. It’ll be moot once they do an official release.

If you think it’s a firmware problem you could always boot the SparkMAX in recovery mode and re-image it.

  1. Power off the SparkMAX
  2. Hold down the mode button
  3. Plug into the REV hardware client via USB-C
  4. Wait for the REV hardware client to recognize the device
  5. Release the mode button
  6. Select the correct firmware and flash it to the SparkMAX

The official documentation from REV on recovery mode is here