Updating modular firmware

Making the topic generic enough so it can be used for anything modular firmware update related but mostly wanted to share my experience with Windows 8 in case anybody else runs into similar issues.

I tried it with a regular (not “transfer”) USB3 A-A cable first, and that didn’t work. What happened is Windows wouldn’t recognize a new device was connected, so it wouldn’t install drivers and dfu programmer would report “no device present”. I had to switch to USB2 cable and that worked. I also had to update the driver. Here are the steps:

  • Install dfu-programmer from this link: http://dfu-programmer.github.io/ - for Windows there are precompiled binaries so no need to build it yourself.

  • Hold down the front panel button and power up the module. At this point Windows should say a new device was detected and it’s installing drivers for it.

  • Right click on the Start button (or whatever the hell it’s called now), you should get an old style menu with Device Manager as one of the choices. Open it.

  • There should be a new category “Atmel USB Devices” (you might need to select View | Show hidden devices) with AT32UC3B device. If there is a warning icon next to it you need to update the driver - right click and select “Update Driver Software”, then “Browse my computer for driver software”. Navigate to the folder where you installed dfu-programmer, it should find a new driver there, install it. If everything installs okay the warning icon next to the device should disappear.

  • Copy the firmware hex file to your dfu-programmer folder.

  • Run cmd as Administrator (not sure it matters but best to anyway), cd to the dfu-programmer folder and execute the following (replace whiltewhale.hex with whatever firmware you’re updating):

    dfu-programmer at32uc3b0256 erase
    dfu-programmer at32uc3b0256 flash whitewhale.hex --suppress-bootloader-mem
    dfu-programmer at32uc3b0256 start

That’s it!

1 Like

thank you for posting this! i’m perplexed by the wiring difference between USB3 and USB2 for A-A as i haven’t tested it myself. very good to know about the driver detection. this is an extra step compared to the mac and linux procedure.

Yeah, weird about USB3 - I assumed the wiring would be the same, maybe better shield (?) or something like that but strange it would prevent Windows from being able to see the device. It’s possible though that my USB3 cable was busted - unfortunately didn’t have anything else to test it with… Also would be interesting to see if a USB3 cable would work after the drivers were installed, but I returned the cable, so can’t try that either…

FWIW: I was having the same problem on MacOS. Solved it by unplugging the USB cable from the Mac and then doing the power-on-while-holding-the-panel-button routine.

Sorry for reviving an old thead… does anybody know where I can get a USB A-A cable in EU? Also what does “transfer” and not “transfer” cable mean?
Would something like this work?

There’s not a more convenient way to update the firmware on the Teletype (which I might have missed) is there?

That cable should work fine (I’ve never heard of a “transfer” cable before this thread, not sure what that is).

i think “transfer” just means an A-A cable (as opposed to a much more widespread A-B).

also i couldn’t update with a USB3 cable - not sure if this was just a bad cable or if USB3 itself is not compatible…

@jasonw22 thanks!
@scanner_darkly: I’ll keep that in mind! Thanks!

A transfer USB A-A cable is used for copying files between computers. They’re uncommon, but if the description mentions copying files between Windows computers then it’s a ‘transfer’ cable.

To update the firmware, you still need an A-A cable, just non-transfer. @papernoise if you’re in the UK, this is the cable I bought last year, though as @jasonw22 says, the cable from eBay looks fine too.

1 Like

thanks for the additional info! things are starting to get clearer. I’m in Italy not in the UK, but most of the cables I could find were coming from there. anyway I bought one let’s hope for it to be a good one.

btw. FR for V3.0: add a bootloader that can update the firmware from the USB stick, or even better: use Mutable’s “update via audio file” code! it’s open source and works like a charm.

I tend to search on https://www.lindy.co.uk/ for USB /cables/converters. they do a good deal on DACs and ADCs.

DAC - digital converter & Headhpone amp for music streaming
ADC - adding two channels to my audio interface via SPDIF

nothing that would worry the HiFi purists, but I’d prefer to buy from Lindy, than a nameless ebay source.

I should have thought of that myself.
I often buy Lindy stuff… and it always worked well.
Well… if the cheapo thing I’ve ordered from ebay doesn’t work, I know where I’ll look next.

I can confirm that the cheapo USB A-A cable worked fine. But going back I’d get one from Lindy, just because you never know and they don’t cost much more.

Firmware update was a bit more annoying than expected. But mostly because a) I don’t have homebrew and wouldn’t know why I’d need that and b) I don’t like the idea of installing the Xcode command line utilities, which copies files all over the place and is hard to uninstall, and again… wouldn’t know why I’d want those. But to be honest I mainly gave up on OSX here because downloading the command line utilities was taking ages (the internet here is horrible).
Unexpectedly, again, updating the firmware on Windows was totally easy (good I have a Windows machine here).

For future updates I’ll try linux. I just forgot to take my linux laptop with me this time.

Anyway, updated to 2.0 R1 and everything is fine now!

sorry to correct you here, but installing and uninstalling command line tools is a one-liner these days, no need for the whole xcode package.


$ xcode-select --install


$ sudo rm -rf /Library/Developer/CommandLineTools

I agree installing homebrew could be problematic in certain cases (when another packet manager is installed). But then again, afterwards it’s also a one-liner to install the binaries for dfu-programmer, which is pretty convenient.

Wasn’t saying it is complicated or problematic. Installing the command line tools requires a package to be downloaded. Which is what held me up, but just because of the slow internet. I didn’t even try to install all of xcode.
Also I didn’t know that uninstalling was easy, I did some research on the webs, and everybody seemed to agree on the fact that you need to remove all the files manually and that it installed stuff all over the place, so it’s not just a matter of deleting one folder. But again, the reason I don’t need this is because I’m not a developer and I don’t really understand much of programming, so I’m really not the expert here :slight_smile:

Installing homebrew seemed really easy and it went smooth up to the point where it would try to download the command line tools (so it’s all related to the problem above). Also, it’s not that it was problematic, it’s mostly that I never needed it and will probably not need it in the future, and less stuff I have installed all the better (ok, it’s mostly me obsessing about keeping my computer uncluttered, with as little installed as possible).

But thanks for the help! Maybe I’ll need it in the future, who knows.