Updating Ansible firmware

HELP! Could use some community support as I’m totally stumped as to why either one of my two separate Ansible units won’t update to the latest firmware when I check the ansible-preset.json file

I’m trying to make sure both units have v3.1.1 released on Jun 3rd but it doesn’t look like the firmware update is sticking when I check it. Followed the Windows guide from Monome.org and download the dfu-programmer binary from dfu-programmer.github.io, connected the USB A-A cable - it recognized the unit etc.

After seeming going though the firmware update successfully, was able to do the USB thumb drive with FAT32 technique and read the generated ansible-preset.json file made by the Ansible itself (tried this several times on the two different Ansible units and they both seem stuck on an older firmware). What I’m continually seeing in the ansible-preset.json file is “version”: “v3.0.0-685ae97-dirty”. Wonder if it shipped with some early iteration of Firmware V3.0 since I ordered it around June, 2019. Not too sure what dirty means in the version name but maybe the same kind of thing as beta? It looks like ansible firmware 3.0 was officially released Apr 22, 2020…

Downloaded ansible-3.1.1.zip from Releases · monome/ansible · GitHub. Device manager is able to see the AT32UC3B device and it didn’t recognize a driver at first. I followed the instructions at modular firmware updates | monome/docs to navigate to the folder where dfu-programmer was located and it then found the new driver there and installed it. The warning icon next to the device disappeared in the Device Manager and it now shows up under the the Amtel USB Devices section.

Working with Windows 10 Pro - attaching what I see with command prompt - does not look to be showing any errors (at least to me), maybe I’m missing something glaring here. Have been trying to troubleshoot this for several hours now without any luck - any help would be much appreciated!

More than likely this just means something is not quite right with the way this version information gets embedded into the firmware. All that -dirty means is that Git version control thinks “the working tree is dirty”, meaning there are uncommitted changes. This can happen for a number of reasons which basically come down to a minor issue with the build process that generally should not have any impact on module operation, it just means that unfortunately this version information in the JSON file may not be reliable.

Your output from dfu-programmer looks fine, your module is probably running the firmware you downloaded. The surest way to confirm this is to look for features that were newly added in that firmware version and confirm that you can access them.