I managed to flash the 2.1.4 firmware but it took some doing.
After multiple attempts upon returning from my trip, I couldn’t get the OS firmware updater to work properly on my Mac, or on the virtualbox VM (hosted on the same machine) due to issues with the USB serial port. The issue appears to be related to a problem with the CH341 driver for OSX Yosemite (downloaded from here: http://raysfiles.com/drivers/ch341ser_mac.zip as referenced in the firmware update instructions PDF: https://github.com/rayshobby/osFWUpdater/raw/master/Instructions.pdf). As with my earlier attempt using the IDE, the avrdude process spawned by osFWUpdater seemed to get stuck when attempting to communicate with the OS, and would only end if killed. The OS firmware updater binary is 64 bit and would not run on the VirtualBox VM. I also failed at getting it to compile on this VM due to what appear to be QT4 library incompatibilities.
I then attempted to use an old netbook running Ubuntu 14.04 LTS which I had previously attempted and failed at compiling the OS firmware on with the 1.0.5 Arduino IDE. Since this machine is also 32-bit, I had to re-compile the OS firmware updater, but also ran into issues compiling (see below). What ultimately ended up working was using avrdude that was included in the 1.0.5 Arduino IDE I had previously installed, and the firmware included in the OS firmware updater package for my hardware version as follows:
sudo avrdude -v -v -v -v -p atmega1284p -c arduino -P /dev/ttyUSB0 -b 115200 -U flash:w:Firmwares/OpenSprinkler_v2.3/firmware2.1.4.hex:i
I haven’t tried uploading the pre-2.1.4 firmware I compiled on my Mac/VM IDEs, but have a fairly high degree of confidence it would work.
The compile error for the OS firmware updater follows:
[email protected]:~/Downloads/Firmware-Updater-master/Source$ qmake
[email protected]:~/Downloads/Firmware-Updater-master/Source$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o mainwindow.o mainwindow.cpp
In file included from /usr/include/qt4/QtGui/QComboBox:1:0,
/usr/include/qt4/QtGui/qcombobox.h: In member function ‘void MainWindow::on_btnDetect_clicked()’:
/usr/include/qt4/QtGui/qcombobox.h:233:10: error: ‘void QComboBox::currentIndexChanged(int)’ is protected
void currentIndexChanged(int index);
mainwindow.cpp:51:66: error: within this context
make: *** [mainwindow.o] Error 1