Up until yesterday I was successfully running Digi’s X-CTU application (which is a Windows app) using Wine on an Ubuntu VM. This is not a very nice app, but it is the only official way to update firmware on XBee modules. In fact, it’s the only way I know of to update the firmware on an XBee. Although I have a Windows VM that I can boot up, it always seems like a big hassle when I just want to reconfigure an XBee module. Had I realized what a hassle this was going to be I might not have chosen XBee modules.
So yesterday I had two new XBee modules that I wanted to configure. These new modules had a newer version 10E6 of the firmware on them from the factory. X-CTU recognized the modules were connected but complained when it could not find a configuration file for that firmware version. I let it try to update from the Digi site, but it returned an error saying that the server was busy. That was odd. I downloaded the 10E6 firmware zip from the update site (working fine for me!) and told X-CTU to update from the file, which it was happy to do. But it still complained that it did not have the 10E6 files. I booted up the Windows VM and everything went swimmingly. The software was able to download updates from the Digi site and it had no problems with the 10E6 firmware.
I think the problem is that the firmware files say that the firmware version is 10e6 rather than 10E6. On Windows, this is not a problem, but on Linux the file system does not like this difference. Of course, the software is not meant to run on Linux and Digi emphatically states that they don’t support the software on anything other than Windows.
Now I’d like to see if running on a case-insensitive file system would fix the Wine problem.