Yup, if I had to guess what the non-existant source code is doing, I'd say it has a bug where it tries to open the .upgrade file as a serial port, rather than the actual serial port.

-ml