将内核升级到 5.4.0-88-generic 后,CH340G USB/串行转换器停止与 Espressif esptool 通信

将内核升级到 5.4.0-88-generic 后,CH340G USB/串行转换器停止与 Espressif esptool 通信

升级到新内核 5.4.0-88-generic 后,使用芯片 CH340G(USB 串行转换器)的 ESP266 开发板停止与我的 ubuntu 20.04 Dell 笔记本电脑上的 Espressif 闪存工具“esptool”通信。该工具是用 Python 编写的,旨在在命令行上运行。我通过将 grub 更改为在 5.4.0-86 上启动暂时解决了该问题,但如果此故障在下一次内核升级时继续存在,则会出现问题。我编写了一个简单的代码来使用简单的串行终端(moserial)测试 USB/串行直接通信,在这种情况下,CH340G 芯片似乎在两个方向上都能正常工作,所以我猜测 Python 在新内核中访问芯片驱动程序存在问题。我不知道在哪里报告内核问题,所以我决定在这个论坛中提到这个问题。如果这不是正确的地方,我将不胜感激,如果你们中的一些人能告诉我向适当渠道报告此问题的最佳方式是什么。

答案1

我遇到了相同的内核和相同的问题。

我可以使用双启动便携式计算机上的 Windows 对芯片进行编程,也可以从 Ubuntu 19.04 对其进行编程。

更新后无法对其进行编程。芯片已被识别,我可以与串行接口通信,但无法进入编程模式。

将 CH341 模块恢复为内核版本 5.4.0-86 中的模块也可以。

只需卸载模块:

modprobe -r ch341

重命名原始名称:

mv /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko.ori

然后从以前的内核中获取一个(希望你仍然有它)

cp /lib/modules/5.4.0-86-generic/kernel/drivers/usb/serial/ch341.ko /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko

最后:

modprobe ch341

现在您就可以刷新芯片了。

答案2

谢谢!正如我提到的,我暂时将内核降级到 5.4.0-86,并等待看下一版本中问题是否得到解决,但部分采纳了您的非常好的建议,我将有效的 CH341 驱动程序从 /lib/modules/5.4.0-86-generic/kernel/drivers/usb/serial 复制到 home,以防故障在下一内核中继续存在。

相关内容