I was trying to update the SparkMax motor controllers we have to 1.5.1. The Client asks us to go into Recovery Mode and press “Scan Bus”. However. on the version of Client we use, the latest version 2.1.1, the button for “Scan Bus” doesn’t appear, and if I press “Load Firmware,” it says it successfully updated but doesn’t update the firmware after I check the firmware version after I exit to the normal mode. How can I correctly do this?
We had issues updating to 1.5.1 last night, following the process outlined here let us update the spark maxes one by one. There is notably no direction for “Scan Bus”, closest is “Rescan”.
Version 2.1.1 of the client doesn’t have “Scan Bus” anymore, the"Rescan" button in the top bar now also refreshed devices seen in the Network tab. You shouldn’t need to update devices one by one in Recovery Mode, once one is on 1.5.0 or later and your devices are all on the same CAN Bus. You should be able to see them all in the Network tab.
Do all devices need to be in recovery mode for them to appear in the Network tab? When we were doing this yesterday, none of the others showed up, but we also put them in Recovery one by one.
Edit: We didn’t see them because we had totally powered the robot off to disconnect power from all of the controllers per the recovery instructions, so the other devices didn’t have power when connecting one by one. That’d be why for sure.
So long as devices are powered and on the same CAN Bus, you should be able to see them in the Network tab, regardless of the firmware they are running (so long as the device you are connected to via USB-C is running firmware v1.5.0 or later). Devices in Recovery Mode will also show up in the Network tab but only when connected over USB-C.
Right. Our firmware was from last year (version 1.0.43) so it has to go in recovery mode to update the firmware. I just don’t understand why it went back to the previous firmware version after it said it successfully updated the firmware. We tried it many times, and magically, it works once after doing so for like 20~ times. Is there a better way to improve consistency?
We know the process from going from the oldest firmware is not as smooth as we would like in the new client. It works, but there are some windows driver things that are a challenge. This is something that we are still working to improve, but at the point that everything is at 1.4 of above those issues all go away.
An easy method is to update firmware on the controllers with the old client before you update the client. This is a fool proof method.
The issue is caused by changing the way that we implement the usb connection prior to 1.4, which is related to getting the usb can bridge working.
If you have any issues, you can always reach out to us, and we will continue to work on making the user experience easier.
Greg, do you have a more explicit set of these instructions to use the old client anywhere? I am a befuddled mechanical engineer, trying to bring up spark maxes we bought last year, have the same symptoms and need a little bit more detail then 1 sentence on Chief to figure out what to do. (I also emailed your support yesterday, maybe they have a nice PDF already)
We struggled for a few days with one of our 18 SparkMax controllers trying to get it to the latest firmware. Rev support was fantastic in helping us out.
The bottom line was … the included USB-C cable was flaky!!
Motivated by a post here on CD, I tried a different USB-C cable and had success updating to the latest firmware using the 2.1.1 client on the very first try!!
Sure, no problem (that was the best I could do from my phone).
The version of the firmware you have on your MAX is the oldest one out there, it shipped with the first batch of controllers. Unfortunately this means that each one needs to be updated through DFU mode for each MAX. This video https://www.youtube.com/watch?v=Rqy5ME1NJQk goes through that process step by step. Download the old version of the client here http://www.revrobotics.com/content/sw/max/client/spark-max-client-setup-1.0.0.exe
The only change I would make to this process is to directly install firmware 1.5.1 when you select a firmware file. You can download that firmware from here https://www.revrobotics.com/content/sw/max/firmware/SPARK-MAX-FW-v1.5.1.dfu
You will see a message that it was successfully installed, but the old client won’t be able to connect to them. Once you do all your max, update your client to the latest version and you will be good to go. The new client is here http://www.revrobotics.com/content/sw/max/client/spark-max-client-setup-2.1.1.exe
All of below has been checked against 3 different USBC cables (stock orange, random grey, Pixel brand. TL;DR
Tried following instructions to 1.5.1 using Recovery mode and 1.0 client… still failed.
Pulled the 1.4.0 firmware down by editing the URL myself (couldn’t find a direct link)
Had to use “Show Hidden Items” in the Windows Explorer in order to move the firmware from my Downloads folder into the folder that the Client 1.0.0 pulls firmware from
(I moved the 1.5.1 back to my Downloads folder, because I don’t know what 1.0 Client will do if it sees multiple firmwares.)
I then restarted the Client so it would grab the 1.4 firmware. But… At this point the 1.0 client stopped recognizing/connecting to the SparkMax. I have re-installed the 1.0 client from the .exe, and tried both USB-C cables. So back to Client 2.1.1. Good news(?), it reconnected.
At least this time it realized it failed?
Attempted from recovery mode directly to 1.5.1
Attempted from “device not configured” to 1.4.0, failed & suggested recovery mode
Attmempted from recovery mode to 1.4.0 on Client 2.1.1 AND THANK THE LORD
1.4.0 to 1.5.1 was… not smooth. I had it at 1.4.0 and, tried the normal device firmware update, then this happened: we’re back to “not configured”
Tried going directly to 1.5.1 from here, using manual recovery mode on the 2.1.1 client.
And we’re back to Device is Not Configured
OK, deep breath. Disconnecting & going back to the 1.0 Client.
Reinstalling 1.0 is painless, but I can’t see the controller. I guess this is a good thing?
Back to 2.1.1 and I can see the controller again. Still “needs configuration”. Doesn’t successfully update to 1.5.1 in standard mode.
Thinks it updates to 1.5.1 in manual DFU recovery mode
Shows “needs configuration” afterwards
Figured I might as well try the 1.0 client again.
Still doesn’t connect, but I found out that even if the device is not showing as “connected” in the top bar, I can still initiate a firmware update to 1.5.1, that the 1.0 Client believes is successful. The client doesn’t connect afterward.
Back to 2.1.1!
Connects (good news), thinks isn’t configured (bad news)
It took me a bit to realize, not configured just means it still has the default of can id 0. If you go and change the Id of the device to not be 0, it will be configured. I don’t know if that’s on the docs page, but it’s what I was able to figure out.
…that’s rad. Thank you for reading through all my screenshots!
AND IT FREAKIN WORKS
Yeah, I think it’s confusing that the firmware says not configured in that case. Really needs another tab, or to show that message in the can id window.
Making this more obvious is on our improvement list. It does flag the CAN ID field in the Basic tab, but we should also flag it on the Network list.
@s-neff, apologies that it took so long to get you up and running. Seeing the “not configured” screenshot made it click, @Thad_House beat me to it. Now that you’re up I suspect things will go a lot smoother.
(The Neo550 has SO MUCH POWER! Love this little beast!!)
Related, I couldn’t update the CAN ID before I updated the firmware (some kind of failed call idk if I got a screenshot), so I didn’t think that it was possible to update the CAN ID and clear the error… until I had the firmware working. Which it didn’t look like, because I was misinterpreting the CAN ID error!
Thank you everyone! Deeply appreciate both Rev’s weekend factory support and Thad chiming in with the bits I missed
EDIT: I think it’s possible I was already at 1.5.1 partway through my first screenshot in the long post, and then when I hit “continue” in the Client 1.0 Firmware Update pane, it couldn’t find the SparkMax anymore and I got sad and went down the rabbit hole immediately - where I could have hopped back into Client 2.1.1 and maybe set the CANID and been done?
Yep. As soon as you updated the firmware the older client couldn’t make a connection to the new firmware USB device.
Thx so much for the help!
We had a similar issue today. We just got our SPARKs today and I was attempting to update them from FW version 1.4.0 to 1.5.1. When I tried updating the firmware, it failed and suggested recovery mode. I followed the instructions on the REV website for putting the MC in recovery mode, but the client software never seems to be able to detect the SPARK MAX (the LED indicator isn’t on as expected, and I know the PC has detected the MC). No matter how I push the rescan button it just can’t find any MCs in recovery mode.
I have tried restarting numerous times but I was never able to upload the firmware correctly or detect the device in recovery mode. Also, often the error message “SPARK MAX server network issue: check that the backend server is running or restart the program” just randomly shows up, and restarting the client doesn’t always fix it, so I had to restart my computer to get rid of it.
I will try to do it again with my computer tomorrow, and also try it on a different machine, but meanwhile does anyone know how I can fix it?