注释
|
它似乎不是 uart 驱动程序或板本身的问题,至少 |
|
尝试在 CNCjs 服务器命令行上使用 -vvv 记录所有 CNCjs 消息。 |
|
作品:
又一个连接断开,仍然有效:
几次,作品:
现在它死了:
我在没有多个浏览器魔法的情况下获得了重现,只需从一个浏览器窗口连接-断开连接。 我在 cncjs 进程上做了 strace,它显然是写(“$$”)到 /dev/ttyUSB0 FD。 |
|
我很快就要离开去参加 7 月 4 日的庆祝活动,所以我将无法在几个小时内与您详细合作。既然你似乎有很多调试技巧,我会给你一些探索的途径。
进一步调查此问题的一种方法是对 CH341 驱动程序进行一些内核级调试。我看到您可以使用 esptool 与驱动程序对话,但驱动程序仍然有可能以某种方式挂起,这只会影响 CNCjs 使用它的方式。
对不起,现在得走了。 |
|
呃,我真的很抱歉,我有另一个设备与 CH34x uart 连接,并将其与 esp32 混淆了。问题发生在 CP210x 上。我用正确的描述更新了原始帖子。 |
|
最后一个想法——来自 CH340 ESP32 的另一个问题报告与打开和关闭串行端口可能导致 ESP32 启用线上出现故障的假设一致,从而部分重置 ESP32 并使其进入奇怪的状态。该假设与您的结果一致。特别是,esptool 可以恢复它的事实可以解释为 esptool 显式地进行了完整的硬件重置,以便将 ESP32 置于引导加载程序模式。该重置涉及通过调制解调器控制信号控制某些线路,这些信号通过 ESP32 开发板上的交叉耦合锁存器。 |
|
围绕 nodejs serialport 的调试思想仍然适用,即使使用 CP2102。调试愉快。现在真的必须离开了。, |


请回答以下问题。
您使用的是什么版本的固件?Devt 的 0469e7b,带有
spi_daisy_4axis_xyz
的master 的 spi_daisy_4axis_xyz fc6926d
问题是否可重复?
是的
什么情况下会出现bug?
raspberry pi, 4.19.66-v7+, esp32 with:
Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART 桥接控制器 [CP210x 系列]
我尝试在不使用 cncjs 的情况下使用 重现它,但
screen /dev/ttyUSB0未能获得清晰的重现。我试图将多个 FD 生成到 TTY,但问题出在其他地方。使用 CNCJS,它相对容易重现并使其完全无法使用。打开浏览器 1,对 /dev/ttyUSB0
进行“连接” 打开浏览器 2,对 /dev/ttyUSB0 进行“连接”
打开浏览器 1,对 /dev/ttyUSB0 进行“断开连接”
打开浏览器 2,对 /dev 进行“连接” /ttyUSB0
打开浏览器 1,对 /dev/ttyUSB0 进行“连接”
这样做几次后,您将得到 noop /dev/ttyUSB0,直到您按下 ESP32 上的重置按钮,它才会恢复。
您可以附加到此 /dev/ttyUSB0 但它不会响应任何命令。当点击重置时,它会喷出正常的启动信息。
不行
echo '[ESP444]RESTART' > /dev/ttyUSB0,只能物理重置。