As a fan of gadgets sometimes I get carried away and this time I bought a Neato XV-11 vacuum bot (which by the way works pretty good).
Now there seems to be a firmware upgrade for the device that I have to do under Windows. However I have a 2008 Macbook Pro, so I decided to use BootCamp.
To do the upgrade you need a mini usb cable and plug it into your robot. The update application will setup a serial connection to the robot, which is emulated under COM3 in my case.
This doesn't work because under Windows any serial connection with the device stalls after the first character that is send. I've tried it myself with Putty and Hyperterminal to setup a test serial connection (115200 baud). I want to type "help" which would list the robots commands, but only the "h" is echo-ed back to me.
If tried the same under OSX (with terminal and the screen command, /dev/ttsy.usbmodem662, same settings as in Windows) and everything works fine (I get the list of supported robot commands)!
After debugging with a serial communication monitor under Windows I saw that the connection is still open after the "h", but the device isn't sending anything after that. When I then disconnect the session, unplug the USB and plug it back in, I notice that the device suddenly reacts to all my previous commands. A bit as if it was buffered (I can only see this because of the serial logger).
I've tried XP SP3(x86) and Windows 7 (x64) with Bootcamp, Parallels and VMware Fusion. I've contacted their customer support, but I'm still waiting for a technical response.
Update - FrankenSerial workaround attempt:
In my desperate attempts to fix this I've tried to connect the device from within OSX via a pipe to VMWare. You can do this with a unix program called socat. It basically opens a read/write stream from /dev/ttsy.usbmodem662 to the VMWare's COM1 port. I managed to communicate with the device on COM1 through this solution. Unfortunately the firmware update tool first looks for a USB device called Neato XV-11 that is simulated under COM3. Switching Windows from COM1 to COM3 doesn't work neither (they probably enumerate the usb devices, so that they don't have to scan all COM ports).
Any clues what's going on?
Is this a known Windows problem (on Apple hw)?
Somehow the USB -> Serial emulation under Windows seems broken with my hardware?