作为小工具的粉丝,有时我会沉迷其中,这次我买了一个 Neato XV-11 真空吸尘器(顺便说一下,它效果非常好)。
现在似乎需要在 Windows 下对设备进行固件升级。但是我有一台 2008 年的 Macbook Pro,所以我决定使用 BootCamp。
要进行升级,您需要一根迷你 USB 电缆并将其插入机器人。更新应用程序将设置与机器人的串行连接,在我的情况下,该连接在 COM3 下模拟。
这不起作用,因为在 Windows 下,与设备的任何串行连接在发送第一个字符后都会停止。我自己尝试使用 Putty 和 Hyperterminal 设置测试串行连接(115200 波特)。我想输入“help”来列出机器人命令,但只有“h”被回显给我。
如果在 OSX 下尝试相同操作(使用终端和屏幕命令、/dev/ttsy.usbmodem662,与 Windows 中的设置相同)并且一切正常(我获得了支持的机器人命令列表)!
在 Windows 下使用串行通信监视器进行调试后,我发现在“h”之后连接仍处于打开状态,但此后设备没有发送任何内容。当我断开会话、拔下 USB 并重新插入时,我注意到设备突然对我之前的所有命令做出反应。有点像是缓冲了一样(我只能通过串行记录器看到这一点)。
我尝试过 XP SP3(x86) 和 Windows 7 (x64) 以及 Bootcamp、Parallels 和 VMware Fusion。我联系了他们的客户支持,但仍在等待技术回复。
更新-FrankenSerial解决方法尝试:
为了解决这个问题,我拼命尝试通过管道将设备从 OSX 连接到 VMWare。您可以使用名为 socat 的 unix 程序执行此操作。它基本上打开从 /dev/ttsy.usbmodem662 到 VMWare 的 COM1 端口的读/写流。我设法通过此解决方案与 COM1 上的设备进行通信。不幸的是,固件更新工具首先查找在 COM3 下模拟的名为 Neato XV-11 的 USB 设备。将 Windows 从 COM1 切换到 COM3 也不起作用(它们可能会枚举 USB 设备,这样它们就不必扫描所有 COM 端口)。
有什么线索可以知道发生了什么吗?
这是已知的 Windows 问题吗(在 Apple 硬件上)?
Windows 下的 USB -> 串行仿真似乎与我的硬件不兼容?